From 78817a319476d8af40c4f78e8c47dc958781f88f Mon Sep 17 00:00:00 2001 From: vsrs Date: Mon, 18 May 2020 10:27:00 +0300 Subject: Add "rust-analyzer.lens.enable" --- crates/rust-analyzer/src/config.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs index 2038ef89b..b5dc6f0fa 100644 --- a/crates/rust-analyzer/src/config.rs +++ b/crates/rust-analyzer/src/config.rs @@ -50,6 +50,8 @@ impl Default for LensConfig { } impl LensConfig { + pub const NO_LENS: LensConfig = Self { run: false, debug: false, impementations: false }; + pub fn any(&self) -> bool { self.impementations || self.runnable() } @@ -224,9 +226,16 @@ impl Config { set(value, "/completion/addCallParenthesis", &mut self.completion.add_call_parenthesis); set(value, "/completion/addCallArgumentSnippets", &mut self.completion.add_call_argument_snippets); set(value, "/callInfo/full", &mut self.call_info_full); - set(value, "/lens/run", &mut self.lens.run); - set(value, "/lens/debug", &mut self.lens.debug); - set(value, "/lens/implementations", &mut self.lens.impementations); + + let mut lens_enabled = true; + set(value, "/lens/enable", &mut lens_enabled); + if lens_enabled { + set(value, "/lens/run", &mut self.lens.run); + set(value, "/lens/debug", &mut self.lens.debug); + set(value, "/lens/implementations", &mut self.lens.impementations); + } else { + self.lens = LensConfig::NO_LENS; + } log::info!("Config::update() = {:#?}", self); -- cgit v1.2.3