diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2021-07-21 11:50:43 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-21 11:50:43 +1000 |
commit | c34fef4b71a8bf7b0e942107b63b138d137f27d5 (patch) | |
tree | 68eebdeff8508af1b289197b5135d2d6b4d1d4f2 | |
parent | e1d3c425c885fdd0a5c29788751d8d33c8a8f099 (diff) |
feat(lsp): add workspace config to status page (#11459)
-rw-r--r-- | cli/lsp/config.rs | 9 | ||||
-rw-r--r-- | cli/lsp/language_server.rs | 10 |
2 files changed, 15 insertions, 4 deletions
diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs index 95e0bb534..aeb0e29b9 100644 --- a/cli/lsp/config.rs +++ b/cli/lsp/config.rs @@ -6,6 +6,7 @@ use deno_core::error::anyhow; use deno_core::error::AnyError; use deno_core::parking_lot::RwLock; use deno_core::serde::Deserialize; +use deno_core::serde::Serialize; use deno_core::serde_json; use deno_core::serde_json::Value; use deno_core::url::Url; @@ -33,7 +34,7 @@ fn is_true() -> bool { true } -#[derive(Debug, Clone, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct CodeLensSettings { /// Flag for providing implementation code lenses. @@ -78,7 +79,7 @@ impl Default for CodeLensSpecifierSettings { } } -#[derive(Debug, Clone, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct CompletionSettings { #[serde(default)] @@ -105,7 +106,7 @@ impl Default for CompletionSettings { } } -#[derive(Debug, Clone, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct ImportCompletionSettings { /// A flag that indicates if non-explicitly set origins should be checked for @@ -140,7 +141,7 @@ pub struct SpecifierSettings { } /// Deno language server specific settings that are applied to a workspace. -#[derive(Debug, Default, Clone, Deserialize, PartialEq, Eq)] +#[derive(Debug, Default, Clone, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct WorkspaceSettings { /// A flag that indicates if Deno is enabled for the workspace. diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index ab1b6ccd4..7f8086466 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -2441,10 +2441,19 @@ impl Inner { let mut sources_specifiers = self.sources.specifiers(); sources_specifiers.sort(); let measures = self.performance.to_vec(); + let workspace_settings = self.config.get_workspace_settings(); contents.push_str(&format!( r#"# Deno Language Server Status +## Workspace Settings + +```json +{} +``` + +## Workspace Details + - <details><summary>Documents in memory: {}</summary> - {} @@ -2463,6 +2472,7 @@ impl Inner { </details> "#, + serde_json::to_string_pretty(&workspace_settings).unwrap(), self.documents.len(), documents_specifiers .into_iter() |