mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 19:42:56 +01:00
1359 lines
22 KiB
TypeScript
1359 lines
22 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import type { languages } from '../fillers/monaco-editor-core';
|
|
|
|
export const conf: languages.LanguageConfiguration = {
|
|
comments: {
|
|
lineComment: '--',
|
|
blockComment: ['/*', '*/']
|
|
},
|
|
brackets: [
|
|
['{', '}'],
|
|
['[', ']'],
|
|
['(', ')']
|
|
],
|
|
autoClosingPairs: [
|
|
{ open: '{', close: '}' },
|
|
{ open: '[', close: ']' },
|
|
{ open: '(', close: ')' },
|
|
{ open: '"', close: '"' },
|
|
{ open: "'", close: "'" }
|
|
],
|
|
surroundingPairs: [
|
|
{ open: '{', close: '}' },
|
|
{ open: '[', close: ']' },
|
|
{ open: '(', close: ')' },
|
|
{ open: '"', close: '"' },
|
|
{ open: "'", close: "'" }
|
|
]
|
|
};
|
|
|
|
export const language = <languages.IMonarchLanguage>{
|
|
defaultToken: '',
|
|
tokenPostfix: '.sql',
|
|
ignoreCase: true,
|
|
|
|
brackets: [
|
|
{ open: '[', close: ']', token: 'delimiter.square' },
|
|
{ open: '(', close: ')', token: 'delimiter.parenthesis' }
|
|
],
|
|
|
|
keywords: [
|
|
'A',
|
|
'ABORT',
|
|
'ABS',
|
|
'ABSENT',
|
|
'ABSOLUTE',
|
|
'ACCESS',
|
|
'ACCORDING',
|
|
'ACTION',
|
|
'ADA',
|
|
'ADD',
|
|
'ADMIN',
|
|
'AFTER',
|
|
'AGGREGATE',
|
|
'ALL',
|
|
'ALLOCATE',
|
|
'ALSO',
|
|
'ALTER',
|
|
'ALWAYS',
|
|
'ANALYSE',
|
|
'ANALYZE',
|
|
'AND',
|
|
'ANY',
|
|
'ARE',
|
|
'ARRAY',
|
|
'ARRAY_AGG',
|
|
'ARRAY_MAX_CARDINALITY',
|
|
'AS',
|
|
'ASC',
|
|
'ASENSITIVE',
|
|
'ASSERTION',
|
|
'ASSIGNMENT',
|
|
'ASYMMETRIC',
|
|
'AT',
|
|
'ATOMIC',
|
|
'ATTRIBUTE',
|
|
'ATTRIBUTES',
|
|
'AUTHORIZATION',
|
|
'AVG',
|
|
'BACKWARD',
|
|
'BASE64',
|
|
'BEFORE',
|
|
'BEGIN',
|
|
'BEGIN_FRAME',
|
|
'BEGIN_PARTITION',
|
|
'BERNOULLI',
|
|
'BETWEEN',
|
|
'BIGINT',
|
|
'BINARY',
|
|
'BIT',
|
|
'BIT_LENGTH',
|
|
'BLOB',
|
|
'BLOCKED',
|
|
'BOM',
|
|
'BOOLEAN',
|
|
'BOTH',
|
|
'BREADTH',
|
|
'BY',
|
|
'C',
|
|
'CACHE',
|
|
'CALL',
|
|
'CALLED',
|
|
'CARDINALITY',
|
|
'CASCADE',
|
|
'CASCADED',
|
|
'CASE',
|
|
'CAST',
|
|
'CATALOG',
|
|
'CATALOG_NAME',
|
|
'CEIL',
|
|
'CEILING',
|
|
'CHAIN',
|
|
'CHAR',
|
|
'CHARACTER',
|
|
'CHARACTERISTICS',
|
|
'CHARACTERS',
|
|
'CHARACTER_LENGTH',
|
|
'CHARACTER_SET_CATALOG',
|
|
'CHARACTER_SET_NAME',
|
|
'CHARACTER_SET_SCHEMA',
|
|
'CHAR_LENGTH',
|
|
'CHECK',
|
|
'CHECKPOINT',
|
|
'CLASS',
|
|
'CLASS_ORIGIN',
|
|
'CLOB',
|
|
'CLOSE',
|
|
'CLUSTER',
|
|
'COALESCE',
|
|
'COBOL',
|
|
'COLLATE',
|
|
'COLLATION',
|
|
'COLLATION_CATALOG',
|
|
'COLLATION_NAME',
|
|
'COLLATION_SCHEMA',
|
|
'COLLECT',
|
|
'COLUMN',
|
|
'COLUMNS',
|
|
'COLUMN_NAME',
|
|
'COMMAND_FUNCTION',
|
|
'COMMAND_FUNCTION_CODE',
|
|
'COMMENT',
|
|
'COMMENTS',
|
|
'COMMIT',
|
|
'COMMITTED',
|
|
'CONCURRENTLY',
|
|
'CONDITION',
|
|
'CONDITION_NUMBER',
|
|
'CONFIGURATION',
|
|
'CONFLICT',
|
|
'CONNECT',
|
|
'CONNECTION',
|
|
'CONNECTION_NAME',
|
|
'CONSTRAINT',
|
|
'CONSTRAINTS',
|
|
'CONSTRAINT_CATALOG',
|
|
'CONSTRAINT_NAME',
|
|
'CONSTRAINT_SCHEMA',
|
|
'CONSTRUCTOR',
|
|
'CONTAINS',
|
|
'CONTENT',
|
|
'CONTINUE',
|
|
'CONTROL',
|
|
'CONVERSION',
|
|
'CONVERT',
|
|
'COPY',
|
|
'CORR',
|
|
'CORRESPONDING',
|
|
'COST',
|
|
'COUNT',
|
|
'COVAR_POP',
|
|
'COVAR_SAMP',
|
|
'CREATE',
|
|
'CROSS',
|
|
'CSV',
|
|
'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',
|
|
'CURSOR_NAME',
|
|
'CYCLE',
|
|
'DATA',
|
|
'DATABASE',
|
|
'DATALINK',
|
|
'DATE',
|
|
'DATETIME_INTERVAL_CODE',
|
|
'DATETIME_INTERVAL_PRECISION',
|
|
'DAY',
|
|
'DB',
|
|
'DEALLOCATE',
|
|
'DEC',
|
|
'DECIMAL',
|
|
'DECLARE',
|
|
'DEFAULT',
|
|
'DEFAULTS',
|
|
'DEFERRABLE',
|
|
'DEFERRED',
|
|
'DEFINED',
|
|
'DEFINER',
|
|
'DEGREE',
|
|
'DELETE',
|
|
'DELIMITER',
|
|
'DELIMITERS',
|
|
'DENSE_RANK',
|
|
'DEPENDS',
|
|
'DEPTH',
|
|
'DEREF',
|
|
'DERIVED',
|
|
'DESC',
|
|
'DESCRIBE',
|
|
'DESCRIPTOR',
|
|
'DETERMINISTIC',
|
|
'DIAGNOSTICS',
|
|
'DICTIONARY',
|
|
'DISABLE',
|
|
'DISCARD',
|
|
'DISCONNECT',
|
|
'DISPATCH',
|
|
'DISTINCT',
|
|
'DLNEWCOPY',
|
|
'DLPREVIOUSCOPY',
|
|
'DLURLCOMPLETE',
|
|
'DLURLCOMPLETEONLY',
|
|
'DLURLCOMPLETEWRITE',
|
|
'DLURLPATH',
|
|
'DLURLPATHONLY',
|
|
'DLURLPATHWRITE',
|
|
'DLURLSCHEME',
|
|
'DLURLSERVER',
|
|
'DLVALUE',
|
|
'DO',
|
|
'DOCUMENT',
|
|
'DOMAIN',
|
|
'DOUBLE',
|
|
'DROP',
|
|
'DYNAMIC',
|
|
'DYNAMIC_FUNCTION',
|
|
'DYNAMIC_FUNCTION_CODE',
|
|
'EACH',
|
|
'ELEMENT',
|
|
'ELSE',
|
|
'EMPTY',
|
|
'ENABLE',
|
|
'ENCODING',
|
|
'ENCRYPTED',
|
|
'END',
|
|
'END-EXEC',
|
|
'END_FRAME',
|
|
'END_PARTITION',
|
|
'ENFORCED',
|
|
'ENUM',
|
|
'EQUALS',
|
|
'ESCAPE',
|
|
'EVENT',
|
|
'EVERY',
|
|
'EXCEPT',
|
|
'EXCEPTION',
|
|
'EXCLUDE',
|
|
'EXCLUDING',
|
|
'EXCLUSIVE',
|
|
'EXEC',
|
|
'EXECUTE',
|
|
'EXISTS',
|
|
'EXP',
|
|
'EXPLAIN',
|
|
'EXPRESSION',
|
|
'EXTENSION',
|
|
'EXTERNAL',
|
|
'EXTRACT',
|
|
'FALSE',
|
|
'FAMILY',
|
|
'FETCH',
|
|
'FILE',
|
|
'FILTER',
|
|
'FINAL',
|
|
'FIRST',
|
|
'FIRST_VALUE',
|
|
'FLAG',
|
|
'FLOAT',
|
|
'FLOOR',
|
|
'FOLLOWING',
|
|
'FOR',
|
|
'FORCE',
|
|
'FOREIGN',
|
|
'FORTRAN',
|
|
'FORWARD',
|
|
'FOUND',
|
|
'FRAME_ROW',
|
|
'FREE',
|
|
'FREEZE',
|
|
'FROM',
|
|
'FS',
|
|
'FULL',
|
|
'FUNCTION',
|
|
'FUNCTIONS',
|
|
'FUSION',
|
|
'G',
|
|
'GENERAL',
|
|
'GENERATED',
|
|
'GET',
|
|
'GLOBAL',
|
|
'GO',
|
|
'GOTO',
|
|
'GRANT',
|
|
'GRANTED',
|
|
'GREATEST',
|
|
'GROUP',
|
|
'GROUPING',
|
|
'GROUPS',
|
|
'HANDLER',
|
|
'HAVING',
|
|
'HEADER',
|
|
'HEX',
|
|
'HIERARCHY',
|
|
'HOLD',
|
|
'HOUR',
|
|
'ID',
|
|
'IDENTITY',
|
|
'IF',
|
|
'IGNORE',
|
|
'ILIKE',
|
|
'IMMEDIATE',
|
|
'IMMEDIATELY',
|
|
'IMMUTABLE',
|
|
'IMPLEMENTATION',
|
|
'IMPLICIT',
|
|
'IMPORT',
|
|
'IN',
|
|
'INCLUDING',
|
|
'INCREMENT',
|
|
'INDENT',
|
|
'INDEX',
|
|
'INDEXES',
|
|
'INDICATOR',
|
|
'INHERIT',
|
|
'INHERITS',
|
|
'INITIALLY',
|
|
'INLINE',
|
|
'INNER',
|
|
'INOUT',
|
|
'INPUT',
|
|
'INSENSITIVE',
|
|
'INSERT',
|
|
'INSTANCE',
|
|
'INSTANTIABLE',
|
|
'INSTEAD',
|
|
'INT',
|
|
'INTEGER',
|
|
'INTEGRITY',
|
|
'INTERSECT',
|
|
'INTERSECTION',
|
|
'INTERVAL',
|
|
'INTO',
|
|
'INVOKER',
|
|
'IS',
|
|
'ISNULL',
|
|
'ISOLATION',
|
|
'JOIN',
|
|
'K',
|
|
'KEY',
|
|
'KEY_MEMBER',
|
|
'KEY_TYPE',
|
|
'LABEL',
|
|
'LAG',
|
|
'LANGUAGE',
|
|
'LARGE',
|
|
'LAST',
|
|
'LAST_VALUE',
|
|
'LATERAL',
|
|
'LEAD',
|
|
'LEADING',
|
|
'LEAKPROOF',
|
|
'LEAST',
|
|
'LEFT',
|
|
'LENGTH',
|
|
'LEVEL',
|
|
'LIBRARY',
|
|
'LIKE',
|
|
'LIKE_REGEX',
|
|
'LIMIT',
|
|
'LINK',
|
|
'LISTEN',
|
|
'LN',
|
|
'LOAD',
|
|
'LOCAL',
|
|
'LOCALTIME',
|
|
'LOCALTIMESTAMP',
|
|
'LOCATION',
|
|
'LOCATOR',
|
|
'LOCK',
|
|
'LOCKED',
|
|
'LOGGED',
|
|
'LOWER',
|
|
'M',
|
|
'MAP',
|
|
'MAPPING',
|
|
'MATCH',
|
|
'MATCHED',
|
|
'MATERIALIZED',
|
|
'MAX',
|
|
'MAXVALUE',
|
|
'MAX_CARDINALITY',
|
|
'MEMBER',
|
|
'MERGE',
|
|
'MESSAGE_LENGTH',
|
|
'MESSAGE_OCTET_LENGTH',
|
|
'MESSAGE_TEXT',
|
|
'METHOD',
|
|
'MIN',
|
|
'MINUTE',
|
|
'MINVALUE',
|
|
'MOD',
|
|
'MODE',
|
|
'MODIFIES',
|
|
'MODULE',
|
|
'MONTH',
|
|
'MORE',
|
|
'MOVE',
|
|
'MULTISET',
|
|
'MUMPS',
|
|
'NAME',
|
|
'NAMES',
|
|
'NAMESPACE',
|
|
'NATIONAL',
|
|
'NATURAL',
|
|
'NCHAR',
|
|
'NCLOB',
|
|
'NESTING',
|
|
'NEW',
|
|
'NEXT',
|
|
'NFC',
|
|
'NFD',
|
|
'NFKC',
|
|
'NFKD',
|
|
'NIL',
|
|
'NO',
|
|
'NONE',
|
|
'NORMALIZE',
|
|
'NORMALIZED',
|
|
'NOT',
|
|
'NOTHING',
|
|
'NOTIFY',
|
|
'NOTNULL',
|
|
'NOWAIT',
|
|
'NTH_VALUE',
|
|
'NTILE',
|
|
'NULL',
|
|
'NULLABLE',
|
|
'NULLIF',
|
|
'NULLS',
|
|
'NUMBER',
|
|
'NUMERIC',
|
|
'OBJECT',
|
|
'OCCURRENCES_REGEX',
|
|
'OCTETS',
|
|
'OCTET_LENGTH',
|
|
'OF',
|
|
'OFF',
|
|
'OFFSET',
|
|
'OIDS',
|
|
'OLD',
|
|
'ON',
|
|
'ONLY',
|
|
'OPEN',
|
|
'OPERATOR',
|
|
'OPTION',
|
|
'OPTIONS',
|
|
'OR',
|
|
'ORDER',
|
|
'ORDERING',
|
|
'ORDINALITY',
|
|
'OTHERS',
|
|
'OUT',
|
|
'OUTER',
|
|
'OUTPUT',
|
|
'OVER',
|
|
'OVERLAPS',
|
|
'OVERLAY',
|
|
'OVERRIDING',
|
|
'OWNED',
|
|
'OWNER',
|
|
'P',
|
|
'PAD',
|
|
'PARALLEL',
|
|
'PARAMETER',
|
|
'PARAMETER_MODE',
|
|
'PARAMETER_NAME',
|
|
'PARAMETER_ORDINAL_POSITION',
|
|
'PARAMETER_SPECIFIC_CATALOG',
|
|
'PARAMETER_SPECIFIC_NAME',
|
|
'PARAMETER_SPECIFIC_SCHEMA',
|
|
'PARSER',
|
|
'PARTIAL',
|
|
'PARTITION',
|
|
'PASCAL',
|
|
'PASSING',
|
|
'PASSTHROUGH',
|
|
'PASSWORD',
|
|
'PATH',
|
|
'PERCENT',
|
|
'PERCENTILE_CONT',
|
|
'PERCENTILE_DISC',
|
|
'PERCENT_RANK',
|
|
'PERIOD',
|
|
'PERMISSION',
|
|
'PLACING',
|
|
'PLANS',
|
|
'PLI',
|
|
'POLICY',
|
|
'PORTION',
|
|
'POSITION',
|
|
'POSITION_REGEX',
|
|
'POWER',
|
|
'PRECEDES',
|
|
'PRECEDING',
|
|
'PRECISION',
|
|
'PREPARE',
|
|
'PREPARED',
|
|
'PRESERVE',
|
|
'PRIMARY',
|
|
'PRIOR',
|
|
'PRIVILEGES',
|
|
'PROCEDURAL',
|
|
'PROCEDURE',
|
|
'PROGRAM',
|
|
'PUBLIC',
|
|
'QUOTE',
|
|
'RANGE',
|
|
'RANK',
|
|
'READ',
|
|
'READS',
|
|
'REAL',
|
|
'REASSIGN',
|
|
'RECHECK',
|
|
'RECOVERY',
|
|
'RECURSIVE',
|
|
'REF',
|
|
'REFERENCES',
|
|
'REFERENCING',
|
|
'REFRESH',
|
|
'REGR_AVGX',
|
|
'REGR_AVGY',
|
|
'REGR_COUNT',
|
|
'REGR_INTERCEPT',
|
|
'REGR_R2',
|
|
'REGR_SLOPE',
|
|
'REGR_SXX',
|
|
'REGR_SXY',
|
|
'REGR_SYY',
|
|
'REINDEX',
|
|
'RELATIVE',
|
|
'RELEASE',
|
|
'RENAME',
|
|
'REPEATABLE',
|
|
'REPLACE',
|
|
'REPLICA',
|
|
'REQUIRING',
|
|
'RESET',
|
|
'RESPECT',
|
|
'RESTART',
|
|
'RESTORE',
|
|
'RESTRICT',
|
|
'RESULT',
|
|
'RETURN',
|
|
'RETURNED_CARDINALITY',
|
|
'RETURNED_LENGTH',
|
|
'RETURNED_OCTET_LENGTH',
|
|
'RETURNED_SQLSTATE',
|
|
'RETURNING',
|
|
'RETURNS',
|
|
'REVOKE',
|
|
'RIGHT',
|
|
'ROLE',
|
|
'ROLLBACK',
|
|
'ROLLUP',
|
|
'ROUTINE',
|
|
'ROUTINE_CATALOG',
|
|
'ROUTINE_NAME',
|
|
'ROUTINE_SCHEMA',
|
|
'ROW',
|
|
'ROWS',
|
|
'ROW_COUNT',
|
|
'ROW_NUMBER',
|
|
'RULE',
|
|
'SAVEPOINT',
|
|
'SCALE',
|
|
'SCHEMA',
|
|
'SCHEMA_NAME',
|
|
'SCOPE',
|
|
'SCOPE_CATALOG',
|
|
'SCOPE_NAME',
|
|
'SCOPE_SCHEMA',
|
|
'SCROLL',
|
|
'SEARCH',
|
|
'SECOND',
|
|
'SECTION',
|
|
'SECURITY',
|
|
'SELECT',
|
|
'SELECTIVE',
|
|
'SELF',
|
|
'SENSITIVE',
|
|
'SEQUENCE',
|
|
'SEQUENCES',
|
|
'SERIALIZABLE',
|
|
'SERVER',
|
|
'SERVER_NAME',
|
|
'SESSION',
|
|
'SESSION_USER',
|
|
'SET',
|
|
'SETOF',
|
|
'SETS',
|
|
'SHARE',
|
|
'SHOW',
|
|
'SIMILAR',
|
|
'SIMPLE',
|
|
'SIZE',
|
|
'SKIP',
|
|
'SMALLINT',
|
|
'SNAPSHOT',
|
|
'SOME',
|
|
'SOURCE',
|
|
'SPACE',
|
|
'SPECIFIC',
|
|
'SPECIFICTYPE',
|
|
'SPECIFIC_NAME',
|
|
'SQL',
|
|
'SQLCODE',
|
|
'SQLERROR',
|
|
'SQLEXCEPTION',
|
|
'SQLSTATE',
|
|
'SQLWARNING',
|
|
'SQRT',
|
|
'STABLE',
|
|
'STANDALONE',
|
|
'START',
|
|
'STATE',
|
|
'STATEMENT',
|
|
'STATIC',
|
|
'STATISTICS',
|
|
'STDDEV_POP',
|
|
'STDDEV_SAMP',
|
|
'STDIN',
|
|
'STDOUT',
|
|
'STORAGE',
|
|
'STRICT',
|
|
'STRIP',
|
|
'STRUCTURE',
|
|
'STYLE',
|
|
'SUBCLASS_ORIGIN',
|
|
'SUBMULTISET',
|
|
'SUBSTRING',
|
|
'SUBSTRING_REGEX',
|
|
'SUCCEEDS',
|
|
'SUM',
|
|
'SYMMETRIC',
|
|
'SYSID',
|
|
'SYSTEM',
|
|
'SYSTEM_TIME',
|
|
'SYSTEM_USER',
|
|
'T',
|
|
'TABLE',
|
|
'TABLES',
|
|
'TABLESAMPLE',
|
|
'TABLESPACE',
|
|
'TABLE_NAME',
|
|
'TEMP',
|
|
'TEMPLATE',
|
|
'TEMPORARY',
|
|
'TEXT',
|
|
'THEN',
|
|
'TIES',
|
|
'TIME',
|
|
'TIMESTAMP',
|
|
'TIMEZONE_HOUR',
|
|
'TIMEZONE_MINUTE',
|
|
'TO',
|
|
'TOKEN',
|
|
'TOP_LEVEL_COUNT',
|
|
'TRAILING',
|
|
'TRANSACTION',
|
|
'TRANSACTIONS_COMMITTED',
|
|
'TRANSACTIONS_ROLLED_BACK',
|
|
'TRANSACTION_ACTIVE',
|
|
'TRANSFORM',
|
|
'TRANSFORMS',
|
|
'TRANSLATE',
|
|
'TRANSLATE_REGEX',
|
|
'TRANSLATION',
|
|
'TREAT',
|
|
'TRIGGER',
|
|
'TRIGGER_CATALOG',
|
|
'TRIGGER_NAME',
|
|
'TRIGGER_SCHEMA',
|
|
'TRIM',
|
|
'TRIM_ARRAY',
|
|
'TRUE',
|
|
'TRUNCATE',
|
|
'TRUSTED',
|
|
'TYPE',
|
|
'TYPES',
|
|
'UESCAPE',
|
|
'UNBOUNDED',
|
|
'UNCOMMITTED',
|
|
'UNDER',
|
|
'UNENCRYPTED',
|
|
'UNION',
|
|
'UNIQUE',
|
|
'UNKNOWN',
|
|
'UNLINK',
|
|
'UNLISTEN',
|
|
'UNLOGGED',
|
|
'UNNAMED',
|
|
'UNNEST',
|
|
'UNTIL',
|
|
'UNTYPED',
|
|
'UPDATE',
|
|
'UPPER',
|
|
'URI',
|
|
'USAGE',
|
|
'USER',
|
|
'USER_DEFINED_TYPE_CATALOG',
|
|
'USER_DEFINED_TYPE_CODE',
|
|
'USER_DEFINED_TYPE_NAME',
|
|
'USER_DEFINED_TYPE_SCHEMA',
|
|
'USING',
|
|
'VACUUM',
|
|
'VALID',
|
|
'VALIDATE',
|
|
'VALIDATOR',
|
|
'VALUE',
|
|
'VALUES',
|
|
'VALUE_OF',
|
|
'VARBINARY',
|
|
'VARCHAR',
|
|
'VARIADIC',
|
|
'VARYING',
|
|
'VAR_POP',
|
|
'VAR_SAMP',
|
|
'VERBOSE',
|
|
'VERSION',
|
|
'VERSIONING',
|
|
'VIEW',
|
|
'VIEWS',
|
|
'VOLATILE',
|
|
'WHEN',
|
|
'WHENEVER',
|
|
'WHERE',
|
|
'WHITESPACE',
|
|
'WIDTH_BUCKET',
|
|
'WINDOW',
|
|
'WITH',
|
|
'WITHIN',
|
|
'WITHOUT',
|
|
'WORK',
|
|
'WRAPPER',
|
|
'WRITE',
|
|
'XML',
|
|
'XMLAGG',
|
|
'XMLATTRIBUTES',
|
|
'XMLBINARY',
|
|
'XMLCAST',
|
|
'XMLCOMMENT',
|
|
'XMLCONCAT',
|
|
'XMLDECLARATION',
|
|
'XMLDOCUMENT',
|
|
'XMLELEMENT',
|
|
'XMLEXISTS',
|
|
'XMLFOREST',
|
|
'XMLITERATE',
|
|
'XMLNAMESPACES',
|
|
'XMLPARSE',
|
|
'XMLPI',
|
|
'XMLQUERY',
|
|
'XMLROOT',
|
|
'XMLSCHEMA',
|
|
'XMLSERIALIZE',
|
|
'XMLTABLE',
|
|
'XMLTEXT',
|
|
'XMLVALIDATE',
|
|
'YEAR',
|
|
'YES',
|
|
'ZONE'
|
|
],
|
|
operators: [
|
|
'AND',
|
|
'BETWEEN',
|
|
'IN',
|
|
'LIKE',
|
|
'NOT',
|
|
'OR',
|
|
'IS',
|
|
'NULL',
|
|
'INTERSECT',
|
|
'UNION',
|
|
'INNER',
|
|
'JOIN',
|
|
'LEFT',
|
|
'OUTER',
|
|
'RIGHT'
|
|
],
|
|
builtinFunctions: [
|
|
'abbrev',
|
|
'abs',
|
|
'acos',
|
|
'acosd',
|
|
'age',
|
|
'any',
|
|
'area',
|
|
'array_agg',
|
|
'array_append',
|
|
'array_cat',
|
|
'array_dims',
|
|
'array_fill',
|
|
'array_length',
|
|
'array_lower',
|
|
'array_ndims',
|
|
'array_position',
|
|
'array_positions',
|
|
'array_prepend',
|
|
'array_remove',
|
|
'array_replace',
|
|
'array_to_json',
|
|
'array_to_string',
|
|
'array_to_tsvector',
|
|
'array_upper',
|
|
'ascii',
|
|
'asin',
|
|
'asind',
|
|
'atan',
|
|
'atan2',
|
|
'atan2d',
|
|
'atand',
|
|
'avg',
|
|
'bit',
|
|
'bit_and',
|
|
'bit_length',
|
|
'bit_or',
|
|
'bool_and',
|
|
'bool_or',
|
|
'bound_box',
|
|
'box',
|
|
'brin_summarize_new_values',
|
|
'broadcast',
|
|
'btrim',
|
|
'cardinality',
|
|
'cbrt',
|
|
'ceil',
|
|
'ceiling',
|
|
'center',
|
|
'char_length',
|
|
'character_length',
|
|
'chr',
|
|
'circle',
|
|
'clock_timestamp',
|
|
'coalesce',
|
|
'col_description',
|
|
'concat',
|
|
'concat_ws',
|
|
'convert',
|
|
'convert_from',
|
|
'convert_to',
|
|
'corr',
|
|
'cos',
|
|
'cosd',
|
|
'cot',
|
|
'cotd',
|
|
'count',
|
|
'covar_pop',
|
|
'covar_samp',
|
|
'cume_dist',
|
|
'current_catalog',
|
|
'current_database',
|
|
'current_date',
|
|
'current_query',
|
|
'current_role',
|
|
'current_schema',
|
|
'current_schemas',
|
|
'current_setting',
|
|
'current_time',
|
|
'current_timestamp',
|
|
'current_user',
|
|
'currval',
|
|
'cursor_to_xml',
|
|
'date_part',
|
|
'date_trunc',
|
|
'decode',
|
|
'degrees',
|
|
'dense_rank',
|
|
'diameter',
|
|
'div',
|
|
'encode',
|
|
'enum_first',
|
|
'enum_last',
|
|
'enum_range',
|
|
'every',
|
|
'exp',
|
|
'extract',
|
|
'family',
|
|
'first_value',
|
|
'floor',
|
|
'format',
|
|
'format_type',
|
|
'generate_series',
|
|
'generate_subscripts',
|
|
'get_bit',
|
|
'get_byte',
|
|
'get_current_ts_config',
|
|
'gin_clean_pending_list',
|
|
'greatest',
|
|
'grouping',
|
|
'has_any_column_privilege',
|
|
'has_column_privilege',
|
|
'has_database_privilege',
|
|
'has_foreign_data_wrapper_privilege',
|
|
'has_function_privilege',
|
|
'has_language_privilege',
|
|
'has_schema_privilege',
|
|
'has_sequence_privilege',
|
|
'has_server_privilege',
|
|
'has_table_privilege',
|
|
'has_tablespace_privilege',
|
|
'has_type_privilege',
|
|
'height',
|
|
'host',
|
|
'hostmask',
|
|
'inet_client_addr',
|
|
'inet_client_port',
|
|
'inet_merge',
|
|
'inet_same_family',
|
|
'inet_server_addr',
|
|
'inet_server_port',
|
|
'initcap',
|
|
'isclosed',
|
|
'isempty',
|
|
'isfinite',
|
|
'isopen',
|
|
'json_agg',
|
|
'json_object',
|
|
'json_object_agg',
|
|
'json_populate_record',
|
|
'json_populate_recordset',
|
|
'json_to_record',
|
|
'json_to_recordset',
|
|
'jsonb_agg',
|
|
'jsonb_object_agg',
|
|
'justify_days',
|
|
'justify_hours',
|
|
'justify_interval',
|
|
'lag',
|
|
'last_value',
|
|
'lastval',
|
|
'lead',
|
|
'least',
|
|
'left',
|
|
'length',
|
|
'line',
|
|
'ln',
|
|
'localtime',
|
|
'localtimestamp',
|
|
'log',
|
|
'lower',
|
|
'lower_inc',
|
|
'lower_inf',
|
|
'lpad',
|
|
'lseg',
|
|
'ltrim',
|
|
'make_date',
|
|
'make_interval',
|
|
'make_time',
|
|
'make_timestamp',
|
|
'make_timestamptz',
|
|
'masklen',
|
|
'max',
|
|
'md5',
|
|
'min',
|
|
'mod',
|
|
'mode',
|
|
'netmask',
|
|
'network',
|
|
'nextval',
|
|
'now',
|
|
'npoints',
|
|
'nth_value',
|
|
'ntile',
|
|
'nullif',
|
|
'num_nonnulls',
|
|
'num_nulls',
|
|
'numnode',
|
|
'obj_description',
|
|
'octet_length',
|
|
'overlay',
|
|
'parse_ident',
|
|
'path',
|
|
'pclose',
|
|
'percent_rank',
|
|
'percentile_cont',
|
|
'percentile_disc',
|
|
'pg_advisory_lock',
|
|
'pg_advisory_lock_shared',
|
|
'pg_advisory_unlock',
|
|
'pg_advisory_unlock_all',
|
|
'pg_advisory_unlock_shared',
|
|
'pg_advisory_xact_lock',
|
|
'pg_advisory_xact_lock_shared',
|
|
'pg_backend_pid',
|
|
'pg_backup_start_time',
|
|
'pg_blocking_pids',
|
|
'pg_cancel_backend',
|
|
'pg_client_encoding',
|
|
'pg_collation_is_visible',
|
|
'pg_column_size',
|
|
'pg_conf_load_time',
|
|
'pg_control_checkpoint',
|
|
'pg_control_init',
|
|
'pg_control_recovery',
|
|
'pg_control_system',
|
|
'pg_conversion_is_visible',
|
|
'pg_create_logical_replication_slot',
|
|
'pg_create_physical_replication_slot',
|
|
'pg_create_restore_point',
|
|
'pg_current_xlog_flush_location',
|
|
'pg_current_xlog_insert_location',
|
|
'pg_current_xlog_location',
|
|
'pg_database_size',
|
|
'pg_describe_object',
|
|
'pg_drop_replication_slot',
|
|
'pg_export_snapshot',
|
|
'pg_filenode_relation',
|
|
'pg_function_is_visible',
|
|
'pg_get_constraintdef',
|
|
'pg_get_expr',
|
|
'pg_get_function_arguments',
|
|
'pg_get_function_identity_arguments',
|
|
'pg_get_function_result',
|
|
'pg_get_functiondef',
|
|
'pg_get_indexdef',
|
|
'pg_get_keywords',
|
|
'pg_get_object_address',
|
|
'pg_get_owned_sequence',
|
|
'pg_get_ruledef',
|
|
'pg_get_serial_sequence',
|
|
'pg_get_triggerdef',
|
|
'pg_get_userbyid',
|
|
'pg_get_viewdef',
|
|
'pg_has_role',
|
|
'pg_identify_object',
|
|
'pg_identify_object_as_address',
|
|
'pg_index_column_has_property',
|
|
'pg_index_has_property',
|
|
'pg_indexam_has_property',
|
|
'pg_indexes_size',
|
|
'pg_is_in_backup',
|
|
'pg_is_in_recovery',
|
|
'pg_is_other_temp_schema',
|
|
'pg_is_xlog_replay_paused',
|
|
'pg_last_committed_xact',
|
|
'pg_last_xact_replay_timestamp',
|
|
'pg_last_xlog_receive_location',
|
|
'pg_last_xlog_replay_location',
|
|
'pg_listening_channels',
|
|
'pg_logical_emit_message',
|
|
'pg_logical_slot_get_binary_changes',
|
|
'pg_logical_slot_get_changes',
|
|
'pg_logical_slot_peek_binary_changes',
|
|
'pg_logical_slot_peek_changes',
|
|
'pg_ls_dir',
|
|
'pg_my_temp_schema',
|
|
'pg_notification_queue_usage',
|
|
'pg_opclass_is_visible',
|
|
'pg_operator_is_visible',
|
|
'pg_opfamily_is_visible',
|
|
'pg_options_to_table',
|
|
'pg_postmaster_start_time',
|
|
'pg_read_binary_file',
|
|
'pg_read_file',
|
|
'pg_relation_filenode',
|
|
'pg_relation_filepath',
|
|
'pg_relation_size',
|
|
'pg_reload_conf',
|
|
'pg_replication_origin_create',
|
|
'pg_replication_origin_drop',
|
|
'pg_replication_origin_oid',
|
|
'pg_replication_origin_progress',
|
|
'pg_replication_origin_session_is_setup',
|
|
'pg_replication_origin_session_progress',
|
|
'pg_replication_origin_session_reset',
|
|
'pg_replication_origin_session_setup',
|
|
'pg_replication_origin_xact_reset',
|
|
'pg_replication_origin_xact_setup',
|
|
'pg_rotate_logfile',
|
|
'pg_size_bytes',
|
|
'pg_size_pretty',
|
|
'pg_sleep',
|
|
'pg_sleep_for',
|
|
'pg_sleep_until',
|
|
'pg_start_backup',
|
|
'pg_stat_file',
|
|
'pg_stop_backup',
|
|
'pg_switch_xlog',
|
|
'pg_table_is_visible',
|
|
'pg_table_size',
|
|
'pg_tablespace_databases',
|
|
'pg_tablespace_location',
|
|
'pg_tablespace_size',
|
|
'pg_terminate_backend',
|
|
'pg_total_relation_size',
|
|
'pg_trigger_depth',
|
|
'pg_try_advisory_lock',
|
|
'pg_try_advisory_lock_shared',
|
|
'pg_try_advisory_xact_lock',
|
|
'pg_try_advisory_xact_lock_shared',
|
|
'pg_ts_config_is_visible',
|
|
'pg_ts_dict_is_visible',
|
|
'pg_ts_parser_is_visible',
|
|
'pg_ts_template_is_visible',
|
|
'pg_type_is_visible',
|
|
'pg_typeof',
|
|
'pg_xact_commit_timestamp',
|
|
'pg_xlog_location_diff',
|
|
'pg_xlog_replay_pause',
|
|
'pg_xlog_replay_resume',
|
|
'pg_xlogfile_name',
|
|
'pg_xlogfile_name_offset',
|
|
'phraseto_tsquery',
|
|
'pi',
|
|
'plainto_tsquery',
|
|
'point',
|
|
'polygon',
|
|
'popen',
|
|
'position',
|
|
'power',
|
|
'pqserverversion',
|
|
'query_to_xml',
|
|
'querytree',
|
|
'quote_ident',
|
|
'quote_literal',
|
|
'quote_nullable',
|
|
'radians',
|
|
'radius',
|
|
'random',
|
|
'range_merge',
|
|
'rank',
|
|
'regexp_matches',
|
|
'regexp_replace',
|
|
'regexp_split_to_array',
|
|
'regexp_split_to_table',
|
|
'regr_avgx',
|
|
'regr_avgy',
|
|
'regr_count',
|
|
'regr_intercept',
|
|
'regr_r2',
|
|
'regr_slope',
|
|
'regr_sxx',
|
|
'regr_sxy',
|
|
'regr_syy',
|
|
'repeat',
|
|
'replace',
|
|
'reverse',
|
|
'right',
|
|
'round',
|
|
'row_number',
|
|
'row_security_active',
|
|
'row_to_json',
|
|
'rpad',
|
|
'rtrim',
|
|
'scale',
|
|
'session_user',
|
|
'set_bit',
|
|
'set_byte',
|
|
'set_config',
|
|
'set_masklen',
|
|
'setseed',
|
|
'setval',
|
|
'setweight',
|
|
'shobj_description',
|
|
'sign',
|
|
'sin',
|
|
'sind',
|
|
'split_part',
|
|
'sprintf',
|
|
'sqrt',
|
|
'statement_timestamp',
|
|
'stddev',
|
|
'stddev_pop',
|
|
'stddev_samp',
|
|
'string_agg',
|
|
'string_to_array',
|
|
'strip',
|
|
'strpos',
|
|
'substr',
|
|
'substring',
|
|
'sum',
|
|
'table_to_xml',
|
|
'table_to_xml_and_xmlschema',
|
|
'tan',
|
|
'tand',
|
|
'text',
|
|
'timeofday',
|
|
'timezone',
|
|
'to_ascii',
|
|
'to_char',
|
|
'to_date',
|
|
'to_hex',
|
|
'to_json',
|
|
'to_number',
|
|
'to_regclass',
|
|
'to_regnamespace',
|
|
'to_regoper',
|
|
'to_regoperator',
|
|
'to_regproc',
|
|
'to_regprocedure',
|
|
'to_regrole',
|
|
'to_regtype',
|
|
'to_timestamp',
|
|
'to_tsquery',
|
|
'to_tsvector',
|
|
'transaction_timestamp',
|
|
'translate',
|
|
'trim',
|
|
'trunc',
|
|
'ts_debug',
|
|
'ts_delete',
|
|
'ts_filter',
|
|
'ts_headline',
|
|
'ts_lexize',
|
|
'ts_parse',
|
|
'ts_rank',
|
|
'ts_rank_cd',
|
|
'ts_rewrite',
|
|
'ts_stat',
|
|
'ts_token_type',
|
|
'tsquery_phrase',
|
|
'tsvector_to_array',
|
|
'tsvector_update_trigger',
|
|
'tsvector_update_trigger_column',
|
|
'txid_current',
|
|
'txid_current_snapshot',
|
|
'txid_snapshot_xip',
|
|
'txid_snapshot_xmax',
|
|
'txid_snapshot_xmin',
|
|
'txid_visible_in_snapshot',
|
|
'unnest',
|
|
'upper',
|
|
'upper_inc',
|
|
'upper_inf',
|
|
'user',
|
|
'var_pop',
|
|
'var_samp',
|
|
'variance',
|
|
'version',
|
|
'width',
|
|
'width_bucket',
|
|
'xml_is_well_formed',
|
|
'xml_is_well_formed_content',
|
|
'xml_is_well_formed_document',
|
|
'xmlagg',
|
|
'xmlcomment',
|
|
'xmlconcat',
|
|
'xmlelement',
|
|
'xmlexists',
|
|
'xmlforest',
|
|
'xmlparse',
|
|
'xmlpi',
|
|
'xmlroot',
|
|
'xmlserialize',
|
|
'xpath',
|
|
'xpath_exists'
|
|
],
|
|
builtinVariables: [
|
|
// NOT SUPPORTED
|
|
],
|
|
pseudoColumns: [
|
|
// NOT SUPPORTED
|
|
],
|
|
tokenizer: {
|
|
root: [
|
|
{ include: '@comments' },
|
|
{ include: '@whitespace' },
|
|
{ include: '@pseudoColumns' },
|
|
{ include: '@numbers' },
|
|
{ include: '@strings' },
|
|
{ include: '@complexIdentifiers' },
|
|
{ include: '@scopes' },
|
|
[/[;,.]/, 'delimiter'],
|
|
[/[()]/, '@brackets'],
|
|
[
|
|
/[\w@#$]+/,
|
|
{
|
|
cases: {
|
|
'@keywords': 'keyword',
|
|
'@operators': 'operator',
|
|
'@builtinVariables': 'predefined',
|
|
'@builtinFunctions': 'predefined',
|
|
'@default': 'identifier'
|
|
}
|
|
}
|
|
],
|
|
[/[<>=!%&+\-*/|~^]/, 'operator']
|
|
],
|
|
whitespace: [[/\s+/, 'white']],
|
|
comments: [
|
|
[/--+.*/, 'comment'],
|
|
[/\/\*/, { token: 'comment.quote', next: '@comment' }]
|
|
],
|
|
comment: [
|
|
[/[^*/]+/, 'comment'],
|
|
// Not supporting nested comments, as nested comments seem to not be standard?
|
|
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
|
|
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
|
|
[/\*\//, { token: 'comment.quote', next: '@pop' }],
|
|
[/./, 'comment']
|
|
],
|
|
pseudoColumns: [
|
|
[
|
|
/[$][A-Za-z_][\w@#$]*/,
|
|
{
|
|
cases: {
|
|
'@pseudoColumns': 'predefined',
|
|
'@default': 'identifier'
|
|
}
|
|
}
|
|
]
|
|
],
|
|
numbers: [
|
|
[/0[xX][0-9a-fA-F]*/, 'number'],
|
|
[/[$][+-]*\d*(\.\d*)?/, 'number'],
|
|
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
|
|
],
|
|
strings: [[/'/, { token: 'string', next: '@string' }]],
|
|
string: [
|
|
[/[^']+/, 'string'],
|
|
[/''/, 'string'],
|
|
[/'/, { token: 'string', next: '@pop' }]
|
|
],
|
|
complexIdentifiers: [[/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }]],
|
|
quotedIdentifier: [
|
|
[/[^"]+/, 'identifier'],
|
|
[/""/, 'identifier'],
|
|
[/"/, { token: 'identifier.quote', next: '@pop' }]
|
|
],
|
|
scopes: [
|
|
// NOT SUPPORTED
|
|
]
|
|
}
|
|
};
|