summaryrefslogtreecommitdiffstats
path: root/source/compiler-core/slang-language-server-protocol.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-07-01 15:09:24 -0700
committerGitHub <noreply@github.com>2022-07-01 15:09:24 -0700
commit0bf899a5f8110fbea97272bdda03b68b91745e51 (patch)
tree6e6a0e0210c84e911e563fe3ca6ca4ec4c2dbf4d /source/compiler-core/slang-language-server-protocol.cpp
parentb0ea5ed4da709312910898fa03b4dafc7a27e358 (diff)
Language server: auto completion of `import` file and directories. (#2312)
* Language server: auto completion of `import` file and directories. * Completion of include path. * Improvements. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/compiler-core/slang-language-server-protocol.cpp')
-rw-r--r--source/compiler-core/slang-language-server-protocol.cpp38
1 files changed, 27 insertions, 11 deletions
diff --git a/source/compiler-core/slang-language-server-protocol.cpp b/source/compiler-core/slang-language-server-protocol.cpp
index d2950b164..628baf08d 100644
--- a/source/compiler-core/slang-language-server-protocol.cpp
+++ b/source/compiler-core/slang-language-server-protocol.cpp
@@ -150,6 +150,17 @@ static const StructRttiInfo _makeRangeRtti()
}
const StructRttiInfo Range::g_rttiInfo = _makeRangeRtti();
+static const StructRttiInfo _makeTextEditRtti()
+{
+ TextEdit obj;
+ StructRttiBuilder builder(&obj, "LanguageServerProtocol::TextEdit", nullptr);
+ builder.addField("range", &obj.range);
+ builder.addField("newText", &obj.newText);
+ builder.ignoreUnknownFields();
+ return builder.make();
+}
+const StructRttiInfo TextEdit::g_rttiInfo = _makeTextEditRtti();
+
static const StructRttiInfo _makeDidOpenTextDocumentRtti()
{
DidOpenTextDocumentParams obj;
@@ -460,6 +471,22 @@ static const StructRttiInfo _makeCompletionItemRtti()
}
const StructRttiInfo CompletionItem::g_rttiInfo = _makeCompletionItemRtti();
+static const StructRttiInfo _makeTextEditCompletionItemRtti()
+{
+ TextEditCompletionItem obj;
+ StructRttiBuilder builder(&obj, "LanguageServerProtocol::TextEditCompletionItem", nullptr);
+ builder.addField("label", &obj.label, StructRttiInfo::Flag::Optional);
+ builder.addField("detail", &obj.detail, StructRttiInfo::Flag::Optional);
+ builder.addField("kind", &obj.kind, StructRttiInfo::Flag::Optional);
+ builder.addField("documentation", &obj.documentation, StructRttiInfo::Flag::Optional);
+ builder.addField("data", &obj.data, StructRttiInfo::Flag::Optional);
+ builder.addField("textEdit", &obj.textEdit, StructRttiInfo::Flag::Optional);
+ builder.addField("commitCharacters", &obj.commitCharacters, StructRttiInfo::Flag::Optional);
+ builder.ignoreUnknownFields();
+ return builder.make();
+}
+const StructRttiInfo TextEditCompletionItem::g_rttiInfo = _makeTextEditCompletionItemRtti();
+
static const StructRttiInfo _makeSemanticTokensParamsRtti()
{
SemanticTokensParams obj;
@@ -641,17 +668,6 @@ static const StructRttiInfo _makeDocumentSymbolRtti()
}
const StructRttiInfo DocumentSymbol::g_rttiInfo = _makeDocumentSymbolRtti();
-static const StructRttiInfo _makeTextEditRtti()
-{
- TextEdit obj;
- StructRttiBuilder builder(&obj, "LanguageServerProtocol::TextEdit", nullptr);
- builder.addField("range", &obj.range);
- builder.addField("newText", &obj.newText);
- builder.ignoreUnknownFields();
- return builder.make();
-}
-const StructRttiInfo TextEdit::g_rttiInfo = _makeTextEditRtti();
-
static const StructRttiInfo _makeInlayHintParamsRtti()
{
InlayHintParams obj;