@@ -134,29 +134,41 @@ enum Commands {
134134 action : Option < ConfigAction > ,
135135 } ,
136136
137- /// Install vgrep integration for Claude Code
138- InstallClaudeCode ,
139-
140- /// Uninstall vgrep from Claude Code
141- UninstallClaudeCode ,
142-
143- /// Install vgrep integration for OpenCode
144- InstallOpencode ,
145-
146- /// Uninstall vgrep from OpenCode
147- UninstallOpencode ,
148-
149- /// Install vgrep integration for Codex
150- InstallCodex ,
137+ /// Install vgrep integration for coding agents
138+ Install {
139+ #[ command( subcommand) ]
140+ agent : InstallAgent ,
141+ } ,
151142
152- /// Uninstall vgrep from Codex
153- UninstallCodex ,
143+ /// Uninstall vgrep integration from coding agents
144+ Uninstall {
145+ #[ command( subcommand) ]
146+ agent : UninstallAgent ,
147+ } ,
148+ }
154149
155- /// Install vgrep integration for Factory Droid
156- InstallDroid ,
150+ #[ derive( Subcommand ) ]
151+ enum InstallAgent {
152+ /// Install for Claude Code
153+ ClaudeCode ,
154+ /// Install for OpenCode
155+ Opencode ,
156+ /// Install for Codex
157+ Codex ,
158+ /// Install for Factory Droid
159+ Droid ,
160+ }
157161
158- /// Uninstall vgrep from Factory Droid
159- UninstallDroid ,
162+ #[ derive( Subcommand ) ]
163+ enum UninstallAgent {
164+ /// Uninstall from Claude Code
165+ ClaudeCode ,
166+ /// Uninstall from OpenCode
167+ Opencode ,
168+ /// Uninstall from Codex
169+ Codex ,
170+ /// Uninstall from Factory Droid
171+ Droid ,
160172}
161173
162174#[ derive( Subcommand ) ]
@@ -307,14 +319,18 @@ impl Cli {
307319 Some ( Commands :: Status ) => run_status ( & config) ,
308320 Some ( Commands :: Models { action } ) => run_models ( action, & mut config) ,
309321 Some ( Commands :: Config { action } ) => run_config ( action, & mut config) ,
310- Some ( Commands :: InstallClaudeCode ) => super :: install:: install_claude_code ( ) ,
311- Some ( Commands :: UninstallClaudeCode ) => super :: install:: uninstall_claude_code ( ) ,
312- Some ( Commands :: InstallOpencode ) => super :: install:: install_opencode ( ) ,
313- Some ( Commands :: UninstallOpencode ) => super :: install:: uninstall_opencode ( ) ,
314- Some ( Commands :: InstallCodex ) => super :: install:: install_codex ( ) ,
315- Some ( Commands :: UninstallCodex ) => super :: install:: uninstall_codex ( ) ,
316- Some ( Commands :: InstallDroid ) => super :: install:: install_droid ( ) ,
317- Some ( Commands :: UninstallDroid ) => super :: install:: uninstall_droid ( ) ,
322+ Some ( Commands :: Install { agent } ) => match agent {
323+ InstallAgent :: ClaudeCode => super :: install:: install_claude_code ( ) ,
324+ InstallAgent :: Opencode => super :: install:: install_opencode ( ) ,
325+ InstallAgent :: Codex => super :: install:: install_codex ( ) ,
326+ InstallAgent :: Droid => super :: install:: install_droid ( ) ,
327+ } ,
328+ Some ( Commands :: Uninstall { agent } ) => match agent {
329+ UninstallAgent :: ClaudeCode => super :: install:: uninstall_claude_code ( ) ,
330+ UninstallAgent :: Opencode => super :: install:: uninstall_opencode ( ) ,
331+ UninstallAgent :: Codex => super :: install:: uninstall_codex ( ) ,
332+ UninstallAgent :: Droid => super :: install:: uninstall_droid ( ) ,
333+ } ,
318334 None => {
319335 print_quick_help ( ) ;
320336 Ok ( ( ) )
0 commit comments