{"version":3,"file":"mode-pascal-e46058da.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-pascal.js"],"sourcesContent":["ace.define(\"ace/mode/pascal_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 PascalHighlightRules = function () {\n var keywordMapper = this.createKeywordMapper({\n \"keyword.control\": \"absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class\" +\n \"|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization\" +\n \"|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is\" +\n \"|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private\" +\n \"|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr\" +\n \"|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor\"\n }, \"identifier\", true);\n this.$rules = {\n start: [{\n caseInsensitive: true,\n token: ['variable', \"text\",\n 'storage.type.prototype',\n 'entity.name.function.prototype'\n ],\n regex: '\\\\b(function|procedure)(\\\\s+)(\\\\w+)(\\\\.\\\\w+)?(?=(?:\\\\(.*?\\\\))?;\\\\s*(?:attribute|forward|external))'\n }, {\n caseInsensitive: true,\n token: ['variable', \"text\", 'storage.type.function', 'entity.name.function'],\n regex: '\\\\b(function|procedure)(\\\\s+)(\\\\w+)(\\\\.\\\\w+)?'\n }, {\n caseInsensitive: true,\n token: keywordMapper,\n regex: /\\b[a-z_]+\\b/\n }, {\n token: 'constant.numeric',\n regex: '\\\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))((e|E)(\\\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\\\b'\n }, {\n token: 'punctuation.definition.comment',\n regex: '--.*$'\n }, {\n token: 'punctuation.definition.comment',\n regex: '//.*$'\n }, {\n token: 'punctuation.definition.comment',\n regex: '\\\\(\\\\*',\n push: [{\n token: 'punctuation.definition.comment',\n regex: '\\\\*\\\\)',\n next: 'pop'\n },\n { defaultToken: 'comment.block.one' }\n ]\n }, {\n token: 'punctuation.definition.comment',\n regex: '\\\\{',\n push: [{\n token: 'punctuation.definition.comment',\n regex: '\\\\}',\n next: 'pop'\n },\n { defaultToken: 'comment.block.two' }\n ]\n }, {\n token: 'punctuation.definition.string.begin',\n regex: '\"',\n push: [{ token: 'constant.character.escape', regex: '\\\\\\\\.' },\n {\n token: 'punctuation.definition.string.end',\n regex: '\"',\n next: 'pop'\n },\n { defaultToken: 'string.quoted.double' }\n ]\n }, {\n token: 'punctuation.definition.string.begin',\n regex: '\\'',\n push: [{\n token: 'constant.character.escape.apostrophe',\n regex: '\\'\\''\n },\n {\n token: 'punctuation.definition.string.end',\n regex: '\\'',\n next: 'pop'\n },\n { defaultToken: 'string.quoted.single' }\n ]\n }, {\n token: 'keyword.operator',\n regex: '[+\\\\-;,/*%]|:=|='\n }\n ]\n };\n this.normalizeRules();\n};\noop.inherits(PascalHighlightRules, TextHighlightRules);\nexports.PascalHighlightRules = PascalHighlightRules;\n\n});\n\nace.define(\"ace/mode/folding/coffee\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar BaseFoldMode = require(\"./fold_mode\").FoldMode;\nvar Range = require(\"../../range\").Range;\nvar FoldMode = exports.FoldMode = function () { };\noop.inherits(FoldMode, BaseFoldMode);\n(function () {\n this.getFoldWidgetRange = function (session, foldStyle, row) {\n var range = this.indentationBlock(session, row);\n if (range)\n return range;\n var re = /\\S/;\n var line = session.getLine(row);\n var startLevel = line.search(re);\n if (startLevel == -1 || line[startLevel] != \"#\")\n return;\n var startColumn = line.length;\n var maxRow = session.getLength();\n var startRow = row;\n var endRow = row;\n while (++row < maxRow) {\n line = session.getLine(row);\n var level = line.search(re);\n if (level == -1)\n continue;\n if (line[level] != \"#\")\n break;\n endRow = row;\n }\n if (endRow > startRow) {\n var endColumn = session.getLine(endRow).length;\n return new Range(startRow, startColumn, endRow, endColumn);\n }\n };\n this.getFoldWidget = function (session, foldStyle, row) {\n var line = session.getLine(row);\n var indent = line.search(/\\S/);\n var next = session.getLine(row + 1);\n var prev = session.getLine(row - 1);\n var prevIndent = prev.search(/\\S/);\n var nextIndent = next.search(/\\S/);\n if (indent == -1) {\n session.foldWidgets[row - 1] = prevIndent != -1 && prevIndent < nextIndent ? \"start\" : \"\";\n return \"\";\n }\n if (prevIndent == -1) {\n if (indent == nextIndent && line[indent] == \"#\" && next[indent] == \"#\") {\n session.foldWidgets[row - 1] = \"\";\n session.foldWidgets[row + 1] = \"\";\n return \"start\";\n }\n }\n else if (prevIndent == indent && line[indent] == \"#\" && prev[indent] == \"#\") {\n if (session.getLine(row - 2).search(/\\S/) == -1) {\n session.foldWidgets[row - 1] = \"start\";\n session.foldWidgets[row + 1] = \"\";\n return \"\";\n }\n }\n if (prevIndent != -1 && prevIndent < indent)\n session.foldWidgets[row - 1] = \"start\";\n else\n session.foldWidgets[row - 1] = \"\";\n if (indent < nextIndent)\n return \"start\";\n else\n return \"\";\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/pascal\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/pascal_highlight_rules\",\"ace/mode/folding/coffee\"], function(require, exports, module){/*\n THIS FILE WAS AUTOGENERATED BY mode.tmpl.js\n*/\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextMode = require(\"./text\").Mode;\nvar PascalHighlightRules = require(\"./pascal_highlight_rules\").PascalHighlightRules;\nvar FoldMode = require(\"./folding/coffee\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = PascalHighlightRules;\n this.foldingRules = new FoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.lineCommentStart = [\"--\", \"//\"];\n this.blockComment = [\n { start: \"(*\", end: \"*)\" },\n { start: \"{\", end: \"}\" }\n ];\n this.$id = \"ace/mode/pascal\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/pascal\"], 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","PascalHighlightRules","keywordMapper","BaseFoldMode","Range","FoldMode","session","foldStyle","row","range","re","line","startLevel","startColumn","maxRow","startRow","endRow","level","endColumn","indent","next","prev","prevIndent","nextIndent","TextMode","Mode","m"],"mappings":"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","x_google_ignoreList":[0]}