diff options
Diffstat (limited to 'source/compiler-core')
| -rw-r--r-- | source/compiler-core/slang-language-server-protocol.cpp | 34 | ||||
| -rw-r--r-- | source/compiler-core/slang-language-server-protocol.h | 14 |
2 files changed, 48 insertions, 0 deletions
diff --git a/source/compiler-core/slang-language-server-protocol.cpp b/source/compiler-core/slang-language-server-protocol.cpp index 628baf08d..93ea0c9e3 100644 --- a/source/compiler-core/slang-language-server-protocol.cpp +++ b/source/compiler-core/slang-language-server-protocol.cpp @@ -257,6 +257,29 @@ static const StructRttiInfo _makeServerCapabilitiesRtti() } const StructRttiInfo ServerCapabilities::g_rttiInfo = _makeServerCapabilitiesRtti(); +static const StructRttiInfo _makeVSServerCapabilitiesRtti() +{ + VSServerCapabilities obj; + StructRttiBuilder builder(&obj, "LanguageServerProtocol::ServerCapabilities", nullptr); + builder.addField("positionEncoding", &obj.positionEncoding); + builder.addField("textDocumentSync", &obj.textDocumentSync); + builder.addField("workspace", &obj.workspace); + builder.addField("hoverProvider", &obj.hoverProvider); + builder.addField("inlayHintProvider", &obj.inlayHintProvider); + builder.addField("documentOnTypeFormattingProvider", &obj.documentOnTypeFormattingProvider); + builder.addField("documentFormattingProvider", &obj.documentFormattingProvider); + builder.addField("documentRangeFormattingProvider", &obj.documentRangeFormattingProvider); + builder.addField("definitionProvider", &obj.definitionProvider); + builder.addField("completionProvider", &obj.completionProvider); + builder.addField("semanticTokensProvider", &obj.semanticTokensProvider); + builder.addField("signatureHelpProvider", &obj.signatureHelpProvider); + builder.addField("documentSymbolProvider", &obj.documentSymbolProvider); + builder.addField("_vs_projectContextProvider", &obj._vs_projectContextProvider); + builder.ignoreUnknownFields(); + return builder.make(); +} +const StructRttiInfo VSServerCapabilities::g_rttiInfo = _makeVSServerCapabilitiesRtti(); + static const StructRttiInfo _makeServerInfoRtti() { ServerInfo obj; @@ -280,6 +303,17 @@ static const StructRttiInfo _makeInitializeResultRtti() } const StructRttiInfo InitializeResult::g_rttiInfo = _makeInitializeResultRtti(); +static const StructRttiInfo _makeVSInitializeResultRtti() +{ + VSInitializeResult obj; + StructRttiBuilder builder(&obj, "LanguageServerProtocol::VSInitializeResult", nullptr); + builder.addField("capabilities", &obj.capabilities); + builder.addField("serverInfo", &obj.serverInfo); + builder.ignoreUnknownFields(); + return builder.make(); +} +const StructRttiInfo VSInitializeResult::g_rttiInfo = _makeVSInitializeResultRtti(); + const UnownedStringSlice InitializeParams::methodName = UnownedStringSlice::fromLiteral("initialize"); diff --git a/source/compiler-core/slang-language-server-protocol.h b/source/compiler-core/slang-language-server-protocol.h index 316c15c04..3dcc90be1 100644 --- a/source/compiler-core/slang-language-server-protocol.h +++ b/source/compiler-core/slang-language-server-protocol.h @@ -299,6 +299,12 @@ struct ServerCapabilities static const StructRttiInfo g_rttiInfo; }; +struct VSServerCapabilities : ServerCapabilities +{ + bool _vs_projectContextProvider = false; + static const StructRttiInfo g_rttiInfo; +}; + struct WorkspaceFolder { String uri; @@ -327,6 +333,14 @@ struct InitializeResult static const StructRttiInfo g_rttiInfo; }; +struct VSInitializeResult +{ + VSServerCapabilities capabilities; + ServerInfo serverInfo; + + static const StructRttiInfo g_rttiInfo; +}; + struct ShutdownParams { static const UnownedStringSlice methodName; |
