#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 semanticTokens(ASTInfo& AST); /// Generate semantic tokens for all files. index::Shared> indexSemanticTokens(ASTInfo& AST); } // namespace feature } // namespace clice