mode-apex-ac1fd8f3.js.map 23 KB

1
  1. {"version":3,"file":"mode-apex-ac1fd8f3.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-apex.js"],"sourcesContent":["ace.define(\"ace/mode/doc_comment_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar DocCommentHighlightRules = function () {\n this.$rules = {\n \"start\": [\n {\n token: \"comment.doc.tag\",\n regex: \"@\\\\w+(?=\\\\s|$)\"\n }, DocCommentHighlightRules.getTagRule(), {\n defaultToken: \"comment.doc\",\n caseInsensitive: true\n }\n ]\n };\n};\noop.inherits(DocCommentHighlightRules, TextHighlightRules);\nDocCommentHighlightRules.getTagRule = function (start) {\n return {\n token: \"comment.doc.tag.storage.type\",\n regex: \"\\\\b(?:TODO|FIXME|XXX|HACK)\\\\b\"\n };\n};\nDocCommentHighlightRules.getStartRule = function (start) {\n return {\n token: \"comment.doc\",\n regex: \"\\\\/\\\\*(?=\\\\*)\",\n next: start\n };\n};\nDocCommentHighlightRules.getEndRule = function (start) {\n return {\n token: \"comment.doc\",\n regex: \"\\\\*\\\\/\",\n next: start\n };\n};\nexports.DocCommentHighlightRules = DocCommentHighlightRules;\n\n});\n\nace.define(\"ace/mode/apex_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\",\"ace/mode/doc_comment_highlight_rules\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"../mode/text_highlight_rules\").TextHighlightRules;\nvar DocCommentHighlightRules = require(\"../mode/doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar ApexHighlightRules = function () {\n var mainKeywordMapper = this.createKeywordMapper({\n \"variable.language\": \"activate|any|autonomous|begin|bigdecimal|byte|cast|char|collect|const\"\n + \"|end|exit|export|float|goto|group|having|hint|import|inner|into|join|loop|number|object|of|outer\"\n + \"|parallel|pragma|retrieve|returning|search|short|stat|synchronized|then|this_month\"\n + \"|transaction|type|when\",\n \"keyword\": \"private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final\"\n + \"|and|array|as|asc|break|bulk|by|catch|class|commit|continue|convertcurrency\"\n + \"|delete|desc|do|else|enum|extends|false|final|finally|for|from|future|global\"\n + \"|if|implements|in|insert|instanceof|interface|last_90_days|last_month\"\n + \"|last_n_days|last_week|like|limit|list|map|merge|new|next_90_days|next_month|next_n_days\"\n + \"|next_week|not|null|nulls|on|or|override|package|return\"\n + \"|rollback|savepoint|select|set|sort|super|testmethod|this|this_week|throw|today\"\n + \"|tolabel|tomorrow|trigger|true|try|undelete|update|upsert|using|virtual|webservice\"\n + \"|where|while|yesterday|switch|case|default\",\n \"storage.type\": \"def|boolean|byte|char|short|int|float|pblob|date|datetime|decimal|double|id|integer|long|string|time|void|blob|Object\",\n \"constant.language\": \"true|false|null|after|before|count|excludes|first|includes|last|order|sharing|with\",\n \"support.function\": \"system|apex|label|apexpages|userinfo|schema\"\n }, \"identifier\", true);\n function keywordMapper(value) {\n if (value.slice(-3) == \"__c\")\n return \"support.function\";\n return mainKeywordMapper(value);\n }\n function string(start, options) {\n return {\n regex: start + (options.multiline ? \"\" : \"(?=.)\"),\n token: \"string.start\",\n next: [{\n regex: options.escape,\n token: \"character.escape\"\n }, {\n regex: options.error,\n token: \"error.invalid\"\n }, {\n regex: start + (options.multiline ? \"\" : \"|$\"),\n token: \"string.end\",\n next: options.next || \"start\"\n }, {\n defaultToken: \"string\"\n }]\n };\n }\n function comments() {\n return [{\n token: \"comment\",\n regex: \"\\\\/\\\\/(?=.)\",\n next: [\n DocCommentHighlightRules.getTagRule(),\n { token: \"comment\", regex: \"$|^\", next: \"start\" },\n { defaultToken: \"comment\", caseInsensitive: true }\n ]\n },\n DocCommentHighlightRules.getStartRule(\"doc-start\"),\n {\n token: \"comment\",\n regex: /\\/\\*/,\n next: [\n DocCommentHighlightRules.getTagRule(),\n { token: \"comment\", regex: \"\\\\*\\\\/\", next: \"start\" },\n { defaultToken: \"comment\", caseInsensitive: true }\n ]\n }\n ];\n }\n this.$rules = {\n start: [\n string(\"'\", {\n escape: /\\\\[nb'\"\\\\]/,\n error: /\\\\./,\n multiline: false\n }),\n comments(\"c\"),\n {\n type: \"decoration\",\n token: [\n \"meta.package.apex\",\n \"keyword.other.package.apex\",\n \"meta.package.apex\",\n \"storage.modifier.package.apex\",\n \"meta.package.apex\",\n \"punctuation.terminator.apex\"\n ],\n regex: /^(\\s*)(package)\\b(?:(\\s*)([^ ;$]+)(\\s*)((?:;)?))?/\n }, {\n regex: /@[a-zA-Z_$][a-zA-Z_$\\d\\u0080-\\ufffe]*/,\n token: \"constant.language\"\n },\n {\n regex: /[a-zA-Z_$][a-zA-Z_$\\d\\u0080-\\ufffe]*/,\n token: keywordMapper\n },\n {\n regex: \"`#%\",\n token: \"error.invalid\"\n }, {\n token: \"constant.numeric\",\n regex: /[+-]?\\d+(?:(?:\\.\\d*)?(?:[LlDdEe][+-]?\\d+)?)\\b|\\.\\d+[LlDdEe]/\n }, {\n token: \"keyword.operator\",\n regex: /--|\\+\\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|[!$%&*+\\-~\\/^]=?/,\n next: \"start\"\n }, {\n token: \"punctuation.operator\",\n regex: /[?:,;.]/,\n next: \"start\"\n }, {\n token: \"paren.lparen\",\n regex: /[\\[]/,\n next: \"maybe_soql\",\n merge: false\n }, {\n token: \"paren.lparen\",\n regex: /[\\[({]/,\n next: \"start\",\n merge: false\n }, {\n token: \"paren.rparen\",\n regex: /[\\])}]/,\n merge: false\n }\n ],\n maybe_soql: [{\n regex: /\\s+/,\n token: \"text\"\n }, {\n regex: /(SELECT|FIND)\\b/,\n token: \"keyword\",\n caseInsensitive: true,\n next: \"soql\"\n }, {\n regex: \"\",\n token: \"none\",\n next: \"start\"\n }],\n soql: [{\n regex: \"(:?ASC|BY|CATEGORY|CUBE|DATA|DESC|END|FIND|FIRST|FOR|FROM|GROUP|HAVING|IN|LAST\"\n + \"|LIMIT|NETWORK|NULLS|OFFSET|ORDER|REFERENCE|RETURNING|ROLLUP|SCOPE|SELECT\"\n + \"|SNIPPET|TRACKING|TYPEOF|UPDATE|USING|VIEW|VIEWSTAT|WHERE|WITH|AND|OR)\\\\b\",\n token: \"keyword\",\n caseInsensitive: true\n }, {\n regex: \"(:?target_length|toLabel|convertCurrency|count|Contact|Account|User|FIELDS)\\\\b\",\n token: \"support.function\",\n caseInsensitive: true\n }, {\n token: \"paren.rparen\",\n regex: /[\\]]/,\n next: \"start\",\n merge: false\n },\n string(\"'\", {\n escape: /\\\\[nb'\"\\\\]/,\n error: /\\\\./,\n multiline: false,\n next: \"soql\"\n }),\n string('\"', {\n escape: /\\\\[nb'\"\\\\]/,\n error: /\\\\./,\n multiline: false,\n next: \"soql\"\n }),\n {\n regex: /\\\\./,\n token: \"character.escape\"\n },\n {\n regex: /[\\?\\&\\|\\!\\{\\}\\[\\]\\(\\)\\^\\~\\*\\:\\\"\\'\\+\\-\\,\\.=\\\\\\/]/,\n token: \"keyword.operator\"\n }],\n \"log-start\": [{\n token: \"timestamp.invisible\",\n regex: /^[\\d:.() ]+\\|/,\n next: \"log-header\"\n }, {\n token: \"timestamp.invisible\",\n regex: /^ (Number of|Maximum)[^:]*:/,\n next: \"log-comment\"\n }, {\n token: \"invisible\",\n regex: /^Execute Anonymous:/,\n next: \"log-comment\"\n }, {\n defaultToken: \"text\"\n }],\n \"log-comment\": [{\n token: \"log-comment\",\n regex: /.*$/,\n next: \"log-start\"\n }],\n \"log-header\": [{\n token: \"timestamp.invisible\",\n regex: /((USER_DEBUG|\\[\\d+\\]|DEBUG)\\|)+/\n },\n {\n token: \"keyword\",\n regex: \"(?:EXECUTION_FINISHED|EXECUTION_STARTED|CODE_UNIT_STARTED\"\n + \"|CUMULATIVE_LIMIT_USAGE|LIMIT_USAGE_FOR_NS\"\n + \"|CUMULATIVE_LIMIT_USAGE_END|CODE_UNIT_FINISHED)\"\n }, {\n regex: \"\",\n next: \"log-start\"\n }]\n };\n this.embedRules(DocCommentHighlightRules, \"doc-\", [DocCommentHighlightRules.getEndRule(\"start\")]);\n this.normalizeRules();\n};\noop.inherits(ApexHighlightRules, TextHighlightRules);\nexports.ApexHighlightRules = ApexHighlightRules;\n\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Range = require(\"../../range\").Range;\nvar BaseFoldMode = require(\"./fold_mode\").FoldMode;\nvar FoldMode = exports.FoldMode = function (commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start));\n this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end));\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n(function () {\n this.foldingStartMarker = /([\\{\\[\\(])[^\\}\\]\\)]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{\\(]*([\\}\\]\\)])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe = /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function (session, foldStyle, row) {\n var line = session.getLine(row);\n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n return fw;\n };\n this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n }\n else if (foldStyle != \"all\")\n range = null;\n }\n return range;\n }\n if (foldStyle === \"markbegin\")\n return;\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n this.getSectionRange = function (session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n }\n else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n }\n else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function (session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m)\n continue;\n if (m[1])\n depth--;\n else\n depth++;\n if (!depth)\n break;\n }\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/apex\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/apex_highlight_rules\",\"ace/mode/folding/cstyle\"], function(require, exports, module){/* caption: Apex; extensions: apex,cls,trigger,tgr */\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextMode = require(\"../mode/text\").Mode;\nvar ApexHighlightRules = require(\"./apex_highlight_rules\").ApexHighlightRules;\nvar FoldMode = require(\"../mode/folding/cstyle\").FoldMode;\nfunction ApexMode() {\n TextMode.call(this);\n this.HighlightRules = ApexHighlightRules;\n this.foldingRules = new FoldMode();\n this.$behaviour = this.$defaultBehaviour;\n}\noop.inherits(ApexMode, TextMode);\nApexMode.prototype.lineCommentStart = \"//\";\nApexMode.prototype.blockComment = {\n start: \"/*\",\n end: \"*/\"\n};\nexports.Mode = ApexMode;\n\n}); (function() {\n ace.require([\"ace/mode/apex\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n "],"names":["require","exports","module","oop","TextHighlightRules","DocCommentHighlightRules","start","ApexHighlightRules","mainKeywordMapper","keywordMapper","value","string","options","comments","Range","BaseFoldMode","FoldMode","commentRegex","session","foldStyle","row","line","fw","forceMultiline","match","i","range","startIndent","startRow","startColumn","endRow","maxRow","indent","subRange","re","depth","m","TextMode","ApexMode"],"mappings":"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","x_google_ignoreList":[0]}