//! Advertises the capabilities of the LSP Server.
use lsp_types::{
CallHierarchyServerCapability, ClientCapabilities, CodeActionKind, CodeActionOptions,
- CodeActionProviderCapability, CodeLensOptions, CompletionOptions,
+ CodeActionProviderCapability, CodeLensOptions, CompletionOptions, DeclarationCapability,
DocumentOnTypeFormattingOptions, FileOperationFilter, FileOperationPattern,
FileOperationPatternKind, FileOperationRegistrationOptions, FoldingRangeProviderCapability,
HoverProviderCapability, ImplementationProviderCapability, OneOf, RenameOptions, SaveOptions,
ServerCapabilities {
text_document_sync: Some(TextDocumentSyncCapability::Options(TextDocumentSyncOptions {
open_close: Some(true),
- change: Some(TextDocumentSyncKind::Incremental),
+ change: Some(TextDocumentSyncKind::INCREMENTAL),
will_save: None,
will_save_wait_until: None,
save: Some(SaveOptions::default().into()),
retrigger_characters: None,
work_done_progress_options: WorkDoneProgressOptions { work_done_progress: None },
}),
- declaration_provider: None,
+ declaration_provider: Some(DeclarationCapability::Simple(true)),
definition_provider: Some(OneOf::Left(true)),
type_definition_provider: Some(TypeDefinitionProviderCapability::Simple(true)),
implementation_provider: Some(ImplementationProviderCapability::Simple(true)),
),
moniker_provider: None,
experimental: Some(json!({
+ "externalDocs": true,
+ "hoverRange": true,
"joinLines": true,
- "ssr": true,
+ "matchingBrace": true,
+ "moveItem": true,
"onEnter": true,
+ "openCargoToml": true,
"parentModule": true,
"runnables": {
"kinds": [ "cargo" ],
},
+ "ssr": true,
"workspaceSymbolScopeKindFiltering": true,
})),
}
if completion_item_edit_resolve(client_caps) {
Some(true)
} else {
- log::info!("No `additionalTextEdits` completion resolve capability was found in the client capabilities, autoimport completion is disabled");
+ tracing::info!("No `additionalTextEdits` completion resolve capability was found in the client capabilities, autoimport completion is disabled");
None
}
}