#pragma once #include #include #include #include #include // TODO(vityaman): Migrate YDB to corrected version #define BindParamterIdentifier BindParameterIdentifier // NOLINT namespace NSQLHighlight { enum class EUnitKind { Keyword, Punctuation, QuotedIdentifier, BindParameterIdentifier, TypeIdentifier, FunctionIdentifier, Identifier, Literal, StringLiteral, Comment, Whitespace, Error, }; struct TRangePattern { TString Begin; TString End; }; struct TUnit { EUnitKind Kind; TVector Patterns; TMaybe> PatternsANSI; TMaybe RangePattern; bool IsPlain = true; bool IsCodeGenExcluded = false; }; struct THighlighting { TVector Units; }; THighlighting MakeHighlighting(); THighlighting MakeHighlighting(const NSQLReflect::TLexerGrammar& grammar); } // namespace NSQLHighlight