diff options
author | Jean Pierre <jeanp413@hotmail.com> | 2021-04-19 20:26:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 11:26:36 +1000 |
commit | 6d404ec54bab00d9f86c8d69a70dd94e5ab83434 (patch) | |
tree | 5c1d99cc17da1134b9fb728ff8e9689e00a1694c /cli/lsp/capabilities.rs | |
parent | b6203cb4657f8269bf80b135b3c49fb9304895c1 (diff) |
feat(lsp): Implement textDocument/semanticTokens/full (#10233)
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
Diffstat (limited to 'cli/lsp/capabilities.rs')
-rw-r--r-- | cli/lsp/capabilities.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cli/lsp/capabilities.rs b/cli/lsp/capabilities.rs index cce349a5d..f0312cc6d 100644 --- a/cli/lsp/capabilities.rs +++ b/cli/lsp/capabilities.rs @@ -18,6 +18,9 @@ use lspower::lsp::ImplementationProviderCapability; use lspower::lsp::OneOf; use lspower::lsp::SaveOptions; use lspower::lsp::SelectionRangeProviderCapability; +use lspower::lsp::SemanticTokensFullOptions; +use lspower::lsp::SemanticTokensOptions; +use lspower::lsp::SemanticTokensServerCapabilities; use lspower::lsp::ServerCapabilities; use lspower::lsp::SignatureHelpOptions; use lspower::lsp::TextDocumentSyncCapability; @@ -25,6 +28,8 @@ use lspower::lsp::TextDocumentSyncKind; use lspower::lsp::TextDocumentSyncOptions; use lspower::lsp::WorkDoneProgressOptions; +use super::semantic_tokens::get_legend; + fn code_action_capabilities( client_capabilities: &ClientCapabilities, ) -> CodeActionProviderCapability { @@ -116,7 +121,16 @@ pub fn server_capabilities( color_provider: None, execute_command_provider: None, call_hierarchy_provider: Some(CallHierarchyServerCapability::Simple(true)), - semantic_tokens_provider: None, + semantic_tokens_provider: Some( + SemanticTokensServerCapabilities::SemanticTokensOptions( + SemanticTokensOptions { + legend: get_legend(), + range: Some(true), + full: Some(SemanticTokensFullOptions::Bool(true)), + ..Default::default() + }, + ), + ), workspace: None, experimental: None, linked_editing_range_provider: None, |