equal
deleted
inserted
replaced
34 .long("--revision") |
34 .long("--revision") |
35 .value_name("REV") |
35 .value_name("REV") |
36 .takes_value(true), |
36 .takes_value(true), |
37 ) |
37 ) |
38 .about(commands::files::HELP_TEXT), |
38 .about(commands::files::HELP_TEXT), |
|
39 ) |
|
40 .subcommand( |
|
41 SubCommand::with_name("cat") |
|
42 .arg( |
|
43 Arg::with_name("rev") |
|
44 .help("search the repository as it is in REV") |
|
45 .short("-r") |
|
46 .long("--revision") |
|
47 .value_name("REV") |
|
48 .takes_value(true), |
|
49 ) |
|
50 .arg( |
|
51 clap::Arg::with_name("files") |
|
52 .required(true) |
|
53 .multiple(true) |
|
54 .empty_values(false) |
|
55 .value_name("FILE") |
|
56 .help("Activity to start: activity@category"), |
|
57 ) |
|
58 .about(commands::cat::HELP_TEXT), |
39 ) |
59 ) |
40 .subcommand( |
60 .subcommand( |
41 SubCommand::with_name("debugdata") |
61 SubCommand::with_name("debugdata") |
42 .about(commands::debugdata::HELP_TEXT) |
62 .about(commands::debugdata::HELP_TEXT) |
43 .arg( |
63 .arg( |
96 match matches.subcommand() { |
116 match matches.subcommand() { |
97 ("root", _) => commands::root::RootCommand::new().run(&ui), |
117 ("root", _) => commands::root::RootCommand::new().run(&ui), |
98 ("files", Some(matches)) => { |
118 ("files", Some(matches)) => { |
99 commands::files::FilesCommand::try_from(matches)?.run(&ui) |
119 commands::files::FilesCommand::try_from(matches)?.run(&ui) |
100 } |
120 } |
|
121 ("cat", Some(matches)) => { |
|
122 commands::cat::CatCommand::try_from(matches)?.run(&ui) |
|
123 } |
101 ("debugdata", Some(matches)) => { |
124 ("debugdata", Some(matches)) => { |
102 commands::debugdata::DebugDataCommand::try_from(matches)?.run(&ui) |
125 commands::debugdata::DebugDataCommand::try_from(matches)?.run(&ui) |
103 } |
126 } |
104 _ => unreachable!(), // Because of AppSettings::SubcommandRequired, |
127 _ => unreachable!(), // Because of AppSettings::SubcommandRequired, |
105 } |
128 } |
109 type Error = CommandError; |
132 type Error = CommandError; |
110 |
133 |
111 fn try_from(args: &'a ArgMatches) -> Result<Self, Self::Error> { |
134 fn try_from(args: &'a ArgMatches) -> Result<Self, Self::Error> { |
112 let rev = args.value_of("rev"); |
135 let rev = args.value_of("rev"); |
113 Ok(commands::files::FilesCommand::new(rev)) |
136 Ok(commands::files::FilesCommand::new(rev)) |
|
137 } |
|
138 } |
|
139 |
|
140 impl<'a> TryFrom<&'a ArgMatches<'_>> for commands::cat::CatCommand<'a> { |
|
141 type Error = CommandError; |
|
142 |
|
143 fn try_from(args: &'a ArgMatches) -> Result<Self, Self::Error> { |
|
144 let rev = args.value_of("rev"); |
|
145 let files = match args.values_of("files") { |
|
146 Some(files) => files.collect(), |
|
147 None => vec![], |
|
148 }; |
|
149 Ok(commands::cat::CatCommand::new(rev, files)) |
114 } |
150 } |
115 } |
151 } |
116 |
152 |
117 impl<'a> TryFrom<&'a ArgMatches<'_>> |
153 impl<'a> TryFrom<&'a ArgMatches<'_>> |
118 for commands::debugdata::DebugDataCommand<'a> |
154 for commands::debugdata::DebugDataCommand<'a> |