From e9d025b618aaa1a5a06e60c17392a18f12471217 Mon Sep 17 00:00:00 2001 From: Hannes De Valkeneer Date: Thu, 12 Mar 2020 21:28:26 +0100 Subject: fixup! feat: add debug code lens avoid repetition of `--no-run` --- crates/rust-analyzer/src/main_loop/handlers.rs | 17 ++++++++++------- crates/rust-analyzer/tests/heavy_tests/main.rs | 7 ++----- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/main_loop/handlers.rs b/crates/rust-analyzer/src/main_loop/handlers.rs index 07761f00a..f9715e675 100644 --- a/crates/rust-analyzer/src/main_loop/handlers.rs +++ b/crates/rust-analyzer/src/main_loop/handlers.rs @@ -795,24 +795,27 @@ pub fn handle_code_lens( RunnableKind::Bin => "Run", } .to_string(); - let r = to_lsp_runnable(&world, file_id, runnable)?; - let range = r.range; - let arguments = vec![to_value(r).unwrap()]; + let mut r = to_lsp_runnable(&world, file_id, runnable)?; let lens = CodeLens { - range: range.clone(), + range: r.range, command: Some(Command { title, command: "rust-analyzer.runSingle".into(), - arguments: Some(arguments.clone()), + arguments: Some(vec![to_value(&r).unwrap()]), }), data: None, }; + if r.args[0] == "run" { + r.args[0] = "build".into(); + } else { + r.args.push("--no-run".into()); + } let debug_lens = CodeLens { - range, + range: r.range, command: Some(Command { title: "Debug".into(), command: "rust-analyzer.debugSingle".into(), - arguments: Some(arguments.clone()), + arguments: Some(vec![to_value(r).unwrap()]), }), data: None, }; diff --git a/crates/rust-analyzer/tests/heavy_tests/main.rs b/crates/rust-analyzer/tests/heavy_tests/main.rs index 55af6c5e0..145429571 100644 --- a/crates/rust-analyzer/tests/heavy_tests/main.rs +++ b/crates/rust-analyzer/tests/heavy_tests/main.rs @@ -143,10 +143,7 @@ fn main() {} server.wait_until_workspace_is_loaded(); server.request::( - RunnablesParams { - text_document: server.doc_id("foo/tests/spam.rs"), - position: None, - }, + RunnablesParams { text_document: server.doc_id("foo/tests/spam.rs"), position: None }, json!([ { "args": [ "test", "--package", "foo", "--test", "spam" ], @@ -184,7 +181,7 @@ fn main() {} } } } - ]) + ]), ); } -- cgit v1.2.3