apple_code_assistant/cli/
parser.rs1use clap::Parser;
4
5#[derive(Parser, Debug)]
6#[command(name = "apple-code")]
7#[command(version, about = "Apple Code Assistant - Generate code using Apple Foundation Models")]
8pub struct Args {
9 #[arg(short, long)]
11 pub prompt: Option<String>,
12
13 #[arg(short, long)]
15 pub language: Option<String>,
16
17 #[arg(short, long)]
19 pub output: Option<String>,
20
21 #[arg(short, long)]
23 pub interactive: bool,
24
25 #[arg(short, long)]
27 pub config: Option<String>,
28
29 #[arg(short, long)]
31 pub model: Option<String>,
32
33 #[arg(short = 'T', long)]
35 pub template: Option<String>,
36
37 #[arg(short, long, default_value = "0.7")]
39 pub temperature: f32,
40
41 #[arg(long, default_value = "4000")]
43 pub max_tokens: u32,
44
45 #[arg(long)]
47 pub char_limit: Option<usize>,
48
49 #[arg(short, long)]
51 pub save: bool,
52
53 #[arg(long)]
55 pub copy: bool,
56
57 #[arg(long)]
59 pub preview: bool,
60
61 #[arg(short, long)]
63 pub edit: Option<String>,
64
65 #[arg(long)]
67 pub context: Option<String>,
68
69 #[arg(long = "context-glob")]
71 pub context_glob: Vec<String>,
72
73 #[arg(long, default_value = "dark")]
75 pub theme: String,
76
77 #[arg(long)]
79 pub no_color: bool,
80
81 #[arg(long)]
83 pub verbose: bool,
84
85 #[arg(long)]
87 pub debug: bool,
88
89 #[arg(short = 'e', long)]
91 pub extend_conversation: bool,
92
93 #[arg(short = 'r', long)]
95 pub repeat_input: bool,
96
97 #[arg(long)]
99 pub tool_mode: bool,
100
101 #[command(subcommand)]
102 pub subcommand: Option<Subcommand>,
103}
104
105#[derive(clap::Subcommand, Debug)]
106pub enum Subcommand {
107 Config {
109 #[arg(long)]
111 set: Option<String>,
112 #[arg(long)]
114 get: Option<String>,
115 #[arg(long)]
117 list: bool,
118 #[arg(long)]
120 reset: bool,
121 },
122 Models,
124 Languages,
126 Test,
128}