From 4deb0b6d872b9b45a6b71e236eca8cc1cad8148c Mon Sep 17 00:00:00 2001 From: csh Date: Wed, 15 Oct 2025 22:59:06 +0800 Subject: [PATCH] =?UTF-8?q?lsp=E5=8D=8F=E8=AE=AE=E7=9A=84=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E4=B8=8D=E4=BD=BF=E7=94=A8google=E9=A3=8E=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/protocol/detail/basic_types.hpp | 4 +- .../src/protocol/detail/code_actions.hpp | 2 +- lsp-server/src/protocol/detail/completion.hpp | 70 +++++++++---------- .../src/protocol/detail/configuration.hpp | 10 +-- .../src/protocol/detail/diagnostics.hpp | 12 ++-- .../src/protocol/detail/document_sync.hpp | 6 +- .../src/protocol/detail/file_operations.hpp | 12 ++-- .../src/protocol/detail/inline_features.hpp | 4 +- lsp-server/src/protocol/detail/message.hpp | 30 ++++---- lsp-server/src/protocol/detail/rename.hpp | 2 +- .../src/protocol/detail/signature_help.hpp | 6 +- lsp-server/src/protocol/detail/symbols.hpp | 52 +++++++------- .../provider/client/register_capability.cpp | 2 +- .../provider/client/unregister_capability.cpp | 2 +- .../src/provider/completion_item/resolve.cpp | 18 ++--- .../src/provider/initialize/initialize.cpp | 4 +- lsp-server/src/provider/shutdown/shutdown.cpp | 2 +- .../src/provider/text_document/completion.cpp | 42 +++++------ .../src/provider/text_document/definition.cpp | 4 +- .../src/provider/text_document/references.cpp | 4 +- .../src/provider/text_document/rename.cpp | 6 +- .../text_document/semantic_tokens.cpp | 12 ++-- lsp-server/src/provider/workspace/symbol.cpp | 4 +- .../detail/symbol/symbol_conversion.cpp | 36 +++++----- lsp-server/src/service/parser.cpp | 5 +- 25 files changed, 176 insertions(+), 175 deletions(-) diff --git a/lsp-server/src/protocol/detail/basic_types.hpp b/lsp-server/src/protocol/detail/basic_types.hpp index 37e963e..3024328 100644 --- a/lsp-server/src/protocol/detail/basic_types.hpp +++ b/lsp-server/src/protocol/detail/basic_types.hpp @@ -196,8 +196,8 @@ namespace lsp::protocol enum class ApplyKind { - kReplace = 1, - kMerge = 2 + Replace = 1, + Merge = 2 }; using MarkupKind = std::string_view; diff --git a/lsp-server/src/protocol/detail/code_actions.hpp b/lsp-server/src/protocol/detail/code_actions.hpp index 930441c..176313b 100644 --- a/lsp-server/src/protocol/detail/code_actions.hpp +++ b/lsp-server/src/protocol/detail/code_actions.hpp @@ -22,7 +22,7 @@ namespace lsp::protocol enum class CodeActionTag { - kLLMGenerated = 1 + LLMGenerated = 1 }; struct CodeActionClientCapabilities diff --git a/lsp-server/src/protocol/detail/completion.hpp b/lsp-server/src/protocol/detail/completion.hpp index 1c0116a..2cfb142 100644 --- a/lsp-server/src/protocol/detail/completion.hpp +++ b/lsp-server/src/protocol/detail/completion.hpp @@ -7,55 +7,55 @@ namespace lsp::protocol { enum class CompletionItemTag { - kDeprecated = 1 + Deprecated = 1 }; enum class InsertTextMode { - kAsIs = 1, - kAdjustIndentation = 2 + AsIs = 1, + AdjustIndentation = 2 }; enum class CompletionItemKind { - kText = 1, - kMethod = 2, - kFunction = 3, - kConstructor = 4, - kField = 5, - kVariable = 6, - kClass = 7, - kInterface = 8, - kModule = 9, - kProperty = 10, - kUnit = 11, - kValue = 12, - kEnum = 13, - kKeyword = 14, - kSnippet = 15, - kColor = 16, - kFile = 17, - kReference = 18, - kFolder = 19, - kEnumMember = 20, - kConstant = 21, - kStruct = 22, - kEvent = 23, - kOperator = 24, - kTypeParameter = 25 + Text = 1, + Method = 2, + Function = 3, + Constructor = 4, + Field = 5, + Variable = 6, + Class = 7, + Interface = 8, + Module = 9, + Property = 10, + Unit = 11, + Value = 12, + Enum = 13, + Keyword = 14, + Snippet = 15, + Color = 16, + File = 17, + Reference = 18, + Folder = 19, + EnumMember = 20, + Constant = 21, + Struct = 22, + Event = 23, + Operator = 24, + TypeParameter = 25 }; enum class InsertTextFormat { - kPlainText = 1, - kSnippet = 2 + PlainText = 1, + Snippet = 2 }; enum CompletionTriggerKind { - kInvoked = 1, - kTriggerCharacter = 2, - kTriggerForIncompleteCompletions = 3 + Invoked = 1, + TriggerCharacter = 2, + TriggerForIncompleteCompletions = 3 }; struct CompletionContext @@ -200,8 +200,8 @@ namespace lsp::protocol enum class InlineCompletionTriggerKind { - kInvoked = 1, - kAutomatic = 2 + Invoked = 1, + Automatic = 2 }; struct SelectedCompletionInfo diff --git a/lsp-server/src/protocol/detail/configuration.hpp b/lsp-server/src/protocol/detail/configuration.hpp index 072bf83..953bac5 100644 --- a/lsp-server/src/protocol/detail/configuration.hpp +++ b/lsp-server/src/protocol/detail/configuration.hpp @@ -50,11 +50,11 @@ namespace lsp::protocol // Message enum class MessageType { - kError = 1, - kWarning = 2, - kInfo = 3, - kLog = 4, - kDebug = 5 + Error = 1, + Warning = 2, + Info = 3, + Log = 4, + Debug = 5 }; struct ShowMessageParams diff --git a/lsp-server/src/protocol/detail/diagnostics.hpp b/lsp-server/src/protocol/detail/diagnostics.hpp index 59df032..06590c6 100644 --- a/lsp-server/src/protocol/detail/diagnostics.hpp +++ b/lsp-server/src/protocol/detail/diagnostics.hpp @@ -7,16 +7,16 @@ namespace lsp::protocol { enum class DiagnosticSeverity { - kError = 1, - kWarning = 2, - kInformation = 3, - kHint = 4 + Error = 1, + Warning = 2, + Information = 3, + Hint = 4 }; enum class DiagnosticTag { - kUnnecessary = 1, - kDeprecated = 2 + Unnecessary = 1, + Deprecated = 2 }; struct DiagnosticRelatedInformation diff --git a/lsp-server/src/protocol/detail/document_sync.hpp b/lsp-server/src/protocol/detail/document_sync.hpp index ae4d887..11b04d3 100644 --- a/lsp-server/src/protocol/detail/document_sync.hpp +++ b/lsp-server/src/protocol/detail/document_sync.hpp @@ -14,9 +14,9 @@ namespace lsp::protocol enum class TextDocumentSyncKind { - kNone = 0, - kFull = 1, - kIncremental = 2 + None = 0, + Full = 1, + Incremental = 2 }; struct TextDocumentSyncOptions diff --git a/lsp-server/src/protocol/detail/file_operations.hpp b/lsp-server/src/protocol/detail/file_operations.hpp index e2d7006..61cd4bf 100644 --- a/lsp-server/src/protocol/detail/file_operations.hpp +++ b/lsp-server/src/protocol/detail/file_operations.hpp @@ -85,9 +85,9 @@ namespace lsp::protocol enum class WatchKind { - kCreate = 1, - kChange = 2, - kDelete = 4 + Create = 1, + Change = 2, + Delete = 4 }; struct FileSystemWatcher @@ -103,9 +103,9 @@ namespace lsp::protocol enum class FileChangeType { - kCreated = 1, - kChanged = 2, - kDeleted = 3 + Created = 1, + Changed = 2, + Deleted = 3 }; struct FileEvent diff --git a/lsp-server/src/protocol/detail/inline_features.hpp b/lsp-server/src/protocol/detail/inline_features.hpp index 90baa73..d3ea50c 100644 --- a/lsp-server/src/protocol/detail/inline_features.hpp +++ b/lsp-server/src/protocol/detail/inline_features.hpp @@ -41,8 +41,8 @@ namespace lsp::protocol enum class InlayHintKind { - kType = 1, - kParameter = 2 + Type = 1, + Parameter = 2 }; struct InlayHint diff --git a/lsp-server/src/protocol/detail/message.hpp b/lsp-server/src/protocol/detail/message.hpp index 655221a..7d1ef33 100644 --- a/lsp-server/src/protocol/detail/message.hpp +++ b/lsp-server/src/protocol/detail/message.hpp @@ -5,22 +5,22 @@ namespace lsp::protocol { enum class ErrorCodes : int { - kParseError = -32700, - kInvalidRequest = -32600, - kMethodNotFound = -32601, - kInvalidParams = -32602, - kInternalError = -32603, + ParseError = -32700, + InvalidRequest = -32600, + MethodNotFound = -32601, + InvalidParams = -32602, + InternalError = -32603, - kJsonrpcReservedErrorRangeStart = -32099, - kServerNotInitialized = -32002, - kUnknownErrorCode = -32001, - kJsonrpcReservedErrorRangeEnd = -32000, - kLspReservedErrorRangeStart = -32899, - kRequestFailed = -32803, - kServerCancelled = -32802, - kContentModified = -32801, - kRequestCancelled = -32800, - kLspReservedErrorRangeEnd = -32800 + JsonrpcReservedErrorRangeStart = -32099, + ServerNotInitialized = -32002, + UnknownErrorCode = -32001, + JsonrpcReservedErrorRangeEnd = -32000, + LspReservedErrorRangeStart = -32899, + RequestFailed = -32803, + ServerCancelled = -32802, + ContentModified = -32801, + RequestCancelled = -32800, + LspReservedErrorRangeEnd = -32800 }; struct Message diff --git a/lsp-server/src/protocol/detail/rename.hpp b/lsp-server/src/protocol/detail/rename.hpp index 7cba271..ff7cf38 100644 --- a/lsp-server/src/protocol/detail/rename.hpp +++ b/lsp-server/src/protocol/detail/rename.hpp @@ -7,7 +7,7 @@ namespace lsp::protocol { enum class PrepareSupportDefaultBehavior { - kIdentifier = 1 + Identifier = 1 }; // Rename diff --git a/lsp-server/src/protocol/detail/signature_help.hpp b/lsp-server/src/protocol/detail/signature_help.hpp index 652b8f3..5417a16 100644 --- a/lsp-server/src/protocol/detail/signature_help.hpp +++ b/lsp-server/src/protocol/detail/signature_help.hpp @@ -37,9 +37,9 @@ namespace lsp::protocol enum class SignatureHelpTriggerKind { - kInvoked = 1, - kTriggerCharacter = 2, - kContentChange = 3 + Invoked = 1, + TriggerCharacter = 2, + ContentChange = 3 }; struct ParammeterInformation diff --git a/lsp-server/src/protocol/detail/symbols.hpp b/lsp-server/src/protocol/detail/symbols.hpp index 8694587..fb05272 100644 --- a/lsp-server/src/protocol/detail/symbols.hpp +++ b/lsp-server/src/protocol/detail/symbols.hpp @@ -8,32 +8,32 @@ namespace lsp::protocol { enum class SymbolKind { - kFile = 1, - kModule = 2, - kNamespace = 3, - kPackage = 4, - kClass = 5, - kMethod = 6, - kProperty = 7, - kField = 8, - kConstructor = 9, - kEnum = 10, - kInterface = 11, - kFunction = 12, - kVariable = 13, - kConstant = 14, - kString = 15, - kNumber = 16, - kBoolean = 17, - kArray = 18, - kObject = 19, - kKey = 20, - kNull = 21, - kEnumMember = 22, - kStruct = 23, - kEvent = 24, - kOperator = 25, - kTypeParameter = 26 + File = 1, + Module = 2, + Namespace = 3, + Package = 4, + Class = 5, + Method = 6, + Property = 7, + Field = 8, + Constructor = 9, + Enum = 10, + Interface = 11, + Function = 12, + Variable = 13, + Constant = 14, + String = 15, + Number = 16, + Boolean = 17, + Array = 18, + Object = 19, + Key = 20, + Null = 21, + EnumMember = 22, + Struct = 23, + Event = 24, + Operator = 25, + TypeParameter = 26 }; enum class SymbolTag diff --git a/lsp-server/src/provider/client/register_capability.cpp b/lsp-server/src/provider/client/register_capability.cpp index 75700ad..b7e9d90 100644 --- a/lsp-server/src/provider/client/register_capability.cpp +++ b/lsp-server/src/provider/client/register_capability.cpp @@ -27,7 +27,7 @@ namespace lsp::provider::client std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Internal error"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Internal error"); return json.value(); } } diff --git a/lsp-server/src/provider/client/unregister_capability.cpp b/lsp-server/src/provider/client/unregister_capability.cpp index b26c59b..18b729e 100644 --- a/lsp-server/src/provider/client/unregister_capability.cpp +++ b/lsp-server/src/provider/client/unregister_capability.cpp @@ -24,7 +24,7 @@ namespace lsp::provider::client std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Internal error"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Internal error"); return json.value(); } } diff --git a/lsp-server/src/provider/completion_item/resolve.cpp b/lsp-server/src/provider/completion_item/resolve.cpp index 60ac4f0..dd0ca28 100644 --- a/lsp-server/src/provider/completion_item/resolve.cpp +++ b/lsp-server/src/provider/completion_item/resolve.cpp @@ -23,7 +23,7 @@ namespace lsp::provider::completion_item if (!request.params.has_value()) { spdlog::warn("{}: Missing params in request", GetProviderName()); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "Missing params"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params"); } protocol::CompletionItem item = transform::As(request.params.value()); @@ -35,7 +35,7 @@ namespace lsp::provider::completion_item std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); return json.value(); } @@ -48,21 +48,21 @@ namespace lsp::provider::completion_item // 根据补全项类型进行解析 switch (item.kind.value()) { - case protocol::CompletionItemKind::kKeyword: + case protocol::CompletionItemKind::Keyword: ResolveKeyword(resolved); break; - case protocol::CompletionItemKind::kFunction: - case protocol::CompletionItemKind::kMethod: + case protocol::CompletionItemKind::Function: + case protocol::CompletionItemKind::Method: ResolveFunction(resolved, execution_context); break; - case protocol::CompletionItemKind::kClass: + case protocol::CompletionItemKind::Class: ResolveClass(resolved, execution_context); break; - case protocol::CompletionItemKind::kVariable: - case protocol::CompletionItemKind::kProperty: + case protocol::CompletionItemKind::Variable: + case protocol::CompletionItemKind::Property: ResolveVariable(resolved, execution_context); break; @@ -138,7 +138,7 @@ namespace lsp::provider::completion_item item.documentation = documentation::BuildFunctionDocumentation(*sig, source_file); item.insertText = snippet::BuildFunctionCallSnippet(*sig); - item.insertTextFormat = protocol::InsertTextFormat::kSnippet; + item.insertTextFormat = protocol::InsertTextFormat::Snippet; spdlog::trace("{}: Resolved function '{}' from '{}'", GetProviderName(), item.label, source_file); } diff --git a/lsp-server/src/provider/initialize/initialize.cpp b/lsp-server/src/provider/initialize/initialize.cpp index 6e8ad92..0fa73bd 100644 --- a/lsp-server/src/provider/initialize/initialize.cpp +++ b/lsp-server/src/provider/initialize/initialize.cpp @@ -31,7 +31,7 @@ namespace lsp::provider if (!json.has_value()) { context.TriggerLifecycleEvent(ServerLifecycleEvent::kInitializeFailed); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Internal error"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Internal error"); } context.TriggerLifecycleEvent(ServerLifecycleEvent::kInitialized); return json.value(); @@ -52,7 +52,7 @@ namespace lsp::provider { protocol::TextDocumentSyncOptions options; options.openClose = true; - options.change = protocol::TextDocumentSyncKind::kIncremental; + options.change = protocol::TextDocumentSyncKind::Incremental; return options; } diff --git a/lsp-server/src/provider/shutdown/shutdown.cpp b/lsp-server/src/provider/shutdown/shutdown.cpp index 22b4771..8b7722c 100644 --- a/lsp-server/src/provider/shutdown/shutdown.cpp +++ b/lsp-server/src/provider/shutdown/shutdown.cpp @@ -26,7 +26,7 @@ namespace lsp::provider response.id = request.id; auto json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); spdlog::info("Shutdown request processed successfully"); return json.value(); } diff --git a/lsp-server/src/provider/text_document/completion.cpp b/lsp-server/src/provider/text_document/completion.cpp index 8e4d66f..c1d8d8e 100644 --- a/lsp-server/src/provider/text_document/completion.cpp +++ b/lsp-server/src/provider/text_document/completion.cpp @@ -250,7 +250,7 @@ namespace lsp::provider::text_document if (!request.params.has_value()) { spdlog::warn("{}: Missing params in request", GetProviderName()); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "Missing params"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params"); } protocol::CompletionParams completion_params = transform::As(request.params.value()); @@ -263,7 +263,7 @@ namespace lsp::provider::text_document std::optional json = transform::Serialize(response); if (!json.has_value()) { - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); } return json.value(); @@ -344,7 +344,7 @@ namespace lsp::provider::text_document { protocol::CompletionItem item; item.label = keyword.keyword; - item.kind = protocol::CompletionItemKind::kKeyword; + item.kind = protocol::CompletionItemKind::Keyword; item.labelDetails = protocol::CompletionItemLabelDetails{ .detail = "", .description = "[K]" @@ -512,7 +512,7 @@ namespace lsp::provider::text_document { protocol::CompletionItem item; item.label = file_index.primary_symbol; - item.kind = protocol::CompletionItemKind::kClass; + item.kind = protocol::CompletionItemKind::Class; item.labelDetails = protocol::CompletionItemLabelDetails{ .detail = "", .description = "[W]" @@ -532,7 +532,7 @@ namespace lsp::provider::text_document { protocol::CompletionItem item; item.label = sys_index.primary_symbol; - item.kind = protocol::CompletionItemKind::kClass; + item.kind = protocol::CompletionItemKind::Class; item.labelDetails = protocol::CompletionItemLabelDetails{ .detail = "", .description = "[S]" @@ -686,23 +686,23 @@ namespace lsp::provider::text_document switch (symbol->kind) { case Kind::kFunction: - return protocol::CompletionItemKind::kFunction; + return protocol::CompletionItemKind::Function; case Kind::kMethod: case Kind::kConstructor: - return protocol::CompletionItemKind::kMethod; + return protocol::CompletionItemKind::Method; case Kind::kClass: - return protocol::CompletionItemKind::kClass; + return protocol::CompletionItemKind::Class; case Kind::kProperty: - return protocol::CompletionItemKind::kProperty; + return protocol::CompletionItemKind::Property; case Kind::kVariable: case Kind::kParameter: - return protocol::CompletionItemKind::kVariable; + return protocol::CompletionItemKind::Variable; case Kind::kConstant: - return protocol::CompletionItemKind::kConstant; + return protocol::CompletionItemKind::Constant; case Kind::kUnit: - return protocol::CompletionItemKind::kModule; + return protocol::CompletionItemKind::Module; default: - return protocol::CompletionItemKind::kText; + return protocol::CompletionItemKind::Text; } } @@ -714,22 +714,22 @@ namespace lsp::provider::text_document { case SymbolKind::kFunction: case SymbolKind::kMethod: - return protocol::CompletionItemKind::kFunction; + return protocol::CompletionItemKind::Function; case SymbolKind::kConstructor: - return protocol::CompletionItemKind::kConstructor; + return protocol::CompletionItemKind::Constructor; case SymbolKind::kClass: - return protocol::CompletionItemKind::kClass; + return protocol::CompletionItemKind::Class; case SymbolKind::kProperty: - return protocol::CompletionItemKind::kProperty; + return protocol::CompletionItemKind::Property; case SymbolKind::kVariable: case SymbolKind::kParameter: - return protocol::CompletionItemKind::kVariable; + return protocol::CompletionItemKind::Variable; case SymbolKind::kConstant: - return protocol::CompletionItemKind::kConstant; + return protocol::CompletionItemKind::Constant; case SymbolKind::kUnit: - return protocol::CompletionItemKind::kModule; + return protocol::CompletionItemKind::Module; default: - return protocol::CompletionItemKind::kText; + return protocol::CompletionItemKind::Text; } } diff --git a/lsp-server/src/provider/text_document/definition.cpp b/lsp-server/src/provider/text_document/definition.cpp index 67571a3..afd759e 100644 --- a/lsp-server/src/provider/text_document/definition.cpp +++ b/lsp-server/src/provider/text_document/definition.cpp @@ -22,7 +22,7 @@ namespace lsp::provider::text_document if (!request.params.has_value()) { spdlog::warn("{}: Missing params in request", GetProviderName()); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "Missing params"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params"); } protocol::DefinitionParams params = transform::As(request.params.value()); @@ -43,7 +43,7 @@ namespace lsp::provider::text_document std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); return json.value(); } diff --git a/lsp-server/src/provider/text_document/references.cpp b/lsp-server/src/provider/text_document/references.cpp index 6b0e491..0ba2815 100644 --- a/lsp-server/src/provider/text_document/references.cpp +++ b/lsp-server/src/provider/text_document/references.cpp @@ -23,7 +23,7 @@ namespace lsp::provider::text_document if (!request.params.has_value()) { spdlog::warn("{}: Missing params in request", GetProviderName()); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "Missing params"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params"); } protocol::ReferenceParams params = @@ -41,7 +41,7 @@ namespace lsp::provider::text_document std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); return json.value(); } diff --git a/lsp-server/src/provider/text_document/rename.cpp b/lsp-server/src/provider/text_document/rename.cpp index ef10daf..149805e 100644 --- a/lsp-server/src/provider/text_document/rename.cpp +++ b/lsp-server/src/provider/text_document/rename.cpp @@ -27,7 +27,7 @@ namespace lsp::provider::text_document if (!request.params.has_value()) { spdlog::warn("{}: Missing params in request", GetProviderName()); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "Missing params"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params"); } protocol::RenameParams params = @@ -37,7 +37,7 @@ namespace lsp::provider::text_document if (!IsValidIdentifier(params.newName)) { spdlog::warn("{}: Invalid new name: '{}'", GetProviderName(), params.newName); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "'" + params.newName + "' is not a valid identifier"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "'" + params.newName + "' is not a valid identifier"); } auto workspace_edit_opt = BuildRenameResponse(params, context); @@ -57,7 +57,7 @@ namespace lsp::provider::text_document std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); return json.value(); } diff --git a/lsp-server/src/provider/text_document/semantic_tokens.cpp b/lsp-server/src/provider/text_document/semantic_tokens.cpp index ca67bb3..7787b9d 100644 --- a/lsp-server/src/provider/text_document/semantic_tokens.cpp +++ b/lsp-server/src/provider/text_document/semantic_tokens.cpp @@ -553,7 +553,7 @@ namespace lsp::provider::text_document auto content = doc_service.GetContent(params.textDocument.uri); if (!tree || !content) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Document not available"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Document not available"); auto tokens = CollectTokensInRange(ts_tree_root_node(tree), content.value(), ¶ms.range); auto encoded = EncodeTokens(tokens); @@ -568,7 +568,7 @@ namespace lsp::provider::text_document std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Internal error"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Internal error"); return json.value(); } @@ -582,7 +582,7 @@ namespace lsp::provider::text_document auto content = doc_service.GetContent(params.textDocument.uri); if (!tree || !content) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Document not available"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Document not available"); auto tokens = CollectTokensInRange(ts_tree_root_node(tree), content.value()); auto encoded = EncodeTokens(tokens); @@ -606,7 +606,7 @@ namespace lsp::provider::text_document spdlog::debug("SemanticTokens Full: Generated {} tokens for document: {}", encoded.size() / 5, params.textDocument.uri); std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Internal error"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Internal error"); return json.value(); } @@ -648,7 +648,7 @@ namespace lsp::provider::text_document auto content = doc_service.GetContent(params.textDocument.uri); if (!tree || !content) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Document not available"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Document not available"); // Get new tokens auto tokens = CollectTokensInRange(ts_tree_root_node(tree), content.value()); @@ -675,7 +675,7 @@ namespace lsp::provider::text_document spdlog::debug("SemanticTokens Delta: Generated {} edits for document: {}", edits.size(), params.textDocument.uri); std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Internal error"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Internal error"); return json.value(); }; diff --git a/lsp-server/src/provider/workspace/symbol.cpp b/lsp-server/src/provider/workspace/symbol.cpp index 2db6915..8f849cb 100644 --- a/lsp-server/src/provider/workspace/symbol.cpp +++ b/lsp-server/src/provider/workspace/symbol.cpp @@ -25,7 +25,7 @@ namespace lsp::provider::workspace if (!request.params.has_value()) { spdlog::warn("{}: Missing params in request", GetProviderName()); - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInvalidParams, "Missing params"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InvalidParams, "Missing params"); } protocol::WorkspaceSymbolParams params = @@ -39,7 +39,7 @@ namespace lsp::provider::workspace std::optional json = transform::Serialize(response); if (!json.has_value()) - return BuildErrorResponseMessage(request, protocol::ErrorCodes::kInternalError, "Failed to serialize response"); + return BuildErrorResponseMessage(request, protocol::ErrorCodes::InternalError, "Failed to serialize response"); return json.value(); } diff --git a/lsp-server/src/service/detail/symbol/symbol_conversion.cpp b/lsp-server/src/service/detail/symbol/symbol_conversion.cpp index cf6abc3..dae9f58 100644 --- a/lsp-server/src/service/detail/symbol/symbol_conversion.cpp +++ b/lsp-server/src/service/detail/symbol/symbol_conversion.cpp @@ -66,24 +66,24 @@ namespace lsp::service switch (kind) { case SymbolKind::kUnit: - return protocol::CompletionItemKind::kModule; + return protocol::CompletionItemKind::Module; case SymbolKind::kClass: - return protocol::CompletionItemKind::kClass; + return protocol::CompletionItemKind::Class; case SymbolKind::kFunction: case SymbolKind::kMethod: - return protocol::CompletionItemKind::kFunction; + return protocol::CompletionItemKind::Function; case SymbolKind::kConstructor: - return protocol::CompletionItemKind::kConstructor; + return protocol::CompletionItemKind::Constructor; case SymbolKind::kProperty: - return protocol::CompletionItemKind::kProperty; + return protocol::CompletionItemKind::Property; case SymbolKind::kVariable: - return protocol::CompletionItemKind::kVariable; + return protocol::CompletionItemKind::Variable; case SymbolKind::kConstant: - return protocol::CompletionItemKind::kConstant; + return protocol::CompletionItemKind::Constant; case SymbolKind::kParameter: - return protocol::CompletionItemKind::kVariable; + return protocol::CompletionItemKind::Variable; default: - return protocol::CompletionItemKind::kText; + return protocol::CompletionItemKind::Text; } } @@ -92,24 +92,24 @@ namespace lsp::service switch (kind) { case SymbolKind::kUnit: - return protocol::SymbolKind::kModule; + return protocol::SymbolKind::Module; case SymbolKind::kClass: - return protocol::SymbolKind::kClass; + return protocol::SymbolKind::Class; case SymbolKind::kFunction: case SymbolKind::kMethod: - return protocol::SymbolKind::kFunction; + return protocol::SymbolKind::Function; case SymbolKind::kConstructor: - return protocol::SymbolKind::kConstructor; + return protocol::SymbolKind::Constructor; case SymbolKind::kProperty: - return protocol::SymbolKind::kProperty; + return protocol::SymbolKind::Property; case SymbolKind::kVariable: - return protocol::SymbolKind::kVariable; + return protocol::SymbolKind::Variable; case SymbolKind::kConstant: - return protocol::SymbolKind::kConstant; + return protocol::SymbolKind::Constant; case SymbolKind::kParameter: - return protocol::SymbolKind::kVariable; + return protocol::SymbolKind::Variable; default: - return protocol::SymbolKind::kVariable; + return protocol::SymbolKind::Variable; } } diff --git a/lsp-server/src/service/parser.cpp b/lsp-server/src/service/parser.cpp index fe05320..a9426f3 100644 --- a/lsp-server/src/service/parser.cpp +++ b/lsp-server/src/service/parser.cpp @@ -207,9 +207,10 @@ namespace lsp::service table.deserializer = std::make_unique(); auto ast_result = table.deserializer->Parse(ts_tree_root_node(tree), content); - if (!ast_result.IsSuccess()) + if (ast_result.HasErrors()) { - spdlog::error("Failed to deserialize AST: {}", ast_result.HasErrors()); + for (const auto& it : ast_result.errors) + spdlog::warn("Parse Error = {}", it.message); return std::nullopt; } table.ast_nodes = std::move(ast_result.nodes);