11//! Advertises the capabilities of the LSP Server.
22use lsp_types:: {
33 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 ,
1414} ;
1515use serde_json:: json;
1616
@@ -36,7 +36,7 @@ pub fn server_capabilities(config: &Config) -> ServerCapabilities {
3636 "(" . to_string( ) ,
3737 ] ) ,
3838 all_commit_characters : None ,
39- completion_item : None ,
39+ completion_item : completion_item ( & config ) ,
4040 work_done_progress_options : WorkDoneProgressOptions { work_done_progress : None } ,
4141 } ) ,
4242 signature_help_provider : Some ( SignatureHelpOptions {
@@ -170,6 +170,12 @@ pub(crate) fn completion_item_edit_resolve(caps: &ClientCapabilities) -> bool {
170170 } ) ( ) == Some ( true )
171171}
172172
173+ fn completion_item ( config : & Config ) -> Option < CompletionOptionsCompletionItem > {
174+ Some ( CompletionOptionsCompletionItem {
175+ label_details_support : Some ( config. completion_label_details_support ( ) ) ,
176+ } )
177+ }
178+
173179fn code_action_capabilities ( client_caps : & ClientCapabilities ) -> CodeActionProviderCapability {
174180 client_caps
175181 . text_document
0 commit comments