Files
clice/include/Feature/SemanticTokens.h
2025-02-21 19:39:39 +08:00

35 lines
627 B
C++

#pragma once
#include "AST/SymbolKind.h"
#include "Basic/SourceCode.h"
#include "Index/Shared.h"
namespace clice {
class ASTInfo;
namespace config {
struct SemanticTokensOption {};
}; // namespace config
namespace feature {
struct SemanticToken {
LocalSourceRange range;
SymbolKind kind;
SymbolModifiers modifiers;
};
/// Generate semantic tokens for the interested file only.
std::vector<SemanticToken> semanticTokens(ASTInfo& AST);
/// Generate semantic tokens for all files.
index::Shared<std::vector<SemanticToken>> indexSemanticTokens(ASTInfo& AST);
} // namespace feature
} // namespace clice