48 lines
2.7 KiB
JavaScript
48 lines
2.7 KiB
JavaScript
/*
|
|
---
|
|
description: SQL Language
|
|
|
|
license: MIT-style
|
|
|
|
authors:
|
|
- Jose Prado
|
|
- Andi Dittrich
|
|
|
|
requires:
|
|
- Core/1.4.5
|
|
|
|
provides: [EnlighterJS.Language.sql]
|
|
...
|
|
*/
|
|
EJS.Language.sql = new Class ({
|
|
|
|
Extends: EJS.Language.generic,
|
|
|
|
setupLanguage: function(){
|
|
this.keywords = {
|
|
keywords: {
|
|
csv: 'savepoint, start, absolute, action, add, after, alter, as, asc, at, authorization, begin, bigint, binary, bit, by, cascade, char, character, check, checkpoint, close, collate, column, commit, committed, connect, connection, constraint, contains, continue, create, cube, current, current_date, current_time, cursor, database, date, deallocate, dec, decimal, declare, default, delete, desc, distinct, double, drop, dynamic, else, end, end-exec, escape, except, exec, execute, false, fetch, first, float, for, force, foreign, forward, free, from, full, function, global, goto, grant, group, grouping, having, hour, ignore, index, inner, insensitive, insert, instead, int, integer, intersect, into, is, isolation, key, last, level, load, local, max, min, minute, modify, move, name, national, nchar, next, no, numeric, of, off, on, only, open, option, order, out, output, partial, password, precision, prepare, primary, prior, privileges, procedure, public, read, real, references, relative, repeatable, restrict, return, returns, revoke, rollback, rollup, rows, rule, schema, scroll, second, section, select, sequence, serializable, set, size, smallint, static, statistics, table, temp, temporary, then, time, timestamp, to, top, transaction, translation, trigger, true, truncate, uncommitted, union, unique, update, values, varchar, varying, view, when, where, with, work',
|
|
alias: 'kw1',
|
|
mod: 'gi'
|
|
},
|
|
functions: {
|
|
csv: 'abs, avg, case, cast, coalesce, convert, count, current_timestamp, current_user, day, isnull, left, lower, month, nullif, replace, right, session_user, space, substring, sum, system_user, upper, user, year',
|
|
alias: 'kw2',
|
|
mod: 'gi'
|
|
},
|
|
operators: {
|
|
csv: 'all, and, any, between, cross, in, join, like, not, null, or, outer, some, if',
|
|
alias: 'kw3',
|
|
mod: 'gi'
|
|
}
|
|
},
|
|
|
|
this.patterns = {
|
|
'singleLineComments': {pattern: /--(.*)$/gm, alias: 'co1'},
|
|
'multiLineComments': {pattern: this.common.multiComments, alias: 'co2'},
|
|
'multiLineStrings': {pattern: this.common.multiLineStrings, alias: 'st0'},
|
|
'numbers': {pattern: this.common.numbers, alias: 'nu0'},
|
|
'columns': {pattern: /`[^`\\]*(?:\\.[^`\\]*)*`/gm, alias: 'kw4'}
|
|
};
|
|
}
|
|
});
|