@@ -185,7 +185,7 @@ fn run_dispatch(args: &[String]) -> u8 {
185185 let order_aware = matches ! (
186186 first. as_str( ) ,
187187 "mcp-stats" | "telemetry" | "usage" | "skill" | "hook" | "eval" | "init" | "quickstart"
188- | "migrate" | "watchkeeper"
188+ | "migrate" | "watchkeeper" | "corpus"
189189 ) ;
190190 if !order_aware {
191191 if rest. iter ( ) . any ( |a| a. as_str ( ) == "--version" ) {
@@ -287,6 +287,7 @@ fn run_corpus(rest: &[&String]) -> u8 {
287287 let mut action: Option < String > = None ;
288288 let mut root: Option < String > = None ;
289289 let mut corpus: Option < String > = None ;
290+ let mut version: u32 = 1 ;
290291 let mut extras: Vec < String > = Vec :: new ( ) ;
291292 let mut positional_only = false ;
292293
@@ -324,6 +325,18 @@ fn run_corpus(rest: &[&String]) -> u8 {
324325 Err ( code) => return code,
325326 }
326327 }
328+ other if other == "--version" || other. starts_with ( "--version=" ) => {
329+ match take_opt_value ( prog, "--version" , other, rest, & mut i) {
330+ Ok ( value) if value == "2" => version = 2 ,
331+ Ok ( value) => {
332+ return argparse_error (
333+ prog,
334+ & format ! ( "argument --version: invalid choice: '{value}' (choose from '2')" ) ,
335+ )
336+ }
337+ Err ( code) => return code,
338+ }
339+ }
327340 other => extras. push ( other. to_string ( ) ) ,
328341 }
329342 i += 1 ;
@@ -351,6 +364,7 @@ fn run_corpus(rest: &[&String]) -> u8 {
351364 cmd_corpus_digest ( & CorpusDigestArgs {
352365 root : root. expect ( "checked above" ) ,
353366 corpus : corpus. expect ( "checked above" ) ,
367+ version,
354368 } ) as u8
355369}
356370
0 commit comments