aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_cli/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_cli/src/main.rs')
-rw-r--r--crates/ra_cli/src/main.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs
index 9c23cf001..750cbab86 100644
--- a/crates/ra_cli/src/main.rs
+++ b/crates/ra_cli/src/main.rs
@@ -134,13 +134,14 @@ fn main() -> Result<()> {
134 let path: String = matches.opt_value_from_str("--path")?.unwrap_or_default(); 134 let path: String = matches.opt_value_from_str("--path")?.unwrap_or_default();
135 let highlight_path: Option<String> = matches.opt_value_from_str("--highlight")?; 135 let highlight_path: Option<String> = matches.opt_value_from_str("--highlight")?;
136 let complete_path: Option<String> = matches.opt_value_from_str("--complete")?; 136 let complete_path: Option<String> = matches.opt_value_from_str("--complete")?;
137 let op = match (highlight_path, complete_path) { 137 let goto_def_path: Option<String> = matches.opt_value_from_str("--goto-def")?;
138 (Some(path), None) => { 138 let op = match (highlight_path, complete_path, goto_def_path) {
139 let path: String = path; 139 (Some(path), None, None) => analysis_bench::Op::Highlight { path: path.into() },
140 analysis_bench::Op::Highlight { path: path.into() } 140 (None, Some(position), None) => analysis_bench::Op::Complete(position.parse()?),
141 } 141 (None, None, Some(position)) => analysis_bench::Op::GotoDef(position.parse()?),
142 (None, Some(position)) => analysis_bench::Op::Complete(position.parse()?), 142 _ => panic!(
143 _ => panic!("exactly one of `--highlight`, `--complete` must be set"), 143 "exactly one of `--highlight`, `--complete` or `--goto-def` must be set"
144 ),
144 }; 145 };
145 matches.finish().or_else(handle_extra_flags)?; 146 matches.finish().or_else(handle_extra_flags)?;
146 analysis_bench::run(verbose, path.as_ref(), op)?; 147 analysis_bench::run(verbose, path.as_ref(), op)?;