summaryrefslogtreecommitdiffstats
path: root/source/compiler-core/slang-language-server-protocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler-core/slang-language-server-protocol.cpp')
-rw-r--r--source/compiler-core/slang-language-server-protocol.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/compiler-core/slang-language-server-protocol.cpp b/source/compiler-core/slang-language-server-protocol.cpp
index 713d209dd..51799f05e 100644
--- a/source/compiler-core/slang-language-server-protocol.cpp
+++ b/source/compiler-core/slang-language-server-protocol.cpp
@@ -215,6 +215,7 @@ static const StructRttiInfo _makeServerCapabilitiesRtti()
builder.addField("completionProvider", &obj.completionProvider);
builder.addField("semanticTokensProvider", &obj.semanticTokensProvider);
builder.addField("signatureHelpProvider", &obj.signatureHelpProvider);
+ builder.addField("documentSymbolProvider", &obj.documentSymbolProvider);
builder.ignoreUnknownFields();
return builder.make();
}
@@ -574,6 +575,35 @@ const StructRttiInfo LogMessageParams::g_rttiInfo = _makeLogMessageParamsRtti();
const UnownedStringSlice LogMessageParams::methodName =
UnownedStringSlice::fromLiteral("window/logMessage");
+static const StructRttiInfo _makeDocumentSymbolParamsRtti()
+{
+ DocumentSymbolParams obj;
+ StructRttiBuilder builder(
+ &obj, "LanguageServerProtocol::DocumentSymbolParams", &WorkDoneProgressParams::g_rttiInfo);
+ builder.addField("textDocument", &obj.textDocument);
+ builder.ignoreUnknownFields();
+ return builder.make();
+}
+const StructRttiInfo DocumentSymbolParams::g_rttiInfo = _makeDocumentSymbolParamsRtti();
+const UnownedStringSlice DocumentSymbolParams::methodName =
+ UnownedStringSlice::fromLiteral("textDocument/documentSymbol");
+
+static const StructRttiInfo _makeDocumentSymbolRtti()
+{
+ DocumentSymbol obj;
+ StructRttiBuilder builder(
+ &obj, "LanguageServerProtocol::DocumentSymbol", nullptr);
+ builder.addField("name", &obj.name);
+ builder.addField("detail", &obj.detail);
+ builder.addField("kind", &obj.kind);
+ builder.addField("range", &obj.range);
+ builder.addField("selectionRange", &obj.selectionRange);
+ builder.addField("children", &obj.children);
+ builder.ignoreUnknownFields();
+ return builder.make();
+}
+const StructRttiInfo DocumentSymbol::g_rttiInfo = _makeDocumentSymbolRtti();
+
} // namespace LanguageServerProtocol
}