1
1
//! Advertises the capabilities of the LSP Server.
2
2
use lsp_types:: {
3
3
CallHierarchyServerCapability , ClientCapabilities , CodeActionKind , CodeActionOptions ,
4
- CodeActionProviderCapability , CodeLensOptions , CompletionOptions , DeclarationCapability ,
5
- DocumentOnTypeFormattingOptions , FileOperationFilter , FileOperationPattern ,
6
- FileOperationPatternKind , FileOperationRegistrationOptions , FoldingRangeProviderCapability ,
7
- HoverProviderCapability , ImplementationProviderCapability , InlayHintOptions ,
8
- InlayHintServerCapabilities , OneOf , RenameOptions , SaveOptions ,
9
- SelectionRangeProviderCapability , SemanticTokensFullOptions , SemanticTokensLegend ,
10
- SemanticTokensOptions , ServerCapabilities , SignatureHelpOptions , TextDocumentSyncCapability ,
11
- TextDocumentSyncKind , TextDocumentSyncOptions , TypeDefinitionProviderCapability ,
12
- WorkDoneProgressOptions , WorkspaceFileOperationsServerCapabilities ,
13
- WorkspaceServerCapabilities ,
4
+ CodeActionProviderCapability , CodeLensOptions , CompletionOptions ,
5
+ CompletionOptionsCompletionItem , DeclarationCapability , DocumentOnTypeFormattingOptions ,
6
+ FileOperationFilter , FileOperationPattern , FileOperationPatternKind ,
7
+ FileOperationRegistrationOptions , FoldingRangeProviderCapability , HoverProviderCapability ,
8
+ ImplementationProviderCapability , InlayHintOptions , InlayHintServerCapabilities , OneOf ,
9
+ RenameOptions , SaveOptions , SelectionRangeProviderCapability , SemanticTokensFullOptions ,
10
+ SemanticTokensLegend , SemanticTokensOptions , ServerCapabilities , SignatureHelpOptions ,
11
+ TextDocumentSyncCapability , TextDocumentSyncKind , TextDocumentSyncOptions ,
12
+ TypeDefinitionProviderCapability , WorkDoneProgressOptions ,
13
+ WorkspaceFileOperationsServerCapabilities , WorkspaceServerCapabilities ,
14
14
} ;
15
15
use serde_json:: json;
16
16
@@ -36,7 +36,7 @@ pub fn server_capabilities(config: &Config) -> ServerCapabilities {
36
36
"(" . to_string( ) ,
37
37
] ) ,
38
38
all_commit_characters : None ,
39
- completion_item : None ,
39
+ completion_item : completion_item ( & config ) ,
40
40
work_done_progress_options : WorkDoneProgressOptions { work_done_progress : None } ,
41
41
} ) ,
42
42
signature_help_provider : Some ( SignatureHelpOptions {
@@ -170,6 +170,12 @@ pub(crate) fn completion_item_edit_resolve(caps: &ClientCapabilities) -> bool {
170
170
} ) ( ) == Some ( true )
171
171
}
172
172
173
+ fn completion_item ( config : & Config ) -> Option < CompletionOptionsCompletionItem > {
174
+ Some ( CompletionOptionsCompletionItem {
175
+ label_details_support : Some ( config. completion_label_details_support ( ) ) ,
176
+ } )
177
+ }
178
+
173
179
fn code_action_capabilities ( client_caps : & ClientCapabilities ) -> CodeActionProviderCapability {
174
180
client_caps
175
181
. text_document
0 commit comments