Skip to main content

driver_tools/subcommands/doctor/
args.rs

1// Copyright 2026 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5use argh::{ArgsInfo, FromArgs};
6
7#[derive(ArgsInfo, FromArgs, Debug, PartialEq)]
8#[argh(subcommand, name = "doctor", description = "Diagnose driver binding issues")]
9pub struct DoctorCommand {
10    /// URL or a substring of the URL of the driver to diagnose. The command will fail if multiple drivers match.
11    #[argh(option)]
12    pub driver: Option<String>,
13
14    /// moniker of the node to diagnose.
15    #[argh(option)]
16    pub node: Option<String>,
17
18    /// if this exists, the user will be prompted for a component to select.
19    #[argh(switch, short = 's', long = "select")]
20    pub select: bool,
21
22    /// name of the composite node spec to diagnose.
23    #[argh(option)]
24    pub composite_node_spec: Option<String>,
25}