From e122abc305abfd53c671fa6db29a8c664f61915a Mon Sep 17 00:00:00 2001 From: csh Date: Tue, 14 Jul 2026 12:08:42 +0800 Subject: [PATCH] :wastebasket: remove(provider): delete staged capability scaffolding --- .../src/provider/initialize/initialize.cppm | 117 ------------------ 1 file changed, 117 deletions(-) diff --git a/lsp-server/src/provider/initialize/initialize.cppm b/lsp-server/src/provider/initialize/initialize.cppm index 0ab8dd8..71dcd15 100644 --- a/lsp-server/src/provider/initialize/initialize.cppm +++ b/lsp-server/src/provider/initialize/initialize.cppm @@ -27,11 +27,6 @@ export namespace lsp::provider protocol::InitializeResult BuildInitializeResult(); protocol::TextDocumentSyncOptions BuildTextDocumentSyncOptions(); protocol::CompletionOptions BuildCompletionOptions(); - protocol::SignatureHelpOptions BuildSignatureHelpOptions(); - protocol::SemanticTokensOptions BuildSemanticTokenOptions(); - protocol::CodeActionOptions BuildCodeActionOptions(); - protocol::DocumentOnTypeFormattingOptions BuildOnTypeFormattingOptions(); - protocol::ExecuteCommandOptions BuildExecuteCommandOptions(); void ProcessWorkspaceFolder(const std::vector& workspace_folders, ExecutionContext& context); }; @@ -72,54 +67,6 @@ namespace lsp::provider result.capabilities.textDocumentSync = BuildTextDocumentSyncOptions(); result.capabilities.completionProvider = BuildCompletionOptions(); result.capabilities.definitionProvider = true; - // NOTE: Only advertise the minimal feature set for now: - // - completion (with resolve) - // - go-to-definition - // - // Staged rollout: keep other capabilities disabled. Uncomment as features are re-enabled. - // result.capabilities.typeDefinitionProvider = true; - // result.capabilities.implementationProvider = true; - // result.capabilities.hoverProvider = true; - // result.capabilities.signatureHelpProvider = BuildSignatureHelpOptions(); - // result.capabilities.codeActionProvider = BuildCodeActionOptions(); - // result.capabilities.codeLensProvider = protocol::CodeLensOptions{ .resolveProvider = true }; - // result.capabilities.documentLinkProvider = protocol::DocumentLinkOptions{ .resolveProvider = true }; - // result.capabilities.colorProvider = true; - // result.capabilities.referencesProvider = true; - // result.capabilities.documentHighlightProvider = true; - // result.capabilities.renameProvider = protocol::RenameOptions{ .prepareProvider = true }; - // result.capabilities.documentSymbolProvider = true; - // result.capabilities.workspaceSymbolProvider = protocol::WorkspaceSymbolOptions{ .resolveProvider = true }; - // result.capabilities.semanticTokensProvider = BuildSemanticTokenOptions(); - // result.capabilities.callHierarchyProvider = true; - // result.capabilities.typeHierarchyProvider = true; - // result.capabilities.inlayHintProvider = protocol::InlayHintOptions{ .resolveProvider = true }; - // result.capabilities.foldingRangeProvider = true; - // result.capabilities.selectionRangeProvider = true; - // result.capabilities.linkedEditingRangeProvider = true; - // result.capabilities.monikerProvider = true; - // result.capabilities.inlineValueProvider = true; - // result.capabilities.documentFormattingProvider = true; - // result.capabilities.documentRangeFormattingProvider = true; - // result.capabilities.documentOnTypeFormattingProvider = BuildOnTypeFormattingOptions(); - // result.capabilities.executeCommandProvider = BuildExecuteCommandOptions(); - // - // protocol::DiagnosticOptions diagnostic; - // diagnostic.identifier = "syntax"; - // diagnostic.interFileDependencies = false; - // diagnostic.workspaceDiagnostics = true; - // result.capabilities.diagnosticProvider = std::move(diagnostic); - // - // protocol::ServerCapabilities::Workspace workspace; - // protocol::ServerCapabilities::Workspace::FileOperations file_operations; - // file_operations.didCreate = true; - // file_operations.willCreate = true; - // file_operations.didDelete = true; - // file_operations.willDelete = true; - // file_operations.didRename = true; - // file_operations.willRename = true; - // workspace.fileOperations = std::move(file_operations); - // result.capabilities.workspace = std::move(workspace); return result; } @@ -141,70 +88,6 @@ namespace lsp::provider return options; } - protocol::SignatureHelpOptions Initialize::BuildSignatureHelpOptions() - { - protocol::SignatureHelpOptions options; - options.triggerCharacters = { std::vector{ "(", "," } }; - options.retriggerCharacters = { std::vector{ "(", "," } }; - return options; - } - - protocol::CodeActionOptions Initialize::BuildCodeActionOptions() - { - protocol::CodeActionOptions options; - options.codeActionKinds = std::vector{ - protocol::CodeActionKindLiterals::QuickFix, - protocol::CodeActionKindLiterals::SourceFixAll, - }; - options.resolveProvider = true; - return options; - } - - protocol::DocumentOnTypeFormattingOptions Initialize::BuildOnTypeFormattingOptions() - { - protocol::DocumentOnTypeFormattingOptions options; - options.firstTriggerCharacter = ";"; - options.moreTriggerCharacter = std::vector{ "\n" }; - return options; - } - - protocol::ExecuteCommandOptions Initialize::BuildExecuteCommandOptions() - { - protocol::ExecuteCommandOptions options; - options.commands = std::vector{ - "tsl.noop", - "tsl.loadWorkspace", - "tsl.indexFiles", - }; - return options; - } - - protocol::SemanticTokensOptions Initialize::BuildSemanticTokenOptions() - { - protocol::SemanticTokensOptions options; - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Namespace); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Class); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Method); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Function); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Property); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Variable); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Parameter); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Keyword); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Comment); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::String); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Number); - options.legend.tokenTypes.emplace_back(protocol::SemanticTokenTypesLiterals::Operator); - - options.legend.tokenModifiers.emplace_back(protocol::SemanticTokenModifiersLiterals::Declaration); - options.legend.tokenModifiers.emplace_back(protocol::SemanticTokenModifiersLiterals::Definition); - options.legend.tokenModifiers.emplace_back(protocol::SemanticTokenModifiersLiterals::Static); - options.legend.tokenModifiers.emplace_back(protocol::SemanticTokenModifiersLiterals::Readonly); - options.legend.tokenModifiers.emplace_back(protocol::SemanticTokenModifiersLiterals::Modification); - options.range = true; - options.full = protocol::SemanticTokensOptions::Full{ .delta = true }; - return options; - } - void Initialize::ProcessWorkspaceFolder(const std::vector& workspace_folders, ExecutionContext& context) { auto& manager_hub = context.GetManagerHub();