-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpgSQL.js
More file actions
9 lines (9 loc) · 1.63 KB
/
pgSQL.js
File metadata and controls
9 lines (9 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
Prism.languages.sql = {
comment: /(^|[^\\])(\/\*[\w\W]*?\*\/|((--)|#).*?(\r?\n|$))/,
string: /("|')(\\?[\s\S])*?\1/,
function: /\b(?:COUNT|SUM|AVG|MIN|MAX|NOW|COALESCE|GREATEST|LEAST|LENGTH|SUBSTRING|UPPER|LOWER|TO_CHAR|TO_DATE|AGE|EXTRACT|ROUND|TRIM|RANK|DENSE_RANK|ROW_NUMBER|ARRAY_AGG|STRING_AGG|DATE_PART|DATE_TRUNC|RANDOM|GENERATE_SERIES|SETVAL|NEXTVAL|CURRVAL|ARRAY_LENGTH)(?=\s*\()/i,
boolean: /\b(?:TRUE|FALSE|NULL)\b/i,
keyword: /\b(?:ABORT|ABS|ACTION|ADD|AFTER|AGGREGATE|ALTER|ANALYZE|ARRAY|AS|ASC|ASSERT|ASSIGN|AT|BEGIN|BETWEEN|BIGINT|BOOLEAN|BY|CASE|CAST|CHECK|COLLATE|COLUMN|COMMENT|COMMIT|CONFLICT|CONSTRAINT|CREATE|CROSS|CURRENT|CURRENT_CATALOG|CURRENT_DATE|CURRENT_ROLE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|DECLARE|DEFAULT|DELETE|DESC|DISTINCT|DO|DROP|ELSE|END|EXCEPT|EXISTS|EXPLAIN|FETCH|FILTER|FOR|FOREIGN|FROM|FULL|GRANT|GROUP|HAVING|INNER|INSERT|INT|INTO|JOIN|LEFT|LIMIT|LOCK|LOOP|NATURAL|OFFSET|ON|ORDER|OUTER|OVER|PERFORM|PLPGSQL|PRIMARY|RAISE|REFERENCES|RETURN|RETURNING|REVOKE|RIGHT|ROLLBACK|ROW|ROWS|SELECT|SERIAL|SET|SHOW|SIMILAR|SOME|TABLE|THEN|TO|TRANSACTION|TRUNCATE|UNION|UNIQUE|UNNEST|UPDATE|USING|VALUES|VARIADIC|VIEW|WHEN|WHERE|WITH|WORK|WINDOW|LANGUAGE|VOLATILE|STABLE|IMMUTABLE|STRICT|SECURITY|DEFINER|INVOKER|EXECUTE|USAGE|SMALLINT|DECIMAL|NUMERIC|REAL|DOUBLE PRECISION|VARCHAR|TEXT|DATE|TIME|TIMESTAMP|INTERVAL|UUID|JSON|XML)\b/i, number: /\b-?(0x)?\d*\.?[\da-f]+\b/,
operator: /:=|::|\|\||->>|->|@>|<@|&&|\?|:=|->>|->|\+|-|\*|\/|%|~|!=|<>|<=|>=|<|>|\^|&|\||!|\b(?:IS DISTINCT FROM|IS NOT DISTINCT FROM|LIKE|ILIKE|NOT|SIMILAR TO|IS|IN|ANY|ALL|AND|OR|BETWEEN|OVERLAPS|UNIQUE)\b/i,
punctuation: /[;[\]()`,.]/
};