diff --git a/crates/languages/src/go.rs b/crates/languages/src/go.rs index 5942a51f2a481b66cc8ba46072bd28c8285cbc07..8d945ba3b9e1b501d52675ada80bea41d394d4ed 100644 --- a/crates/languages/src/go.rs +++ b/crates/languages/src/go.rs @@ -5,7 +5,10 @@ use futures::StreamExt; use gpui::{App, AsyncApp, Task}; use http_client::github::latest_github_release; pub use language::*; -use language::{LanguageToolchainStore, LspAdapterDelegate, LspInstaller}; +use language::{ + LanguageName, LanguageToolchainStore, LspAdapterDelegate, LspInstaller, + language_settings::language_settings, +}; use lsp::{LanguageServerBinary, LanguageServerName}; use project::lsp_store::language_server_settings; @@ -207,6 +210,12 @@ impl LspAdapter for GoLspAdapter { delegate: &Arc, cx: &mut AsyncApp, ) -> Result> { + let semantic_tokens_enabled = cx.update(|cx| { + language_settings(Some(LanguageName::new("Go")), None, cx) + .semantic_tokens + .enabled() + }); + let mut default_config = json!({ "usePlaceholders": false, "hints": { @@ -217,7 +226,8 @@ impl LspAdapter for GoLspAdapter { "functionTypeParameters": true, "parameterNames": true, "rangeVariableTypes": true - } + }, + "semanticTokens": semantic_tokens_enabled }); let project_initialization_options = cx.update(|cx| {