mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Updated package json but not updated source files * Update eslint plugin * updated files
115 lines
3.1 KiB
JavaScript
115 lines
3.1 KiB
JavaScript
ace.define(
|
|
'ace/mode/sql_highlight_rules',
|
|
['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text_highlight_rules'],
|
|
function (require, exports, module) {
|
|
'use strict';
|
|
|
|
var oop = require('../lib/oop');
|
|
var TextHighlightRules = require('./text_highlight_rules').TextHighlightRules;
|
|
|
|
var SqlHighlightRules = function () {
|
|
var keywords =
|
|
'select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|' +
|
|
'when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|' +
|
|
'foreign|not|references|default|null|inner|cross|natural|database|drop|grant';
|
|
|
|
var builtinConstants = 'true|false';
|
|
|
|
var builtinFunctions =
|
|
'avg|count|first|last|max|min|sum|upper|lower|substring|char_length|round|rank|now|' + 'coalesce';
|
|
|
|
var dataTypes =
|
|
'int|int2|int4|int8|numeric|decimal|date|varchar|char|bigint|float|bool|bytea|text|timestamp|' +
|
|
'time|money|real|integer';
|
|
|
|
var keywordMapper = this.createKeywordMapper(
|
|
{
|
|
'support.function': builtinFunctions,
|
|
keyword: keywords,
|
|
'constant.language': builtinConstants,
|
|
'storage.type': dataTypes,
|
|
},
|
|
'identifier',
|
|
true
|
|
);
|
|
|
|
this.$rules = {
|
|
start: [
|
|
{
|
|
token: 'comment',
|
|
regex: '--.*$',
|
|
},
|
|
{
|
|
token: 'comment',
|
|
start: '/\\*',
|
|
end: '\\*/',
|
|
},
|
|
{
|
|
token: 'string', // " string
|
|
regex: '".*?"',
|
|
},
|
|
{
|
|
token: 'string', // ' string
|
|
regex: "'.*?'",
|
|
},
|
|
{
|
|
token: 'constant.numeric', // float
|
|
regex: '[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b',
|
|
},
|
|
{
|
|
token: keywordMapper,
|
|
regex: '[a-zA-Z_$][a-zA-Z0-9_$]*\\b',
|
|
},
|
|
{
|
|
token: 'keyword.operator',
|
|
regex: '\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=',
|
|
},
|
|
{
|
|
token: 'paren.lparen',
|
|
regex: '[\\(]',
|
|
},
|
|
{
|
|
token: 'paren.rparen',
|
|
regex: '[\\)]',
|
|
},
|
|
{
|
|
token: 'text',
|
|
regex: '\\s+',
|
|
},
|
|
],
|
|
};
|
|
this.normalizeRules();
|
|
};
|
|
|
|
oop.inherits(SqlHighlightRules, TextHighlightRules);
|
|
|
|
exports.SqlHighlightRules = SqlHighlightRules;
|
|
}
|
|
);
|
|
|
|
ace.define(
|
|
'ace/mode/sql',
|
|
['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text', 'ace/mode/sql_highlight_rules'],
|
|
function (require, exports, module) {
|
|
'use strict';
|
|
|
|
var oop = require('../lib/oop');
|
|
var TextMode = require('./text').Mode;
|
|
var SqlHighlightRules = require('./sql_highlight_rules').SqlHighlightRules;
|
|
|
|
var Mode = function () {
|
|
this.HighlightRules = SqlHighlightRules;
|
|
this.$behaviour = this.$defaultBehaviour;
|
|
};
|
|
oop.inherits(Mode, TextMode);
|
|
|
|
(function () {
|
|
this.lineCommentStart = '--';
|
|
|
|
this.$id = 'ace/mode/sql';
|
|
}.call(Mode.prototype));
|
|
|
|
exports.Mode = Mode;
|
|
}
|
|
);
|