47 lines
2.0 KiB
Plaintext
47 lines
2.0 KiB
Plaintext
## Syntax highlighting for (Postgres) SQL scripts.
|
|
|
|
syntax sql "\.sql$"
|
|
comment "-- "
|
|
|
|
# Types.
|
|
color green "\<(integer|int[248]|(big|small)?(int|serial)|decimal|numeric|real|double precision)\>"
|
|
color green "\<(bit( varying)?|boolean|bytea|enum|money|tsvector|uuid)\>"
|
|
color green "\<(char|varchar|character( varying)?|text)\>"
|
|
color green "\<(date|interval|time(stamp)?( with(out)? time zone)?)\>"
|
|
color green "\<(box|circle|line|lseg|path|point|polygon)\>"
|
|
color green "\<(cidr|inet|macaddr8?)\>"
|
|
color green "\<(date|int[48]|num|ts|tstz)range\>"
|
|
|
|
# SQL keywords.
|
|
color blue "\<(ABORT|AGGREGATE|ALTER|ANALYZE|AND|AS|AUTHORIZATION|BEGIN|CAST|CHECKPOINT|CLASS|CLOSE)\>"
|
|
color blue "\<(CLUSTER|COLLATION|COMMENT|COMMIT|CONFIGURATION|CONSTRAINTS|CONVERSION|COPY|CREATE)\>"
|
|
color blue "\<(DATA|DATABASE|DEALLOCATE|DECLARE|DEFAULT|DELETE|DICTIONARY|DISCARD|DO|DOMAIN|DROP)\>"
|
|
color blue "\<(END|EVENT|EXECUTE|EXPLAIN|EXTENSION|FAMILY|FETCH|FOREIGN|FROM|FUNCTION)\>"
|
|
color blue "\<(GRANT|GROUP|IF NOT EXISTS|IMMUTABLE|INDEX|INSERT|INTO|LABEL|LANGUAGE|LARGE|LOAD|LOCK)\>"
|
|
color blue "\<(MAPPING FOR|MATERIALIZED|MOVE|NOTIFY|OBJECT|OPERATOR|OPTIONS|OWNED|OWNER)\>"
|
|
color blue "\<(PARSER|PREPARED?|PRIVILEGES|REASSIGN|REFRESH|RELEASE|RESET|REVOKE|ROLE|ROLLBACK|RULE)\>"
|
|
color blue "\<(SAVEPOINT|SCHEMA|SEARCH|SECURITY|SELECT|SEQUENCE|SERVER|SESSION|SET|SHOW|SPACE|START|SYSTEM)\>"
|
|
color blue "\<(TABLE|TEXT|TO|TRANSACTION|TYPE|UPDATE|USER|VACUUM|VALUES|VIEW|WHERE|WITH|WRAPPER)\>"
|
|
|
|
# Flow control.
|
|
color brightyellow "\<(CASE|WHEN|IF|THEN|ELSE|ELSE?IF|LOOP|CONTINUE|EXIT)\>"
|
|
color brightyellow "\<(FOR|FOREACH|IN|WHILE|END (CASE|IF|LOOP))\>"
|
|
color magenta "\<(RAISE|EXCEPTION|NOTICE|RETURN)\>"
|
|
|
|
# Trailing whitespace.
|
|
color ,green "[[:space:]]+$"
|
|
|
|
# Strings, double-quoted and single-quoted.
|
|
color green ""([^"]|\\")*"|'([^']|\\')*'"
|
|
|
|
# Comments.
|
|
color red "--.*"
|
|
color brightblue "//.*"
|
|
color brightblue start="/\*" end="\*/"
|
|
|
|
# PostgreSQL default schemas.
|
|
color brightred "\<(pg_catalog|public)\>"
|
|
|
|
# PostgreSQL PLs.
|
|
color brightblue "\<pl(java|perlu?|pgsql|py|pythonu?|r|ruby|scheme|sh|tcl)\>"
|