helm_schema_cli/cli/chart_args.rs
1use std::path::PathBuf;
2
3use clap::Args;
4
5/// Chart discovery, values composition, and requiredness options.
6#[derive(Args, Debug, Clone)]
7pub struct ChartArgs {
8 /// Excludes chart test templates from analysis.
9 #[arg(long)]
10 pub exclude_tests: bool,
11
12 /// Omits dependency values beneath their subchart keys.
13 #[arg(long)]
14 pub no_subchart_values: bool,
15
16 /// Additional values files whose comments should be layered into
17 /// schema descriptions. These files are documentation metadata only
18 /// and do not contribute type hints or accepted value paths.
19 #[arg(short = 'f', long = "values", value_name = "VALUES_FILE")]
20 pub values_files: Vec<PathBuf>,
21
22 /// Mark paths used in unconditional template guards
23 /// (`if .Values.X`/`eq .Values.X "..."` with no enclosing guard) as
24 /// `required` on their parent object. Paths reachable via any
25 /// `default <expr> .Values.X` fallback are excluded — the fallback
26 /// expression can be a literal (`default "x" .Values.X`), an
27 /// identifier (`default .Chart.Name .Values.X`), or a parenthesized
28 /// expression (`default (printf "%s" .Y) .Values.X`).
29 #[arg(long)]
30 pub infer_required: bool,
31}