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; } }); })();