[483] | 1 | define(["../_base"], function(dh){ |
---|
| 2 | |
---|
| 3 | var SQL_KEYWORDS = { |
---|
| 4 | 'all': 1, 'partial': 1, 'global': 1, 'month': 1, |
---|
| 5 | 'current_timestamp': 1, 'using': 1, 'go': 1, 'revoke': 1, |
---|
| 6 | 'smallint': 1, 'indicator': 1, 'end-exec': 1, 'disconnect': 1, |
---|
| 7 | 'zone': 1, 'with': 1, 'character': 1, 'assertion': 1, 'to': 1, |
---|
| 8 | 'add': 1, 'current_user': 1, 'usage': 1, 'input': 1, 'local': 1, |
---|
| 9 | 'alter': 1, 'match': 1, 'collate': 1, 'real': 1, 'then': 1, |
---|
| 10 | 'rollback': 1, 'get': 1, 'read': 1, 'timestamp': 1, 'session_user': 1, |
---|
| 11 | 'not': 1, 'integer': 1, 'bit': 1, 'unique': 1, 'day': 1, 'minute': 1, |
---|
| 12 | 'desc': 1, 'insert': 1, 'execute': 1, 'like': 1, 'level': 1, |
---|
| 13 | 'decimal': 1, 'drop': 1, 'continue': 1, 'isolation': 1, 'found': 1, |
---|
| 14 | 'where': 1, 'constraints': 1, 'domain': 1, 'right': 1, 'national': 1, |
---|
| 15 | 'some': 1, 'module': 1, 'transaction': 1, 'relative': 1, 'second': 1, |
---|
| 16 | 'connect': 1, 'escape': 1, 'close': 1, 'system_user': 1, 'for': 1, |
---|
| 17 | 'deferred': 1, 'section': 1, 'cast': 1, 'current': 1, 'sqlstate': 1, |
---|
| 18 | 'allocate': 1, 'intersect': 1, 'deallocate': 1, 'numeric': 1, |
---|
| 19 | 'public': 1, 'preserve': 1, 'full': 1, 'goto': 1, 'initially': 1, |
---|
| 20 | 'asc': 1, 'no': 1, 'key': 1, 'output': 1, 'collation': 1, 'group': 1, |
---|
| 21 | 'by': 1, 'union': 1, 'session': 1, 'both': 1, 'last': 1, 'language': 1, |
---|
| 22 | 'constraint': 1, 'column': 1, 'of': 1, 'space': 1, 'foreign': 1, |
---|
| 23 | 'deferrable': 1, 'prior': 1, 'connection': 1, 'unknown': 1, |
---|
| 24 | 'action': 1, 'commit': 1, 'view': 1, 'or': 1, 'first': 1, 'into': 1, |
---|
| 25 | 'float': 1, 'year': 1, 'primary': 1, 'cascaded': 1, 'except': 1, |
---|
| 26 | 'restrict': 1, 'set': 1, 'references': 1, 'names': 1, 'table': 1, |
---|
| 27 | 'outer': 1, 'open': 1, 'select': 1, 'size': 1, 'are': 1, 'rows': 1, |
---|
| 28 | 'from': 1, 'prepare': 1, 'distinct': 1, 'leading': 1, 'create': 1, |
---|
| 29 | 'only': 1, 'next': 1, 'inner': 1, 'authorization': 1, 'schema': 1, |
---|
| 30 | 'corresponding': 1, 'option': 1, 'declare': 1, 'precision': 1, |
---|
| 31 | 'immediate': 1, 'else': 1, 'timezone_minute': 1, 'external': 1, |
---|
| 32 | 'varying': 1, 'translation': 1, 'true': 1, 'case': 1, 'exception': 1, |
---|
| 33 | 'join': 1, 'hour': 1, 'default': 1, 'double': 1, 'scroll': 1, |
---|
| 34 | 'value': 1, 'cursor': 1, 'descriptor': 1, 'values': 1, 'dec': 1, |
---|
| 35 | 'fetch': 1, 'procedure': 1, 'delete': 1, 'and': 1, 'false': 1, |
---|
| 36 | 'int': 1, 'is': 1, 'describe': 1, 'char': 1, 'as': 1, 'at': 1, 'in': 1, |
---|
| 37 | 'varchar': 1, 'null': 1, 'trailing': 1, 'any': 1, 'absolute': 1, |
---|
| 38 | 'current_time': 1, 'end': 1, 'grant': 1, 'privileges': 1, 'when': 1, |
---|
| 39 | 'cross': 1, 'check': 1, 'write': 1, 'current_date': 1, 'pad': 1, |
---|
| 40 | 'begin': 1, 'temporary': 1, 'exec': 1, 'time': 1, 'update': 1, |
---|
| 41 | 'catalog': 1, 'user': 1, 'sql': 1, 'date': 1, 'on': 1, 'identity': 1, |
---|
| 42 | 'timezone_hour': 1, 'natural': 1, 'whenever': 1, 'interval': 1, |
---|
| 43 | 'work': 1, 'order': 1, 'cascade': 1, 'diagnostics': 1, 'nchar': 1, |
---|
| 44 | 'having': 1, 'left': 1 |
---|
| 45 | }; |
---|
| 46 | |
---|
| 47 | var dhc = dh.constants; |
---|
| 48 | dh.languages.sql = { |
---|
| 49 | // summary: |
---|
| 50 | // SQL highlight definitions |
---|
| 51 | case_insensitive: true, |
---|
| 52 | defaultMode: { |
---|
| 53 | lexems: [dhc.IDENT_RE], |
---|
| 54 | contains: ['string', 'number', 'comment'], |
---|
| 55 | keywords: { |
---|
| 56 | 'keyword': SQL_KEYWORDS, |
---|
| 57 | 'aggregate': {'count': 1, 'sum': 1, 'min': 1, 'max': 1, 'avg': 1} |
---|
| 58 | } |
---|
| 59 | }, |
---|
| 60 | modes: [ |
---|
| 61 | dhc.C_NUMBER_MODE, |
---|
| 62 | dhc.C_BLOCK_COMMENT_MODE, |
---|
| 63 | { |
---|
| 64 | className: 'comment', |
---|
| 65 | begin: '--', end: '$' |
---|
| 66 | }, |
---|
| 67 | { |
---|
| 68 | className: 'string', |
---|
| 69 | begin: '\'', end: '\'', |
---|
| 70 | contains: ['escape', 'squote'], |
---|
| 71 | relevance: 0 |
---|
| 72 | }, |
---|
| 73 | { |
---|
| 74 | className: 'squote', |
---|
| 75 | begin: '\'\'', end: '^' |
---|
| 76 | }, |
---|
| 77 | { |
---|
| 78 | className: 'string', |
---|
| 79 | begin: '"', end: '"', |
---|
| 80 | contains: [ 'escape', 'dquote'], |
---|
| 81 | relevance: 0 |
---|
| 82 | }, |
---|
| 83 | { |
---|
| 84 | className: 'dquote', |
---|
| 85 | begin: '""', end: '^' |
---|
| 86 | }, |
---|
| 87 | { |
---|
| 88 | className: 'string', |
---|
| 89 | begin: '`', end: '`', |
---|
| 90 | contains: ['escape'] |
---|
| 91 | }, |
---|
| 92 | dhc.BACKSLASH_ESCAPE |
---|
| 93 | ] |
---|
| 94 | }; |
---|
| 95 | |
---|
| 96 | return dh.languages.sql; |
---|
| 97 | }); |
---|