# HQL syntax highlighting # by Michal Lorek <michal.lorek@gmail.com> caseinsensitive context default # Keywords keyword whole TRUE white keyword whole FALSE white keyword whole ALL white keyword whole NONE white keyword whole AND white keyword whole OR white keyword whole NOT white keyword whole ! brightcyan keyword whole LIKE white keyword whole ANY white keyword whole IF white keyword whole EXISTS white keyword whole ASC white keyword whole DESC white keyword whole NULLS white keyword whole LAST white keyword whole ORDER white keyword whole GROUP white keyword whole BY white keyword whole HAVING white keyword whole WHERE white keyword whole FROM white keyword whole AS white keyword whole SELECT white keyword whole DISTINCT white keyword whole INSERT white keyword whole OVERWRITE magenta keyword whole OUTER white keyword whole UNIQUEJOIN white keyword whole PRESERVE white keyword whole JOIN white keyword whole LEFT white keyword whole RIGHT white keyword whole FULL white keyword whole ON white keyword whole PARTITION white keyword whole PARTITIONS white keyword whole TABLE white keyword whole TABLES white keyword whole COLUMNS white keyword whole INDEX white keyword whole INDEXES white keyword whole REBUILD white keyword whole FUNCTIONS white keyword whole SHOW white keyword whole MSCK white keyword whole REPAIR white keyword whole DIRECTORY magenta keyword whole LOCAL magenta keyword whole TRANSFORM white keyword whole USING white keyword whole CLUSTER white keyword whole DISTRIBUTE white keyword whole SORT white keyword whole UNION white keyword whole EXCEPT white keyword whole LOAD white keyword whole EXPORT white keyword whole IMPORT white keyword whole REPLICATION white keyword whole METADATA white keyword whole DATA white keyword whole INPATH white keyword whole IS white keyword whole NULL white keyword whole CREATE white keyword whole EXTERNAL white keyword whole ALTER white keyword whole CHANGE white keyword whole COLUMN white keyword whole FIRST white keyword whole AFTER white keyword whole DESCRIBE magenta keyword whole DROP white keyword whole RENAME white keyword whole TO white keyword whole COMMENT white keyword whole BOOLEAN white keyword whole TINYINT white keyword whole SMALLINT white keyword whole INT white keyword whole INTEGER white keyword whole BIGINT white keyword whole FLOAT white keyword whole DOUBLE white keyword whole PRECISION white keyword whole DATE white keyword whole DATETIME white keyword whole TIMESTAMP white keyword whole TIMESTAMPTZ white keyword whole TIME white keyword whole ZONE white keyword whole INTERVAL white keyword whole DECIMAL white keyword whole DEC white keyword whole NUMERIC white keyword whole STRING white keyword whole CHAR white keyword whole VARCHAR white keyword whole ARRAY white keyword whole STRUCT white keyword whole MAP white keyword whole UNIONTYPE white keyword whole REDUCE white keyword whole PARTITIONED white keyword whole CLUSTERED white keyword whole SORTED white keyword whole INTO white keyword whole BUCKETS white keyword whole ROW magenta keyword whole ROWS magenta keyword whole FORMAT magenta keyword whole DELIMITED magenta keyword whole FIELDS magenta keyword whole TERMINATED magenta keyword whole ESCAPED magenta keyword whole COLLECTION white keyword whole ITEMS white keyword whole KEYS white keyword whole $KEY$ white keyword whole LINES magenta keyword whole STORED magenta keyword whole FILEFORMAT magenta keyword whole INPUTFORMAT magenta keyword whole OUTPUTFORMAT magenta keyword whole INPUTDRIVER white keyword whole OUTPUTDRIVER white keyword whole ENABLE white keyword whole DISABLE white keyword whole LOCATION magenta keyword whole TABLESAMPLE white keyword whole BUCKET white keyword whole OUT white keyword whole OF white keyword whole PERCENT white keyword whole CAST cyan keyword whole ADD white keyword whole REPLACE white keyword whole RLIKE white keyword whole REGEXP white keyword whole TEMPORARY white keyword whole FUNCTION white keyword whole MACRO white keyword whole FILE white keyword whole JAR white keyword whole EXPLAIN white keyword whole EXTENDED white keyword whole FORMATTED white keyword whole PRETTY white keyword whole DEPENDENCY white keyword whole LOGICAL white keyword whole SERDE white keyword whole WITH white keyword whole DEFERRED white keyword whole SERDEPROPERTIES white keyword whole DBPROPERTIES white keyword whole LIMIT white keyword whole OFFSET white keyword whole SET white keyword whole UNSET white keyword whole TBLPROPERTIES white keyword whole IDXPROPERTIES white keyword whole $VALUE$ white keyword whole $ELEM$ white keyword whole DEFINED white keyword whole CASE white keyword whole WHEN white keyword whole THEN white keyword whole ELSE white keyword whole END white keyword whole MAPJOIN white keyword whole STREAMTABLE white keyword whole CLUSTERSTATUS white keyword whole UTC white keyword whole UTC_TMESTAMP white keyword whole LONG white keyword whole DELETE white keyword whole PLUS white keyword whole MINUS white keyword whole FETCH white keyword whole INTERSECT white keyword whole VIEW white keyword whole VIEWS white keyword whole IN white keyword whole DATABASE white keyword whole DATABASES white keyword whole MATERIALIZED white keyword whole SCHEMA white keyword whole SCHEMAS white keyword whole GRANT white keyword whole REVOKE white keyword whole SSL white keyword whole UNDO white keyword whole LOCK white keyword whole LOCKS white keyword whole UNLOCK white keyword whole SHARED white keyword whole EXCLUSIVE white keyword whole PROCEDURE white keyword whole UNSIGNED white keyword whole WHILE white keyword whole READ white keyword whole READS white keyword whole PURGE white keyword whole RANGE white keyword whole ANALYZE white keyword whole BEFORE white keyword whole BETWEEN white keyword whole BOTH white keyword whole BINARY white keyword whole CROSS white keyword whole CONTINUE white keyword whole CURSOR white keyword whole TRIGGER white keyword whole RECORDREADER white keyword whole RECORDWRITER white keyword whole SEMI white keyword whole LATERAL magenta keyword whole TOUCH white keyword whole ARCHIVE magenta keyword whole UNARCHIVE magenta keyword whole COMPUTE white keyword whole STATISTICS white keyword whole USE magenta keyword whole OPTION white keyword whole CONCATENATE magenta keyword whole SHOW_DATABASE white keyword whole UPDATE white keyword whole RESTRICT white keyword whole CASCADE white keyword whole SKEWED white keyword whole ROLLUP white keyword whole CUBE white keyword whole DIRECTORIES white keyword whole FOR white keyword whole WINDOW white keyword whole UNBOUNDED white keyword whole PRECEDING white keyword whole FOLLOWING white keyword whole CURRENT white keyword whole CURRENT_DATE white keyword whole CURRENT_TIMESTAMP white keyword whole LESS white keyword whole MORE white keyword whole OVER white keyword whole GROUPING white keyword whole SETS white keyword whole TRUNCATE white keyword whole NOSCAN white keyword whole PARTIALSCAN white keyword whole USER white keyword whole ROLE white keyword whole ROLES white keyword whole INNER white keyword whole EXCHANGE white keyword whole URI white keyword whole SERVER white keyword whole ADMIN white keyword whole OWNER white keyword whole PRINCIPALS white keyword whole COMPACT white keyword whole COMPACTIONS white keyword whole TRANSACTIONS white keyword whole REWRITE white keyword whole AUTHORIZATION white keyword whole CONF white keyword whole VALUES white keyword whole RELOAD white keyword whole YEAR white keyword whole YEARS white keyword whole QUARTER white keyword whole MONTH white keyword whole MONTHS white keyword whole WEEK white keyword whole WEEKS white keyword whole DAY white keyword whole DAYS white keyword whole DAYOFWEEK white keyword whole HOUR white keyword whole HOURS white keyword whole MINUTE white keyword whole MINUTES white keyword whole SECOND white keyword whole SECONDS white keyword whole START white keyword whole TRANSACTION white keyword whole COMMIT white keyword whole ROLLBACK white keyword whole WORK white keyword whole ONLY white keyword whole WRITE white keyword whole ISOLATION white keyword whole LEVEL white keyword whole SNAPSHOT white keyword whole AUTOCOMMIT white keyword whole CACHE white keyword whole PRIMARY white keyword whole FOREIGN white keyword whole REFERENCES white keyword whole CONSTRAINT white keyword whole VALIDATE white keyword whole NOVALIDATE white keyword whole RELY white keyword whole NORELY white keyword whole UNIQUE white keyword whole KEY white keyword whole ABORT white keyword whole EXTRACT white keyword whole FLOOR white keyword whole MERGE white keyword whole MATCHED white keyword whole REPL white keyword whole DUMP white keyword whole STATUS white keyword whole VECTORIZATION white keyword whole SUMMARY white keyword whole OPERATOR white keyword whole EXPRESSION white keyword whole DETAIL white keyword whole WAIT white # Storage Formats keyword whole TEXTFILE brightblue keyword whole ORC brightblue keyword whole SEQUENCEFILE brightblue keyword whole RCFILE brightblue keyword whole PARQUET brightblue keyword whole AVRO brightblue # Comments keyword /\* brown keyword \*/ brown keyword -- brown # Operators keyword > brightcyan keyword < brightcyan keyword \+ brightcyan keyword - brightcyan keyword \* brightcyan keyword / brightcyan keyword % brightcyan keyword = brightcyan keyword ( brightcyan keyword ) brightcyan keyword , brightcyan keyword ; brightcyan keyword . white keyword \| white keyword != white keyword \^ white keyword \~ white keyword whole DIV white keyword [ brightcyan keyword ] brightcyan keyword { brightcyan keyword } brightcyan keyword : white keyword & white keyword ? white # Mathematical Functions keyword whole round yellow keyword whole bround yellow keyword whole floor yellow keyword whole ceil yellow keyword whole rand yellow keyword whole exp yellow keyword whole ln yellow keyword whole log10 yellow keyword whole log2 yellow keyword whole log yellow keyword whole pow yellow keyword whole sqrt yellow keyword whole bin yellow keyword whole hex yellow keyword whole unhex yellow keyword whole conv yellow keyword whole abs yellow keyword whole pmod yellow keyword whole sin yellow keyword whole asin yellow keyword whole cos yellow keyword whole acos yellow keyword whole tan yellow keyword whole atan yellow keyword whole degrees yellow keyword whole radians yellow keyword whole positive yellow keyword whole negative yellow keyword whole sign yellow keyword whole e() yellow keyword whole pi() yellow keyword whole factorial yellow keyword whole cbrt yellow keyword whole shiftleft yellow keyword whole shiftright yellow keyword whole shiftrightunsigned yellow keyword whole greatest yellow keyword whole least yellow keyword whole width_bucket yellow # Collection Functions keyword whole size yellow keyword whole map_keys yellow keyword whole map_values yellow keyword whole array_contains yellow keyword whole sort_array yellow # Type Conversion # binary # keyword # cast # keyword # Date Functions keyword whole from_unixtime yellow keyword whole unix_timestamp yellow keyword whole to_date yellow keyword whole year yellow keyword whole quarter yellow keyword whole month yellow keyword whole day yellow keyword whole hour yellow keyword whole minute yellow keyword whole second yellow keyword whole weekofyear yellow keyword whole extract yellow keyword whole datediff yellow keyword whole date_add yellow keyword whole date_sub yellow keyword whole from_utc_timestamp yellow keyword whole to_utc_timestamp yellow keyword whole current_date yellow keyword whole add_months yellow keyword whole last_day yellow keyword whole next_day yellow keyword whole trunc yellow keyword whole months_between yellow keyword whole date_format yellow # Conditional Functions keyword whole if yellow keyword whole isnull yellow keyword whole isnotnull yellow keyword whole coalesce yellow keyword whole nullif yellow keyword whole assert_true yellow # String Functions keyword whole ascii yellow keyword whole base64 yellow keyword whole character_length yellow keyword whole chr yellow keyword whole concat yellow keyword whole context_ngrams yellow keyword whole concat_ws yellow keyword whole decode yellow keyword whole elt yellow keyword whole encode yellow keyword whole field yellow keyword whole find_in_set yellow keyword whole format_number yellow keyword whole get_json_object yellow keyword whole in_file yellow keyword whole instr yellow keyword whole length yellow keyword whole locate yellow keyword whole lower yellow keyword whole lpad yellow keyword whole ltrim yellow keyword whole ngrams yellow keyword whole octet_length yellow keyword whole parse_url yellow keyword whole printf yellow keyword whole regexp_extract yellow keyword whole regexp_replace yellow keyword whole repeat yellow keyword whole replace yellow keyword whole reverse yellow keyword whole rpad yellow keyword whole rtrim yellow keyword whole sentences yellow keyword whole space yellow keyword whole split yellow keyword whole str_to_map yellow keyword whole substr yellow keyword whole substr_index yellow keyword whole translate yellow keyword whole trim yellow keyword whole unbase64 yellow keyword whole upper yellow keyword whole initcap yellow keyword whole levenshtein yellow keyword whole soundex yellow # Data Masking Functions keyword whole mask yellow keyword whole mask_first_n yellow keyword whole mask_last_n yellow keyword whole mask_show_first_n yellow keyword whole mask_show_last_n yellow keyword whole mask_hash yellow # Misc. Functions keyword whole java_method yellow keyword whole reflect yellow keyword whole hash yellow keyword whole current_user yellow keyword whole logged_user yellow keyword whole md5 yellow keyword whole sha1 yellow keyword whole sha yellow keyword whole crc32 yellow keyword whole sha2 yellow keyword whole aes_encrypt yellow keyword whole aes_decrypt yellow keyword whole version yellow # xpath keyword whole xpath yellow keyword whole xpath_short yellow keyword whole xpath_int yellow keyword whole xpath_long yellow keyword whole xpath_float yellow keyword whole xpath_double yellow keyword whole xpath_number yellow keyword whole xpath_string yellow # Aggregate Functions keyword whole count yellow keyword whole sum yellow keyword whole avg yellow keyword whole min yellow keyword whole max yellow keyword whole variance yellow keyword whole var_samp yellow keyword whole stddev_pop yellow keyword whole stddev_samp yellow keyword whole covar_pop yellow keyword whole covar_samp yellow keyword whole corr yellow keyword whole percentile yellow keyword whole regr_avgx yellow keyword whole regr_avgy yellow keyword whole regr_count yellow keyword whole regr_intercept yellow keyword whole regr_r2 yellow keyword whole regr_slope yellow keyword whole regr_sxx yellow keyword whole regr_sxy yellow keyword whole regr_syy yellow keyword whole histogram_numeric yellow keyword whole collect_set yellow keyword whole collect_list yellow keyword whole ntile yellow # Table-Generating Functions keyword whole explode yellow keyword whole posexplode yellow keyword whole inline yellow keyword whole stack yellow keyword whole json_tuple yellow keyword whole parse_url yellow # Window Functions keyword whole lead yellow keyword whole lag yellow keyword whole first_value yellow keyword whole last_value yellow keyword whole rank yellow keyword whole row_number yellow keyword whole dense_rank yellow keyword whole cume_dist yellow keyword whole percent_rank yellow keyword whole ntile yellow # Variables # oozie variables keyword whole ${+} brightgreen # hive variables keyword whole ${hiveconf:+} magenta # Hive options keyword wholeright hive.+.+.+ red keyword wholeright tez.+.+ red keyword wholeright mapreduce.+.+ red # Literals # float keyword whole \[0123456789\]\{.\}\[0123456789\] brightmagenta # float e notation keyword whole \[0123456789\]\[.\]\[0123456789\]\{e\}\[\+-\]\{0123456789\}\[0123456789\] brightmagenta # tinyint keyword whole \{0123456789\}\[0123456789\]Y magenta # smallint keyword whole \{0123456789\}\[0123456789\]S magenta # bigint keyword whole \{0123456789\}\[0123456789\]L magenta # int keyword whole \{0123456789\}\[0123456789\] brightmagenta # big decimal keyword whole \{0123456789\}\[0123456789\]BD magenta context exclusive -- \n brown spellcheck context exclusive /\* \*/ brown spellcheck context ' ' green keyword \\' brightgreen # oozie variables keyword whole ${+} brightgreen # hive variables keyword whole ${hiveconf:+} magenta context " " red keyword \\" brightred