diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2022-01-19 17:10:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-19 17:10:14 -0500 |
commit | f73a5fbc89c1e1255ae886b1dfe23329d7ad8713 (patch) | |
tree | 9e5054ef3ff6ef2ba3d55283ca8b6ec6cdb764de /cli/lsp/config.rs | |
parent | 6cf05220e3370365a2c6ce8116d1c5624004ca59 (diff) |
refactor(lsp): reduce data stored in `StateSnapshot` (#13426)
Diffstat (limited to 'cli/lsp/config.rs')
-rw-r--r-- | cli/lsp/config.rs | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs index 7be4135d2..89924a22a 100644 --- a/cli/lsp/config.rs +++ b/cli/lsp/config.rs @@ -194,7 +194,6 @@ impl WorkspaceSettings { #[derive(Debug, Clone, Default)] pub struct ConfigSnapshot { pub client_capabilities: ClientCapabilities, - pub root_uri: Option<Url>, pub settings: Settings, pub workspace_folders: Option<Vec<lsp::WorkspaceFolder>>, } @@ -224,7 +223,6 @@ pub struct Settings { #[derive(Debug)] pub struct Config { pub client_capabilities: ClientCapabilities, - pub root_uri: Option<Url>, settings: Arc<RwLock<Settings>>, tx: mpsc::Sender<ConfigRequest>, pub workspace_folders: Option<Vec<WorkspaceFolder>>, @@ -326,7 +324,6 @@ impl Config { Self { client_capabilities: ClientCapabilities::default(), - root_uri: None, settings, tx, workspace_folders: None, @@ -345,15 +342,10 @@ impl Config { Ok(()) } - pub fn snapshot(&self) -> Result<ConfigSnapshot, AnyError> { - Ok(ConfigSnapshot { + pub fn snapshot(&self) -> Arc<ConfigSnapshot> { + Arc::new(ConfigSnapshot { client_capabilities: self.client_capabilities.clone(), - root_uri: self.root_uri.clone(), - settings: self - .settings - .try_read() - .ok_or_else(|| anyhow!("Error reading settings."))? - .clone(), + settings: self.settings.read().clone(), workspace_folders: self.workspace_folders.clone(), }) } |