#pragma once namespace clice { // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens // The protocol defines a set of token types and modifiers but clients are // allowed to extend these and announce the values they support in the // corresponding client capability. enum class SemanticTokenTypes { Namespace, Type, Class, Enum, Interface, Struct, TypeParameter, Parameter, Variable, Property, EnumMember, Event, Function, Method, Macro, Keyword, Modifier, Comment, String, Number, Regexp, Operator, Decorator // @since 3.17.0 }; enum SemanticTokenModifiers { Declaration, Definition, Readonly, Static, Deprecated, Abstract, Async, Modification, Documentation, DefaultLibrary }; struct SemanticTokensLegend { std::vector tokenTypes; std::vector tokenModifiers; }; } // namespace clice