diff options
| author | Yong He <yonghe@outlook.com> | 2022-07-01 15:09:24 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-01 15:09:24 -0700 |
| commit | 0bf899a5f8110fbea97272bdda03b68b91745e51 (patch) | |
| tree | 6e6a0e0210c84e911e563fe3ca6ca4ec4c2dbf4d /source/compiler-core/slang-language-server-protocol.cpp | |
| parent | b0ea5ed4da709312910898fa03b4dafc7a27e358 (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.cpp | 38 |
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; |
