Spaces:
Sleeping
Sleeping
ace.define( | |
"ace/mode/sql_highlight_rules", | |
[ | |
"require", | |
"exports", | |
"module", | |
"ace/lib/oop", | |
"ace/mode/text_highlight_rules", | |
], | |
function (e, t, n) { | |
"use strict"; | |
var r = e("../lib/oop"), | |
i = e("./text_highlight_rules").TextHighlightRules, | |
s = function () { | |
var e = | |
"select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|when|then|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|distinct|is|in|all|alter|any|array|at|authorization|between|both|cast|check|collate|column|commit|constraint|cube|current|current_date|current_time|current_timestamp|current_user|describe|escape|except|exists|external|extract|fetch|filter|for|full|function|global|grouping|intersect|interval|into|leading|like|local|no|of|only|out|overlaps|partition|position|range|revoke|rollback|rollup|row|rows|session_user|set|some|start|tablesample|time|to|trailing|truncate|unique|unknown|user|using|values|window|with", | |
t = "true|false", | |
n = | |
"avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|coalesce|ifnull|isnull|nvl", | |
r = | |
"int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|money|real|number|integer|string", | |
i = this.createKeywordMapper( | |
{ | |
"support.function": n, | |
keyword: e, | |
"constant.language": t, | |
"storage.type": r, | |
}, | |
"identifier", | |
!0 | |
); | |
(this.$rules = { | |
start: [ | |
{ token: "comment", regex: "--.*$" }, | |
{ token: "comment", start: "/\\*", end: "\\*/" }, | |
{ token: "string", regex: '".*?"' }, | |
{ token: "string", regex: "'.*?'" }, | |
{ token: "string", regex: "`.*?`" }, | |
{ | |
token: "constant.numeric", | |
regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b", | |
}, | |
{ token: i, 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(); | |
}; | |
r.inherits(s, i), (t.SqlHighlightRules = s); | |
} | |
), | |
ace.define( | |
"ace/mode/folding/cstyle", | |
[ | |
"require", | |
"exports", | |
"module", | |
"ace/lib/oop", | |
"ace/range", | |
"ace/mode/folding/fold_mode", | |
], | |
function (e, t, n) { | |
"use strict"; | |
var r = e("../../lib/oop"), | |
i = e("../../range").Range, | |
s = e("./fold_mode").FoldMode, | |
o = (t.FoldMode = function (e) { | |
e && | |
((this.foldingStartMarker = new RegExp( | |
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + e.start) | |
)), | |
(this.foldingStopMarker = new RegExp( | |
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + e.end) | |
))); | |
}); | |
r.inherits(o, s), | |
function () { | |
(this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/), | |
(this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/), | |
(this.singleLineBlockCommentRe = /^\s*(\/\*).*\*\/\s*$/), | |
(this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/), | |
(this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/), | |
(this._getFoldWidgetBase = this.getFoldWidget), | |
(this.getFoldWidget = function (e, t, n) { | |
var r = e.getLine(n); | |
if ( | |
this.singleLineBlockCommentRe.test(r) && | |
!this.startRegionRe.test(r) && | |
!this.tripleStarBlockCommentRe.test(r) | |
) | |
return ""; | |
var i = this._getFoldWidgetBase(e, t, n); | |
return !i && this.startRegionRe.test(r) ? "start" : i; | |
}), | |
(this.getFoldWidgetRange = function (e, t, n, r) { | |
var i = e.getLine(n); | |
if (this.startRegionRe.test(i)) | |
return this.getCommentRegionBlock(e, i, n); | |
var s = i.match(this.foldingStartMarker); | |
if (s) { | |
var o = s.index; | |
if (s[1]) return this.openingBracketBlock(e, s[1], n, o); | |
var u = e.getCommentFoldRange(n, o + s[0].length, 1); | |
return ( | |
u && | |
!u.isMultiLine() && | |
(r | |
? (u = this.getSectionRange(e, n)) | |
: t != "all" && (u = null)), | |
u | |
); | |
} | |
if (t === "markbegin") return; | |
var s = i.match(this.foldingStopMarker); | |
if (s) { | |
var o = s.index + s[0].length; | |
return s[1] | |
? this.closingBracketBlock(e, s[1], n, o) | |
: e.getCommentFoldRange(n, o, -1); | |
} | |
}), | |
(this.getSectionRange = function (e, t) { | |
var n = e.getLine(t), | |
r = n.search(/\S/), | |
s = t, | |
o = n.length; | |
t += 1; | |
var u = t, | |
a = e.getLength(); | |
while (++t < a) { | |
n = e.getLine(t); | |
var f = n.search(/\S/); | |
if (f === -1) continue; | |
if (r > f) break; | |
var l = this.getFoldWidgetRange(e, "all", t); | |
if (l) { | |
if (l.start.row <= s) break; | |
if (l.isMultiLine()) t = l.end.row; | |
else if (r == f) break; | |
} | |
u = t; | |
} | |
return new i(s, o, u, e.getLine(u).length); | |
}), | |
(this.getCommentRegionBlock = function (e, t, n) { | |
var r = t.search(/\s*$/), | |
s = e.getLength(), | |
o = n, | |
u = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/, | |
a = 1; | |
while (++n < s) { | |
t = e.getLine(n); | |
var f = u.exec(t); | |
if (!f) continue; | |
f[1] ? a-- : a++; | |
if (!a) break; | |
} | |
var l = n; | |
if (l > o) return new i(o, r, l, t.length); | |
}); | |
}.call(o.prototype); | |
} | |
), | |
ace.define( | |
"ace/mode/folding/sql", | |
["require", "exports", "module", "ace/lib/oop", "ace/mode/folding/cstyle"], | |
function (e, t, n) { | |
"use strict"; | |
var r = e("../../lib/oop"), | |
i = e("./cstyle").FoldMode, | |
s = (t.FoldMode = function () {}); | |
r.inherits(s, i), function () {}.call(s.prototype); | |
} | |
), | |
ace.define( | |
"ace/mode/sql", | |
[ | |
"require", | |
"exports", | |
"module", | |
"ace/lib/oop", | |
"ace/mode/text", | |
"ace/mode/sql_highlight_rules", | |
"ace/mode/folding/sql", | |
], | |
function (e, t, n) { | |
"use strict"; | |
var r = e("../lib/oop"), | |
i = e("./text").Mode, | |
s = e("./sql_highlight_rules").SqlHighlightRules, | |
o = e("./folding/sql").FoldMode, | |
u = function () { | |
(this.HighlightRules = s), | |
(this.foldingRules = new o()), | |
(this.$behaviour = this.$defaultBehaviour); | |
}; | |
r.inherits(u, i), | |
function () { | |
(this.lineCommentStart = "--"), | |
(this.blockComment = { start: "/*", end: "*/" }), | |
(this.$id = "ace/mode/sql"), | |
(this.snippetFileId = "ace/snippets/sql"); | |
}.call(u.prototype), | |
(t.Mode = u); | |
} | |
); | |
(function () { | |
ace.require(["ace/mode/sql"], function (m) { | |
if (typeof module == "object" && typeof exports == "object" && module) { | |
module.exports = m; | |
} | |
}); | |
})(); | |