ThirdParty/Pygments/pygments/lexers/_tsql_builtins.py

changeset 5713
6762afd9f963
equal deleted inserted replaced
5712:f0d08bdeacf4 5713:6762afd9f963
1 # -*- coding: utf-8 -*-
2 """
3 pygments.lexers._tsql_builtins
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
6 These are manually translated lists from https://msdn.microsoft.com.
7
8 :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9 :license: BSD, see LICENSE for details.
10 """
11
12 # See https://msdn.microsoft.com/en-us/library/ms174986.aspx.
13 OPERATORS = (
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 OPERATOR_WORDS = (
44 'all',
45 'and',
46 'any',
47 'between',
48 'except',
49 'exists',
50 'in',
51 'intersect',
52 'like',
53 'not',
54 'or',
55 'some',
56 'union',
57 )
58
59 _KEYWORDS_SERVER = (
60 'add',
61 'all',
62 'alter',
63 'and',
64 'any',
65 'as',
66 'asc',
67 'authorization',
68 'backup',
69 'begin',
70 'between',
71 'break',
72 'browse',
73 'bulk',
74 'by',
75 'cascade',
76 'case',
77 'catch',
78 'check',
79 'checkpoint',
80 'close',
81 'clustered',
82 'coalesce',
83 'collate',
84 'column',
85 'commit',
86 'compute',
87 'constraint',
88 'contains',
89 'containstable',
90 'continue',
91 'convert',
92 'create',
93 'cross',
94 'current',
95 'current_date',
96 'current_time',
97 'current_timestamp',
98 'current_user',
99 'cursor',
100 'database',
101 'dbcc',
102 'deallocate',
103 'declare',
104 'default',
105 'delete',
106 'deny',
107 'desc',
108 'disk',
109 'distinct',
110 'distributed',
111 'double',
112 'drop',
113 'dump',
114 'else',
115 'end',
116 'errlvl',
117 'escape',
118 'except',
119 'exec',
120 'execute',
121 'exists',
122 'exit',
123 'external',
124 'fetch',
125 'file',
126 'fillfactor',
127 'for',
128 'foreign',
129 'freetext',
130 'freetexttable',
131 'from',
132 'full',
133 'function',
134 'goto',
135 'grant',
136 'group',
137 'having',
138 'holdlock',
139 'identity',
140 'identity_insert',
141 'identitycol',
142 'if',
143 'in',
144 'index',
145 'inner',
146 'insert',
147 'intersect',
148 'into',
149 'is',
150 'join',
151 'key',
152 'kill',
153 'left',
154 'like',
155 'lineno',
156 'load',
157 'merge',
158 'national',
159 'nocheck',
160 'nonclustered',
161 'not',
162 'null',
163 'nullif',
164 'of',
165 'off',
166 'offsets',
167 'on',
168 'open',
169 'opendatasource',
170 'openquery',
171 'openrowset',
172 'openxml',
173 'option',
174 'or',
175 'order',
176 'outer',
177 'over',
178 'percent',
179 'pivot',
180 'plan',
181 'precision',
182 'primary',
183 'print',
184 'proc',
185 'procedure',
186 'public',
187 'raiserror',
188 'read',
189 'readtext',
190 'reconfigure',
191 'references',
192 'replication',
193 'restore',
194 'restrict',
195 'return',
196 'revert',
197 'revoke',
198 'right',
199 'rollback',
200 'rowcount',
201 'rowguidcol',
202 'rule',
203 'save',
204 'schema',
205 'securityaudit',
206 'select',
207 'semantickeyphrasetable',
208 'semanticsimilaritydetailstable',
209 'semanticsimilaritytable',
210 'session_user',
211 'set',
212 'setuser',
213 'shutdown',
214 'some',
215 'statistics',
216 'system_user',
217 'table',
218 'tablesample',
219 'textsize',
220 'then',
221 'throw',
222 'to',
223 'top',
224 'tran',
225 'transaction',
226 'trigger',
227 'truncate',
228 'try',
229 'try_convert',
230 'tsequal',
231 'union',
232 'unique',
233 'unpivot',
234 'update',
235 'updatetext',
236 'use',
237 'user',
238 'values',
239 'varying',
240 'view',
241 'waitfor',
242 'when',
243 'where',
244 'while',
245 'with',
246 'within',
247 'writetext',
248 )
249
250 _KEYWORDS_FUTURE = (
251 'absolute',
252 'action',
253 'admin',
254 'after',
255 'aggregate',
256 'alias',
257 'allocate',
258 'are',
259 'array',
260 'asensitive',
261 'assertion',
262 'asymmetric',
263 'at',
264 'atomic',
265 'before',
266 'binary',
267 'bit',
268 'blob',
269 'boolean',
270 'both',
271 'breadth',
272 'call',
273 'called',
274 'cardinality',
275 'cascaded',
276 'cast',
277 'catalog',
278 'char',
279 'character',
280 'class',
281 'clob',
282 'collation',
283 'collect',
284 'completion',
285 'condition',
286 'connect',
287 'connection',
288 'constraints',
289 'constructor',
290 'corr',
291 'corresponding',
292 'covar_pop',
293 'covar_samp',
294 'cube',
295 'cume_dist',
296 'current_catalog',
297 'current_default_transform_group',
298 'current_path',
299 'current_role',
300 'current_schema',
301 'current_transform_group_for_type',
302 'cycle',
303 'data',
304 'date',
305 'day',
306 'dec',
307 'decimal',
308 'deferrable',
309 'deferred',
310 'depth',
311 'deref',
312 'describe',
313 'descriptor',
314 'destroy',
315 'destructor',
316 'deterministic',
317 'diagnostics',
318 'dictionary',
319 'disconnect',
320 'domain',
321 'dynamic',
322 'each',
323 'element',
324 'end-exec',
325 'equals',
326 'every',
327 'exception',
328 'false',
329 'filter',
330 'first',
331 'float',
332 'found',
333 'free',
334 'fulltexttable',
335 'fusion',
336 'general',
337 'get',
338 'global',
339 'go',
340 'grouping',
341 'hold',
342 'host',
343 'hour',
344 'ignore',
345 'immediate',
346 'indicator',
347 'initialize',
348 'initially',
349 'inout',
350 'input',
351 'int',
352 'integer',
353 'intersection',
354 'interval',
355 'isolation',
356 'iterate',
357 'language',
358 'large',
359 'last',
360 'lateral',
361 'leading',
362 'less',
363 'level',
364 'like_regex',
365 'limit',
366 'ln',
367 'local',
368 'localtime',
369 'localtimestamp',
370 'locator',
371 'map',
372 'match',
373 'member',
374 'method',
375 'minute',
376 'mod',
377 'modifies',
378 'modify',
379 'module',
380 'month',
381 'multiset',
382 'names',
383 'natural',
384 'nchar',
385 'nclob',
386 'new',
387 'next',
388 'no',
389 'none',
390 'normalize',
391 'numeric',
392 'object',
393 'occurrences_regex',
394 'old',
395 'only',
396 'operation',
397 'ordinality',
398 'out',
399 'output',
400 'overlay',
401 'pad',
402 'parameter',
403 'parameters',
404 'partial',
405 'partition',
406 'path',
407 'percent_rank',
408 'percentile_cont',
409 'percentile_disc',
410 'position_regex',
411 'postfix',
412 'prefix',
413 'preorder',
414 'prepare',
415 'preserve',
416 'prior',
417 'privileges',
418 'range',
419 'reads',
420 'real',
421 'recursive',
422 'ref',
423 'referencing',
424 'regr_avgx',
425 'regr_avgy',
426 'regr_count',
427 'regr_intercept',
428 'regr_r2',
429 'regr_slope',
430 'regr_sxx',
431 'regr_sxy',
432 'regr_syy',
433 'relative',
434 'release',
435 'result',
436 'returns',
437 'role',
438 'rollup',
439 'routine',
440 'row',
441 'rows',
442 'savepoint',
443 'scope',
444 'scroll',
445 'search',
446 'second',
447 'section',
448 'sensitive',
449 'sequence',
450 'session',
451 'sets',
452 'similar',
453 'size',
454 'smallint',
455 'space',
456 'specific',
457 'specifictype',
458 'sql',
459 'sqlexception',
460 'sqlstate',
461 'sqlwarning',
462 'start',
463 'state',
464 'statement',
465 'static',
466 'stddev_pop',
467 'stddev_samp',
468 'structure',
469 'submultiset',
470 'substring_regex',
471 'symmetric',
472 'system',
473 'temporary',
474 'terminate',
475 'than',
476 'time',
477 'timestamp',
478 'timezone_hour',
479 'timezone_minute',
480 'trailing',
481 'translate_regex',
482 'translation',
483 'treat',
484 'true',
485 'uescape',
486 'under',
487 'unknown',
488 'unnest',
489 'usage',
490 'using',
491 'value',
492 'var_pop',
493 'var_samp',
494 'varchar',
495 'variable',
496 'whenever',
497 'width_bucket',
498 'window',
499 'within',
500 'without',
501 'work',
502 'write',
503 'xmlagg',
504 'xmlattributes',
505 'xmlbinary',
506 'xmlcast',
507 'xmlcomment',
508 'xmlconcat',
509 'xmldocument',
510 'xmlelement',
511 'xmlexists',
512 'xmlforest',
513 'xmliterate',
514 'xmlnamespaces',
515 'xmlparse',
516 'xmlpi',
517 'xmlquery',
518 'xmlserialize',
519 'xmltable',
520 'xmltext',
521 'xmlvalidate',
522 'year',
523 'zone',
524 )
525
526 _KEYWORDS_ODBC = (
527 'absolute',
528 'action',
529 'ada',
530 'add',
531 'all',
532 'allocate',
533 'alter',
534 'and',
535 'any',
536 'are',
537 'as',
538 'asc',
539 'assertion',
540 'at',
541 'authorization',
542 'avg',
543 'begin',
544 'between',
545 'bit',
546 'bit_length',
547 'both',
548 'by',
549 'cascade',
550 'cascaded',
551 'case',
552 'cast',
553 'catalog',
554 'char',
555 'char_length',
556 'character',
557 'character_length',
558 'check',
559 'close',
560 'coalesce',
561 'collate',
562 'collation',
563 'column',
564 'commit',
565 'connect',
566 'connection',
567 'constraint',
568 'constraints',
569 'continue',
570 'convert',
571 'corresponding',
572 'count',
573 'create',
574 'cross',
575 'current',
576 'current_date',
577 'current_time',
578 'current_timestamp',
579 'current_user',
580 'cursor',
581 'date',
582 'day',
583 'deallocate',
584 'dec',
585 'decimal',
586 'declare',
587 'default',
588 'deferrable',
589 'deferred',
590 'delete',
591 'desc',
592 'describe',
593 'descriptor',
594 'diagnostics',
595 'disconnect',
596 'distinct',
597 'domain',
598 'double',
599 'drop',
600 'else',
601 'end',
602 'end-exec',
603 'escape',
604 'except',
605 'exception',
606 'exec',
607 'execute',
608 'exists',
609 'external',
610 'extract',
611 'false',
612 'fetch',
613 'first',
614 'float',
615 'for',
616 'foreign',
617 'fortran',
618 'found',
619 'from',
620 'full',
621 'get',
622 'global',
623 'go',
624 'goto',
625 'grant',
626 'group',
627 'having',
628 'hour',
629 'identity',
630 'immediate',
631 'in',
632 'include',
633 'index',
634 'indicator',
635 'initially',
636 'inner',
637 'input',
638 'insensitive',
639 'insert',
640 'int',
641 'integer',
642 'intersect',
643 'interval',
644 'into',
645 'is',
646 'isolation',
647 'join',
648 'key',
649 'language',
650 'last',
651 'leading',
652 'left',
653 'level',
654 'like',
655 'local',
656 'lower',
657 'match',
658 'max',
659 'min',
660 'minute',
661 'module',
662 'month',
663 'names',
664 'national',
665 'natural',
666 'nchar',
667 'next',
668 'no',
669 'none',
670 'not',
671 'null',
672 'nullif',
673 'numeric',
674 'octet_length',
675 'of',
676 'on',
677 'only',
678 'open',
679 'option',
680 'or',
681 'order',
682 'outer',
683 'output',
684 'overlaps',
685 'pad',
686 'partial',
687 'pascal',
688 'position',
689 'precision',
690 'prepare',
691 'preserve',
692 'primary',
693 'prior',
694 'privileges',
695 'procedure',
696 'public',
697 'read',
698 'real',
699 'references',
700 'relative',
701 'restrict',
702 'revoke',
703 'right',
704 'rollback',
705 'rows',
706 'schema',
707 'scroll',
708 'second',
709 'section',
710 'select',
711 'session',
712 'session_user',
713 'set',
714 'size',
715 'smallint',
716 'some',
717 'space',
718 'sql',
719 'sqlca',
720 'sqlcode',
721 'sqlerror',
722 'sqlstate',
723 'sqlwarning',
724 'substring',
725 'sum',
726 'system_user',
727 'table',
728 'temporary',
729 'then',
730 'time',
731 'timestamp',
732 'timezone_hour',
733 'timezone_minute',
734 'to',
735 'trailing',
736 'transaction',
737 'translate',
738 'translation',
739 'trim',
740 'true',
741 'union',
742 'unique',
743 'unknown',
744 'update',
745 'upper',
746 'usage',
747 'user',
748 'using',
749 'value',
750 'values',
751 'varchar',
752 'varying',
753 'view',
754 'when',
755 'whenever',
756 'where',
757 'with',
758 'work',
759 'write',
760 'year',
761 'zone',
762 )
763
764 # See https://msdn.microsoft.com/en-us/library/ms189822.aspx.
765 KEYWORDS = sorted(set(_KEYWORDS_FUTURE + _KEYWORDS_ODBC + _KEYWORDS_SERVER))
766
767 # See https://msdn.microsoft.com/en-us/library/ms187752.aspx.
768 TYPES = (
769 'bigint',
770 'binary',
771 'bit',
772 'char',
773 'cursor',
774 'date',
775 'datetime',
776 'datetime2',
777 'datetimeoffset',
778 'decimal',
779 'float',
780 'hierarchyid',
781 'image',
782 'int',
783 'money',
784 'nchar',
785 'ntext',
786 'numeric',
787 'nvarchar',
788 'real',
789 'smalldatetime',
790 'smallint',
791 'smallmoney',
792 'sql_variant',
793 'table',
794 'text',
795 'time',
796 'timestamp',
797 'tinyint',
798 'uniqueidentifier',
799 'varbinary',
800 'varchar',
801 'xml',
802 )
803
804 # See https://msdn.microsoft.com/en-us/library/ms174318.aspx.
805 FUNCTIONS = (
806 '$partition',
807 'abs',
808 'acos',
809 'app_name',
810 'applock_mode',
811 'applock_test',
812 'ascii',
813 'asin',
814 'assemblyproperty',
815 'atan',
816 'atn2',
817 'avg',
818 'binary_checksum',
819 'cast',
820 'ceiling',
821 'certencoded',
822 'certprivatekey',
823 'char',
824 'charindex',
825 'checksum',
826 'checksum_agg',
827 'choose',
828 'col_length',
829 'col_name',
830 'columnproperty',
831 'compress',
832 'concat',
833 'connectionproperty',
834 'context_info',
835 'convert',
836 'cos',
837 'cot',
838 'count',
839 'count_big',
840 'current_request_id',
841 'current_timestamp',
842 'current_transaction_id',
843 'current_user',
844 'cursor_status',
845 'database_principal_id',
846 'databasepropertyex',
847 'dateadd',
848 'datediff',
849 'datediff_big',
850 'datefromparts',
851 'datename',
852 'datepart',
853 'datetime2fromparts',
854 'datetimefromparts',
855 'datetimeoffsetfromparts',
856 'day',
857 'db_id',
858 'db_name',
859 'decompress',
860 'degrees',
861 'dense_rank',
862 'difference',
863 'eomonth',
864 'error_line',
865 'error_message',
866 'error_number',
867 'error_procedure',
868 'error_severity',
869 'error_state',
870 'exp',
871 'file_id',
872 'file_idex',
873 'file_name',
874 'filegroup_id',
875 'filegroup_name',
876 'filegroupproperty',
877 'fileproperty',
878 'floor',
879 'format',
880 'formatmessage',
881 'fulltextcatalogproperty',
882 'fulltextserviceproperty',
883 'get_filestream_transaction_context',
884 'getansinull',
885 'getdate',
886 'getutcdate',
887 'grouping',
888 'grouping_id',
889 'has_perms_by_name',
890 'host_id',
891 'host_name',
892 'iif',
893 'index_col',
894 'indexkey_property',
895 'indexproperty',
896 'is_member',
897 'is_rolemember',
898 'is_srvrolemember',
899 'isdate',
900 'isjson',
901 'isnull',
902 'isnumeric',
903 'json_modify',
904 'json_query',
905 'json_value',
906 'left',
907 'len',
908 'log',
909 'log10',
910 'lower',
911 'ltrim',
912 'max',
913 'min',
914 'min_active_rowversion',
915 'month',
916 'nchar',
917 'newid',
918 'newsequentialid',
919 'ntile',
920 'object_definition',
921 'object_id',
922 'object_name',
923 'object_schema_name',
924 'objectproperty',
925 'objectpropertyex',
926 'opendatasource',
927 'openjson',
928 'openquery',
929 'openrowset',
930 'openxml',
931 'original_db_name',
932 'original_login',
933 'parse',
934 'parsename',
935 'patindex',
936 'permissions',
937 'pi',
938 'power',
939 'pwdcompare',
940 'pwdencrypt',
941 'quotename',
942 'radians',
943 'rand',
944 'rank',
945 'replace',
946 'replicate',
947 'reverse',
948 'right',
949 'round',
950 'row_number',
951 'rowcount_big',
952 'rtrim',
953 'schema_id',
954 'schema_name',
955 'scope_identity',
956 'serverproperty',
957 'session_context',
958 'session_user',
959 'sign',
960 'sin',
961 'smalldatetimefromparts',
962 'soundex',
963 'sp_helplanguage',
964 'space',
965 'sqrt',
966 'square',
967 'stats_date',
968 'stdev',
969 'stdevp',
970 'str',
971 'string_escape',
972 'string_split',
973 'stuff',
974 'substring',
975 'sum',
976 'suser_id',
977 'suser_name',
978 'suser_sid',
979 'suser_sname',
980 'switchoffset',
981 'sysdatetime',
982 'sysdatetimeoffset',
983 'system_user',
984 'sysutcdatetime',
985 'tan',
986 'textptr',
987 'textvalid',
988 'timefromparts',
989 'todatetimeoffset',
990 'try_cast',
991 'try_convert',
992 'try_parse',
993 'type_id',
994 'type_name',
995 'typeproperty',
996 'unicode',
997 'upper',
998 'user_id',
999 'user_name',
1000 'var',
1001 'varp',
1002 'xact_state',
1003 'year',
1004 )

eric ide

mercurial