syntax: sql: colorize keywords regardless of case, and tweak the colors
Make types a bluish green, for more contrast with strings, so that the latter can be made greener, for more contrast with the yellow keywords. Make the main keywords bluer and less bright, and unbold and soften the yellow ones. Soften the comments too. Reference for case-insensitivity: https://www.postgresql.org/docs/14/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
This commit is contained in:
parent
350cdd9827
commit
d6f101daef
@ -4,49 +4,49 @@ syntax sql "\.sql$"
|
|||||||
comment "-- "
|
comment "-- "
|
||||||
|
|
||||||
# Types.
|
# Types.
|
||||||
color green "\<(integer|int[248]|(big|small)?(int|serial)|decimal|numeric|real|double precision)\>"
|
icolor #0a4 "\<(integer|int[248]|(big|small)?(int|serial)|decimal|numeric|real|double precision)\>"
|
||||||
color green "\<(bit( varying)?|boolean|bytea|enum|money|tsquery|tsvector|uuid|xml)\>"
|
icolor #0a4 "\<(bit( varying)?|boolean|bytea|enum|money|tsquery|tsvector|uuid|xml)\>"
|
||||||
color green "\<(char|varchar|character( varying)?|text|cidr|inet|macaddr8?)\>"
|
icolor #0a4 "\<(char|varchar|character( varying)?|text|cidr|inet|macaddr8?)\>"
|
||||||
color green "\<(date|interval|time(stamp)?( with(out)? time zone)?)\>"
|
icolor #0a4 "\<(date|interval|time(stamp)?( with(out)? time zone)?)\>"
|
||||||
color green "\<(box|circle|line|lseg|path|point|polygon)\>"
|
icolor #0a4 "\<(box|circle|line|lseg|path|point|polygon)\>"
|
||||||
color green "\<(date|int[48]|num|ts|tstz)range\>"
|
icolor #0a4 "\<(date|int[48]|num|ts|tstz)range\>"
|
||||||
|
|
||||||
# SQL keywords.
|
# SQL keywords.
|
||||||
color lagoon "\<(ABORT|AGGREGATE|ALL|ALTER|ANALYZE|AND|ANY|AS|BEGIN|BETWEEN|CAST|CHECKPOINT)\>"
|
icolor #48c "\<(ABORT|AGGREGATE|ALL|ALTER|ANALYZE|AND|ANY|AS|BEGIN|BETWEEN|CAST|CHECKPOINT)\>"
|
||||||
color lagoon "\<(CLOSE|CLUSTER|COLLATION|COMMENT|COMMIT|CONSTRAINTS?|CONVERSION|COPY|CREATE)\>"
|
icolor #48c "\<(CLOSE|CLUSTER|COLLATION|COMMENT|COMMIT|CONSTRAINTS?|CONVERSION|COPY|CREATE)\>"
|
||||||
color lagoon "\<(DATABASE|DEALLOCATE|DECLARE|DEFAULT|DELETE|DISCARD|DISTINCT|DO|DOMAIN|DROP)\>"
|
icolor #48c "\<(DATABASE|DEALLOCATE|DECLARE|DEFAULT|DELETE|DISCARD|DISTINCT|DO|DOMAIN|DROP)\>"
|
||||||
color lagoon "\<(END|EXCEPT|EXECUTE|EXISTS|EXPLAIN|EXTENSION|FETCH|FOREIGN (DATA WRAPPER|SCHEMA|TABLE))\>"
|
icolor #48c "\<(END|EXCEPT|EXECUTE|EXISTS|EXPLAIN|EXTENSION|FETCH|FOREIGN (DATA WRAPPER|SCHEMA|TABLE))\>"
|
||||||
color lagoon "\<(FROM|FUNCTION|GRANT|GROUP( BY)?|HAVING|IN|INDEX|INSERT|INTERSECT|INTO|IS)\>"
|
icolor #48c "\<(FROM|FUNCTION|GRANT|GROUP( BY)?|HAVING|IN|INDEX|INSERT|INTERSECT|INTO|IS)\>"
|
||||||
color lagoon "\<(NATURAL )?(INNER |OUTER |CROSS |(LEFT|RIGHT|FULL)( OUTER)? )?JOIN\>"
|
icolor #48c "\<(NATURAL )?(INNER |OUTER |CROSS |(LEFT|RIGHT|FULL)( OUTER)? )?JOIN\>"
|
||||||
color lagoon "\<((PRIMARY|FOREIGN) KEY|LANGUAGE|LOAD|LIKE|LOCK|MOVE|NOT|NOTIFY|NULL)\>"
|
icolor #48c "\<((PRIMARY|FOREIGN) KEY|LANGUAGE|LOAD|LIKE|LOCK|MOVE|NOT|NOTIFY|NULL)\>"
|
||||||
color lagoon "\<(ON|ONLY|OPERATOR( CLASS| FAMILY)?|OR|ORDER BY|PREPARED?|PRIVILEGES)\>"
|
icolor #48c "\<(ON|ONLY|OPERATOR( CLASS| FAMILY)?|OR|ORDER BY|PREPARED?|PRIVILEGES)\>"
|
||||||
color lagoon "\<(RELEASE|RESET|RETURN(S|ING)|REVOKE|ROLE|ROLLBACK|RULE|SAVEPOINT|SCHEMA)\>"
|
icolor #48c "\<(RELEASE|RESET|RETURN(S|ING)|REVOKE|ROLE|ROLLBACK|RULE|SAVEPOINT|SCHEMA)\>"
|
||||||
color lagoon "\<(SELECT|SEQUENCE|SERVER|SESSION AUTHORIZATION|SET|SHOW|START|SYSTEM)\>"
|
icolor #48c "\<(SELECT|SEQUENCE|SERVER|SESSION AUTHORIZATION|SET|SHOW|START|SYSTEM)\>"
|
||||||
color lagoon "\<(TABLE(SPACE)?|TEXT SEARCH (CONFIGURATION|DICTIONARY|PARSER|TEMPLATE))\>"
|
icolor #48c "\<(TABLE(SPACE)?|TEXT SEARCH (CONFIGURATION|DICTIONARY|PARSER|TEMPLATE))\>"
|
||||||
color lagoon "\<(TO|TRANSACTION|(EVENT )?TRIGGER|TYPE|UNION|UPDATE|USER( MAPPING)?|USING)\>"
|
icolor #48c "\<(TO|TRANSACTION|(EVENT )?TRIGGER|TYPE|UNION|UPDATE|USER( MAPPING)?|USING)\>"
|
||||||
color lagoon "\<(VACUUM|VALUES|((REFRESH )?MATERIALIZED )?VIEW|WHERE|WITH)\>"
|
icolor #48c "\<(VACUUM|VALUES|((REFRESH )?MATERIALIZED )?VIEW|WHERE|WITH)\>"
|
||||||
|
|
||||||
# Flow control.
|
# Flow control.
|
||||||
color brightyellow "\<(CASE|WHEN|IF|THEN|ELSE|ELSE?IF|LOOP|CONTINUE|EXIT)\>"
|
icolor #cc0 "\<(CASE|WHEN|IF|THEN|ELSE|ELSE?IF|LOOP|CONTINUE|EXIT)\>"
|
||||||
color brightyellow "\<(FOR|FOREACH|IN|WHILE|END (CASE|IF|LOOP))\>"
|
icolor #cc0 "\<(FOR|FOREACH|IN|WHILE|END (CASE|IF|LOOP))\>"
|
||||||
color magenta "\<(RAISE|EXCEPTION|NOTICE|RETURN)\>"
|
icolor #a4a "\<(RAISE|EXCEPTION|NOTICE|RETURN)\>"
|
||||||
|
|
||||||
# Quoted identifiers. (First scare-color all, then uncolor what is valid.)
|
# Quoted identifiers. (First scare-color all, then uncolor what is valid.)
|
||||||
color ,red ""[^"]+""
|
color ,red ""[^"]+""
|
||||||
color normal ""[[:alpha:]_][[:alnum:]_$]*""
|
color normal ""[[:alpha:]_][[:alnum:]_$]*""
|
||||||
|
|
||||||
# Strings.
|
# Strings.
|
||||||
color lime "'([^']|\\')*'"
|
color #4c0 "'([^']|\\')*'"
|
||||||
|
|
||||||
# Trailing whitespace.
|
# Trailing whitespace.
|
||||||
color ,green "[[:space:]]+$"
|
color ,green "[[:space:]]+$"
|
||||||
|
|
||||||
# Comments.
|
# Comments.
|
||||||
color pink "(--|//).*"
|
color italic,#c44 "(--|//).*"
|
||||||
color pink start="/\*" end="\*/"
|
color italic,#c44 start="/\*" end="\*/"
|
||||||
|
|
||||||
# PostgreSQL default schemas.
|
# PostgreSQL default schemas.
|
||||||
color grey "\<(pg_catalog|public)\>"
|
color grey "\<(pg_catalog|public)\>"
|
||||||
|
|
||||||
# PostgreSQL PLs.
|
# PostgreSQL PLs.
|
||||||
color mauve "\<(SQL|pl(java|perlu?|pgsql|py|pythonu?|r|ruby|scheme|sh|tcl))\>"
|
color #c08 "\<(SQL|pl(java|perlu?|pgsql|py|pythonu?|r|ruby|scheme|sh|tcl))\>"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user