Files
clice/include/Feature/SemanticToken.h
2026-01-03 16:23:06 +08:00

30 lines
646 B
C++

#pragma once
#include "AST/SourceCode.h"
#include "AST/SymbolKind.h"
#include "Index/Shared.h"
namespace clice::config {
struct SemanticTokensOption {};
}; // namespace clice::config
namespace clice::feature {
struct SemanticToken {
LocalSourceRange range;
SymbolKind kind;
SymbolModifiers modifiers;
};
using SemanticTokens = std::vector<SemanticToken>;
/// Generate semantic tokens for the interested file only.
SemanticTokens semantic_tokens(CompilationUnitRef unit);
/// Generate semantic tokens for all files.
index::Shared<SemanticTokens> index_semantic_token(CompilationUnitRef unit);
} // namespace clice::feature