-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsql.yaml
More file actions
47 lines (40 loc) · 4.55 KB
/
sql.yaml
File metadata and controls
47 lines (40 loc) · 4.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
filetype: sql
detect:
filename: "\\.sql$"
rules:
# https://www.postgresql.org/docs/current/sql-keywords-appendix.html
- special: "(?i)\\b(ABS|ABSENT|ABSOLUTE|ACOS|ACTION|ADD|ALL|ALLOCATE|ALTER|ANALYSE|ANALYZE|AND|ANY|ANY_VALUE|ARE|ARRAY|ARRAY_AGG|ARRAY_MAX_CARDINALITY|AS|ASC|ASENSITIVE|ASIN|ASSERTION|ASYMMETRIC|AT|ATAN|ATOMIC|AUTHORIZATION|AVG|BEGIN|BEGIN_FRAME|BEGIN_PARTITION|BETWEEN|BIGINT|BINARY|BIT|BIT_LENGTH|BLOB|BOOLEAN|BOTH|BTRIM|BY|CALL|CALLED|CARDINALITY|CASCADE|CASCADED|CASE|CAST|CATALOG|CEIL|CEILING|CHAR|CHARACTER|CHARACTER_LENGTH|CHAR_LENGTH|CHECK|CLASSIFIER|CLOB|CLOSE|COALESCE|COLLATE|COLLATION|COLLECT|COLUMN|COMMIT|CONDITION|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONTAINS|CONTINUE|CONVERT|COPY|CORR|CORRESPONDING|COS|COSH|COUNT|COVAR_POP|COVAR_SAMP|CREATE|CROSS|CUBE|CUME_DIST|CURRENT|CURRENT_CATALOG|CURRENT_DATE|CURRENT_DEFAULT_TRANSFORM_GROUP|CURRENT_PATH|CURRENT_ROLE|CURRENT_ROW|CURRENT_SCHEMA|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_TRANSFORM_GROUP_FOR_TYPE|CURRENT_USER|CURSOR|CYCLE|DATALINK|DATE|DAY|DEALLOCATE|DEC|DECFLOAT|DECIMAL|DECLARE|DEFAULT|DEFERRABLE|DEFERRED|DEFINE|DELETE|DENSE_RANK|DEREF|DESC|DESCRIBE|DESCRIPTOR|DETERMINISTIC|DIAGNOSTICS|DISCONNECT|DISTINCT|DLNEWCOPY|DLPREVIOUSCOPY|DLURLCOMPLETE|DLURLCOMPLETEONLY|DLURLCOMPLETEWRITE|DLURLPATH|DLURLPATHONLY|DLURLPATHWRITE|DLURLSCHEME|DLURLSERVER|DLVALUE|DO|DOMAIN|DOUBLE|DROP|DYNAMIC|EACH|ELEMENT|ELSE|EMPTY|END|END-EXEC|END_FRAME|END_PARTITION|EQUALS|ESCAPE|EVERY|EXCEPT|EXCEPTION|EXEC|EXECUTE|EXISTS|EXP|EXTERNAL|EXTRACT|FALSE|FETCH|FILTER|FIRST|FIRST_VALUE|FLOAT|FLOOR|FOR|FOREIGN|FOUND|FRAME_ROW|FREE|FROM|FULL|FUNCTION|FUSION|GET|GLOBAL|GO|GOTO|GRANT|GREATEST|GROUP|GROUPING|GROUPS|HAVING|HOLD|HOUR|IDENTITY|IMMEDIATE|IMPORT|IN|INDICATOR|INITIAL|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INT|INTEGER|INTERSECT|INTERSECTION|INTERVAL|INTO|IS|ISOLATION|JOIN|JSON|JSON_ARRAY|JSON_ARRAYAGG|JSON_EXISTS|JSON_OBJECT|JSON_OBJECTAGG|JSON_QUERY|JSON_SCALAR|JSON_SERIALIZE|JSON_TABLE|JSON_TABLE_PRIMITIVE|JSON_VALUE|KEY|LAG|LANGUAGE|LARGE|LAST|LAST_VALUE|LATERAL|LEAD|LEADING|LEAST|LEFT|LEVEL|LIKE|LIKE_REGEX|LISTAGG|LN|LOCAL|LOCALTIME|LOCALTIMESTAMP|LOG|LOG10|LOWER|LPAD|LTRIM|MATCH|MATCHES|MATCH_NUMBER|MATCH_RECOGNIZE|MAX|MEMBER|MERGE|METHOD|MIN|MINUTE|MOD|MODIFIES|MODULE|MONTH|MULTISET|NAMES|NATIONAL|NATURAL|NCHAR|NCLOB|NEW|NEXT|NO|NONE|NORMALIZE|NOT|NTH_VALUE|NTILE|NULL|NULLIF|NUMERIC|OCCURRENCES_REGEX|OCTET_LENGTH|OF|OFFSET|OLD|OMIT|ON|ONE|ONLY|OPEN|OPTION|OR|ORDER|OUT|OUTER|OUTPUT|OVER|OVERLAPS|OVERLAY|PAD|PARAMETER|PARTIAL|PARTITION|PATTERN|PER|PERCENT|PERCENTILE_CONT|PERCENTILE_DISC|PERCENT_RANK|PERIOD|PLACING|PORTION|POSITION|POSITION_REGEX|POWER|PRECEDES|PRECISION|PREPARE|PRESERVE|PRIMARY|PRIOR|PRIVILEGES|PROCEDURE|PTF|PUBLIC|RANGE|RANK|READ|READS|REAL|RECURSIVE|REF|REFERENCES|REFERENCING|REGR_AVGX|REGR_AVGY|REGR_COUNT|REGR_INTERCEPT|REGR_R2|REGR_SLOPE|REGR_SXX|REGR_SXY|REGR_SYY|RELATIVE|RELEASE|RESTRICT|RESULT|RETURN|RETURNS|REVOKE|RIGHT|ROLLBACK|ROLLUP|ROW|ROWS|ROW_NUMBER|RPAD|RTRIM|RUNNING|SAVEPOINT|SCHEMA|SCOPE|SCROLL|SEARCH|SECOND|SECTION|SEEK|SELECT|SENSITIVE|SESSION|SESSION_USER|SET|SHOW|SIMILAR|SIN|SINH|SIZE|SKIP|SMALLINT|SOME|SPACE|SPECIFIC|SPECIFICTYPE|SQL|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|SQRT|START|STATIC|STDDEV_POP|STDDEV_SAMP|SUBMULTISET|SUBSET|SUBSTRING|SUBSTRING_REGEX|SUCCEEDS|SUM|SYMMETRIC|SYSTEM|SYSTEM_TIME|SYSTEM_USER|TABLE|TABLESAMPLE|TAN|TANH|TEMPORARY|THEN|TIME|TIMESTAMP|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TRAILING|TRANSACTION|TRANSLATE|TRANSLATE_REGEX|TRANSLATION|TREAT|TRIGGER|TRIM|TRIM_ARRAY|TRUE|TRUNCATE|UESCAPE|UNION|UNIQUE|UNKNOWN|UNNEST|UPDATE|UPPER|USAGE|USER|USING|VALUE|VALUES|VALUE_OF|VARBINARY|VARCHAR|VARIADIC|VARYING|VAR_POP|VAR_SAMP|VERSIONING|VIEW|WHEN|WHENEVER|WHERE|WIDTH_BUCKET|WINDOW|WITH|WITHIN|WITHOUT|WORK|WRITE|XML|XMLAGG|XMLATTRIBUTES|XMLBINARY|XMLCAST|XMLCOMMENT|XMLCONCAT|XMLDOCUMENT|XMLELEMENT|XMLEXISTS|XMLFOREST|XMLITERATE|XMLNAMESPACES|XMLPARSE|XMLPI|XMLQUERY|XMLSERIALIZE|XMLTABLE|XMLTEXT|XMLVALIDATE|YEAR|ZONE)\\b"
# functions
- statement: "[\\w\\.]*\\w\\("
- default: "\\("
# bindings
- identifier: "%(\\(\\w+\\))?s"
- identifier: "(\\?|:\\d)"
# strings
- constant.string:
start: "\""
end: "\""
skip: "\\\\."
rules: []
- constant.string:
start: "'"
end: "'"
skip: "\\\\."
rules: []
# comments
- comment:
start: "--"
end: "$"
rules: []
- comment:
start: "//"
end: "$"
rules: []
- comment:
start: "/\\*"
end: "\\*/"
rules: []
- comment:
start: "\\{#"
end: "#\\}"
rules: []