diff options
| author | YDBot <[email protected]> | 2025-10-23 18:38:13 +0000 |
|---|---|---|
| committer | YDBot <[email protected]> | 2025-10-23 18:38:13 +0000 |
| commit | 564cf7cb2255a107b4f44c18b2a1844041f20b4d (patch) | |
| tree | 6a4a60e8bde612dcc3ac7fd93fffbd36351d4e35 /yql/essentials/sql/v1/highlight/sql_highlight.cpp | |
| parent | 89a17b25091c24744b7ebd0650b5b810457b1145 (diff) | |
| parent | a703d86902fd02bd8e373d959b2498c034657449 (diff) | |
Merge pull request #27203 from ydb-platform/merge-rightlib-251021-0051
Diffstat (limited to 'yql/essentials/sql/v1/highlight/sql_highlight.cpp')
| -rw-r--r-- | yql/essentials/sql/v1/highlight/sql_highlight.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/yql/essentials/sql/v1/highlight/sql_highlight.cpp b/yql/essentials/sql/v1/highlight/sql_highlight.cpp index 3f17934cef4..9ad8c6b383b 100644 --- a/yql/essentials/sql/v1/highlight/sql_highlight.cpp +++ b/yql/essentials/sql/v1/highlight/sql_highlight.cpp @@ -1,10 +1,11 @@ #include "sql_highlight.h" +#include "data_language_json.h" + #include <yql/essentials/sql/v1/lexer/regex/regex.h> #include <contrib/libs/re2/re2/re2.h> -#include <library/cpp/json/json_reader.h> #include <library/cpp/resource/resource.h> #include <util/generic/algorithm.h> @@ -104,6 +105,11 @@ TUnit MakeUnit<EUnitKind::BindParameterIdentifier>(Syntax& s) { template <> TUnit MakeUnit<EUnitKind::OptionIdentifier>(Syntax& s) { + TVector<NSQLTranslationV1::TRegexPattern> hints; + for (const TString& type : LoadHints()) { + hints.emplace_back(CaseInsensitive(type)); + } + return { .Kind = EUnitKind::OptionIdentifier, .Patterns = { @@ -113,25 +119,16 @@ TUnit MakeUnit<EUnitKind::OptionIdentifier>(Syntax& s) { .Before = TStringBuilder() << "PRAGMA" << s.Get("WS"), .IsCaseInsensitive = true, }, - { - .Body = s.Get("ID_PLAIN"), - .Before = TStringBuilder() << "WITH" << s.Get("WS"), - .IsCaseInsensitive = true, - }, - { - .Body = s.Get("ID_PLAIN"), - .After = " ?" + s.Get("EQUALS"), - .IsCaseInsensitive = true, - }}, + {Merged(std::move(hints))}, + }, }; } template <> TUnit MakeUnit<EUnitKind::TypeIdentifier>(Syntax& s) { TVector<NSQLTranslationV1::TRegexPattern> types; - NJson::TJsonValue json = NJson::ReadJsonFastTree(NResource::Find("types.json")); - for (const NJson::TJsonValue& value : json.GetArraySafe()) { - types.emplace_back(CaseInsensitive(value["name"].GetStringSafe())); + for (const TString& type : LoadTypes()) { + types.emplace_back(CaseInsensitive(type)); } return { |
