Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'src/lsp/init_opts.rs')
| -rw-r--r-- | src/lsp/init_opts.rs | 180 |
1 files changed, 90 insertions, 90 deletions
diff --git a/src/lsp/init_opts.rs b/src/lsp/init_opts.rs index 345e2a4..797ba17 100644 --- a/src/lsp/init_opts.rs +++ b/src/lsp/init_opts.rs @@ -6,13 +6,13 @@ pub fn get( conf: &Option<serde_json::Value>, is_ra: bool, ) -> InitializeParams { - let sym = Some(if is_ra { - SymbolKind::ALL.to_vec() - } else { - (1..=26).map(SymbolKind).collect() - }); + // let sym = Some(if is_ra { + // SymbolKind::ALL.to_vec() + // } else { + // (1..=26).map(SymbolKind).collect() + // }); InitializeParams { - process_id: Some(std::process::id()), + process_id: Some(std::process::id() as _), capabilities: ClientCapabilities { window: Some(WindowClientCapabilities { @@ -21,20 +21,18 @@ pub fn get( }), workspace: Some(WorkspaceClientCapabilities { symbol: Some(WorkspaceSymbolClientCapabilities { - symbol_kind: Some(SymbolKindCapability { - value_set: sym.clone(), + // symbol_kind: Some(ClientSymbolKindOptions { + // value_set: sym.clone(), + // }), + // tag_support: Some(ClientSymbolTagOptions { + // value_set: SymbolTag::ALL.to_vec(), + // }), + resolve_support: Some(ClientSymbolResolveOptions { + properties: vec!["location".into()], }), - tag_support: Some(TagSupport { - value_set: SymbolTag::ALL.to_vec(), - }), - resolve_support: Some( - WorkspaceSymbolResolveSupportCapability { - properties: vec!["location".into()], - }, - ), ..default() }), - diagnostic: Some(DiagnosticWorkspaceClientCapabilities { + diagnostics: Some(DiagnosticWorkspaceClientCapabilities { refresh_support: Some(true), }), inlay_hint: Some(InlayHintWorkspaceClientCapabilities { @@ -50,10 +48,12 @@ pub fn get( failure_handling: Some(FailureHandlingKind::Abort), normalizes_line_endings: Some(false), change_annotation_support: Some( - ChangeAnnotationWorkspaceEditClientCapabilities { + ChangeAnnotationsSupportOptions { groups_on_label: Some(false), }, ), + metadata_support: None, + snippet_edit_support: Some(true), }), ..default() }), @@ -64,47 +64,45 @@ pub fn get( }, ), document_highlight: Some(default()), - formatting: Some(DynamicRegistrationClientCapabilities { + formatting: Some(DocumentFormattingClientCapabilities { dynamic_registration: Some(false), }), inlay_hint: Some(InlayHintClientCapabilities { dynamic_registration: None, - resolve_support: Some( - InlayHintResolveClientCapabilities { - properties: vec![ - "textEdits".into(), - "tooltip".into(), - "label.tooltip".into(), - "label.command".into(), - ], - }, - ), + resolve_support: Some(ClientInlayHintResolveOptions { + properties: vec![ + "textEdits".into(), + "tooltip".into(), + "label.tooltip".into(), + "label.command".into(), + ], + }), }), document_symbol: Some(DocumentSymbolClientCapabilities { - tag_support: Some(TagSupport { - value_set: SymbolTag::ALL.to_vec(), - }), - symbol_kind: Some(SymbolKindCapability { - value_set: sym, - }), + // tag_support: Some(ClientSymbolTagSupport { + // value_set: SymbolTag::ALL.to_vec(), + // }), + // symbol_kind: Some(ClientSymbolKindOptions { + // value_set: sym, + // }), hierarchical_document_symbol_support: Some(true), ..default() }), - definition: Some(GotoCapability { + definition: Some(DefinitionClientCapabilities { link_support: Some(true), ..default() }), code_action: Some(CodeActionClientCapabilities { data_support: Some(true), resolve_support: Some( - CodeActionCapabilityResolveSupport { + ClientCodeActionResolveOptions { properties: vec!["edit".to_string()], }, ), code_action_literal_support: Some( - CodeActionLiteralSupport { + ClientCodeActionLiteralOptions { code_action_kind: - CodeActionKindLiteralSupport { + ClientCodeActionKindOptions { value_set: [ "", "Empty", @@ -123,7 +121,7 @@ pub fn get( "source", "source.organizeImports", ] - .map(String::from) + .map(Into::into) .into(), }, }, @@ -133,7 +131,7 @@ pub fn get( rename: Some(RenameClientCapabilities { prepare_support: Some(true), prepare_support_default_behavior: Some( - PrepareSupportDefaultBehavior::IDENTIFIER, + PrepareSupportDefaultBehavior::Identifier, ), honors_change_annotations: Some(false), ..default() @@ -148,36 +146,40 @@ pub fn get( diagnostic: Some(DiagnosticClientCapabilities { dynamic_registration: None, related_document_support: Some(true), + markup_message_support: None, + diagnostics_capabilities: default(), }), publish_diagnostics: Some( PublishDiagnosticsClientCapabilities { - related_information: Some(true), - code_description_support: Some(true), - data_support: Some(true), + // related_information: Some(true), + // code_description_support: Some(true), + // data_support: Some(true), ..default() }, ), signature_help: Some(SignatureHelpClientCapabilities { dynamic_registration: None, signature_information: Some( - SignatureInformationSettings { + ClientSignatureInformationOptions { documentation_format: Some(vec![ MarkupKind::Markdown, MarkupKind::PlainText, ]), parameter_information: Some( - ParameterInformationSettings { + ClientSignatureParameterInformationOptions { label_offset_support: Some(true), }, ), active_parameter_support: Some(true), + no_active_parameter_support: Some(true), + }, ), context_support: Some(false), }), completion: Some(CompletionClientCapabilities { dynamic_registration: Some(false), - completion_item: Some(CompletionItemCapability { + completion_item: Some(ClientCompletionItemOptions { snippet_support: Some(true), commit_characters_support: Some(true), documentation_format: Some(vec![ @@ -186,12 +188,12 @@ pub fn get( ]), deprecated_support: None, preselect_support: None, - tag_support: Some(TagSupport { - value_set: vec![CompletionItemTag::DEPRECATED], + tag_support: Some(CompletionItemTagOptions { + value_set: vec![CompletionItemTag::Deprecated], }), resolve_support: Some( - CompletionItemCapabilityResolveSupport { + ClientCompletionItemResolveOptions { properties: vec![ "additionalTextEdits".into(), "documentation".into(), @@ -200,60 +202,56 @@ pub fn get( ), insert_replace_support: Some(false), insert_text_mode_support: Some( - InsertTextModeSupport { - value_set: vec![InsertTextMode::AS_IS], + ClientCompletionItemInsertTextModeOptions { + value_set: vec![InsertTextMode::AsIs], }, ), label_details_support: Some(true), ..default() }), completion_item_kind: Some( - CompletionItemKindCapability { + ClientCompletionItemOptionsKind { value_set: Some(vec![ - CompletionItemKind::TEXT, - CompletionItemKind::METHOD, - CompletionItemKind::FUNCTION, - CompletionItemKind::CONSTRUCTOR, - CompletionItemKind::FIELD, - CompletionItemKind::VARIABLE, - CompletionItemKind::CLASS, - CompletionItemKind::INTERFACE, - CompletionItemKind::MODULE, - CompletionItemKind::PROPERTY, - CompletionItemKind::UNIT, - CompletionItemKind::VALUE, - CompletionItemKind::ENUM, - CompletionItemKind::KEYWORD, - CompletionItemKind::SNIPPET, - CompletionItemKind::COLOR, - CompletionItemKind::FILE, - CompletionItemKind::REFERENCE, - CompletionItemKind::FOLDER, - CompletionItemKind::ENUM_MEMBER, - CompletionItemKind::CONSTANT, - CompletionItemKind::STRUCT, - CompletionItemKind::EVENT, - CompletionItemKind::OPERATOR, - CompletionItemKind::TYPE_PARAMETER, + CompletionItemKind::Text, + CompletionItemKind::Method, + CompletionItemKind::Function, + CompletionItemKind::Constructor, + CompletionItemKind::Field, + CompletionItemKind::Variable, + CompletionItemKind::Class, + CompletionItemKind::Interface, + CompletionItemKind::Module, + CompletionItemKind::Property, + CompletionItemKind::Unit, + CompletionItemKind::Value, + CompletionItemKind::Enum, + CompletionItemKind::Keyword, + CompletionItemKind::Snippet, + CompletionItemKind::Color, + CompletionItemKind::File, + CompletionItemKind::Reference, + CompletionItemKind::Folder, + CompletionItemKind::EnumMember, + CompletionItemKind::Constant, + CompletionItemKind::Struct, + CompletionItemKind::Event, + CompletionItemKind::Operator, + CompletionItemKind::TypeParameter, ]), - // value_set: Some(vec![CompletionItemKind::]), }, ), context_support: None, - insert_text_mode: Some(InsertTextMode::AS_IS), - completion_list: Some(CompletionListCapability { + insert_text_mode: Some(InsertTextMode::AsIs), + completion_list: Some(CompletionListCapabilities { item_defaults: None, + apply_kind_support: None, }), }), semantic_tokens: Some(SemanticTokensClientCapabilities { dynamic_registration: Some(false), - requests: SemanticTokensClientCapabilitiesRequests { - range: Some(true), - full: Some( - lsp_types::SemanticTokensFullOptions::Bool( - true, - ), - ), + requests: ClientSemanticTokensRequestOptions { + range: Some(true.into()), + full: Some(true.into()), }, token_modifiers: [ "associated", @@ -313,8 +311,10 @@ pub fn get( }), initialization_options: conf.clone(), trace: None, - workspace_folders: Some(vec![workspace]), - + workspace_folders_initialize_params: + WorkspaceFoldersInitializeParams { + workspace_folders: Some(vec![workspace].into()), + }, ..default() } } |