Skip to content

Commit f10eb01

Browse files
committed
fix: document missing capture help flags
1 parent f054056 commit f10eb01

2 files changed

Lines changed: 48 additions & 7 deletions

File tree

crates/dsview-cli/src/main.rs

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,21 +71,42 @@ struct ListArgs {
7171
struct OpenArgs {
7272
#[command(flatten)]
7373
runtime: SharedRuntimeArgs,
74-
#[arg(long, value_name = "HANDLE")]
74+
#[arg(
75+
long,
76+
value_name = "HANDLE",
77+
help = "Selection handle returned by `devices list`"
78+
)]
7579
handle: u64,
7680
}
7781

7882
#[derive(Args, Debug)]
7983
struct CaptureArgs {
8084
#[command(flatten)]
8185
runtime: SharedRuntimeArgs,
82-
#[arg(long, value_name = "HANDLE")]
86+
#[arg(
87+
long,
88+
value_name = "HANDLE",
89+
help = "Selection handle returned by `devices list`"
90+
)]
8391
handle: u64,
84-
#[arg(long = "sample-rate-hz", value_name = "HZ")]
92+
#[arg(
93+
long = "sample-rate-hz",
94+
value_name = "HZ",
95+
help = "Requested capture sample rate in hertz"
96+
)]
8597
sample_rate_hz: u64,
86-
#[arg(long = "sample-limit", value_name = "SAMPLES")]
98+
#[arg(
99+
long = "sample-limit",
100+
value_name = "SAMPLES",
101+
help = "Requested sample count before the finite capture stops"
102+
)]
87103
sample_limit: u64,
88-
#[arg(long = "channels", value_delimiter = ',', value_name = "IDX[,IDX...]")]
104+
#[arg(
105+
long = "channels",
106+
value_delimiter = ',',
107+
value_name = "IDX[,IDX...]",
108+
help = "Comma-separated logic channel indexes to enable, for example 0,1,2,3"
109+
)]
89110
channels: Vec<u16>,
90111
#[arg(
91112
long = "output",
@@ -99,9 +120,17 @@ struct CaptureArgs {
99120
help = "Optional metadata JSON path; defaults to the VCD path with a .json extension"
100121
)]
101122
metadata_output: Option<PathBuf>,
102-
#[arg(long = "wait-timeout-ms", default_value_t = 10_000)]
123+
#[arg(
124+
long = "wait-timeout-ms",
125+
default_value_t = 10_000,
126+
help = "Maximum time to wait for capture completion before aborting"
127+
)]
103128
wait_timeout_ms: u64,
104-
#[arg(long = "poll-interval-ms", default_value_t = 50)]
129+
#[arg(
130+
long = "poll-interval-ms",
131+
default_value_t = 50,
132+
help = "Polling interval for checking capture progress while waiting"
133+
)]
105134
poll_interval_ms: u64,
106135
}
107136

crates/dsview-cli/tests/capture_cli.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,20 @@ fn capture_help_mentions_bundled_resource_override_and_artifact_controls() {
1414
.success()
1515
.stdout(predicate::str::contains("--resource-dir <PATH>"))
1616
.stdout(predicate::str::contains("bundled resources are used by default"))
17+
.stdout(predicate::str::contains("--handle <HANDLE>"))
18+
.stdout(predicate::str::contains("Selection handle returned by `devices list`"))
19+
.stdout(predicate::str::contains("--sample-rate-hz <HZ>"))
20+
.stdout(predicate::str::contains("Requested capture sample rate in hertz"))
21+
.stdout(predicate::str::contains("--sample-limit <SAMPLES>"))
22+
.stdout(predicate::str::contains("Requested sample count before the finite capture stops"))
23+
.stdout(predicate::str::contains("--channels <IDX[,IDX...]>"))
24+
.stdout(predicate::str::contains("Comma-separated logic channel indexes to enable"))
1725
.stdout(predicate::str::contains("--output <PATH>"))
1826
.stdout(predicate::str::contains("--metadata-output <PATH>"))
27+
.stdout(predicate::str::contains("--wait-timeout-ms <WAIT_TIMEOUT_MS>"))
28+
.stdout(predicate::str::contains("Maximum time to wait for capture completion before aborting"))
29+
.stdout(predicate::str::contains("--poll-interval-ms <POLL_INTERVAL_MS>"))
30+
.stdout(predicate::str::contains("Polling interval for checking capture progress while waiting"))
1931
.stdout(predicate::str::contains("json is stable for automation"))
2032
.stdout(predicate::str::contains("must end with .vcd"))
2133
.stdout(predicate::str::contains("defaults to the VCD path with a .json extension"))

0 commit comments

Comments
 (0)