summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-language-server-semantic-tokens.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-06-16 01:50:43 -0700
committerGitHub <noreply@github.com>2022-06-16 01:50:43 -0700
commit241def9c7619c437aad1bb620be8891e61707d8d (patch)
treed412a108bcd4bc9e52e0d6bf230b16d90df632d2 /source/slang/slang-language-server-semantic-tokens.cpp
parent23f567323e36a14e0649899b5b8811312d7ea9fd (diff)
Language server: document symbols (#2287)
* Language Server: Document Symbol outline. * Fix highlighting of extension decls. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-language-server-semantic-tokens.cpp')
-rw-r--r--source/slang/slang-language-server-semantic-tokens.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-language-server-semantic-tokens.cpp b/source/slang/slang-language-server-semantic-tokens.cpp
index 806fa69ba..ff9056e56 100644
--- a/source/slang/slang-language-server-semantic-tokens.cpp
+++ b/source/slang/slang-language-server-semantic-tokens.cpp
@@ -373,6 +373,10 @@ void ASTIterator<CallbackFunc>::visitDecl(DeclBase* decl)
{
visitExpr(typedefDecl->type.exp);
}
+ else if (auto extDecl = as<ExtensionDecl>(decl))
+ {
+ visitExpr(extDecl->targetType.exp);
+ }
if (auto container = as<ContainerDecl>(decl))
{
for (auto member : container->members)
@@ -436,7 +440,7 @@ List<SemanticToken> getSemanticTokens(Linkage* linkage, Module* module, UnownedS
List<SemanticToken> result;
auto maybeInsertToken = [&](const SemanticToken& token)
{
- if (token.line >= 0 && token.col >= 0 && token.length > 0 &&
+ if (token.line > 0 && token.col > 0 && token.length > 0 &&
token.type != SemanticTokenType::NormalText)
result.add(token);
};