mode-nim-405ac55c.js.map 20 KB

1
  1. {"version":3,"file":"mode-nim-405ac55c.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-nim.js"],"sourcesContent":["ace.define(\"ace/mode/nim_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 NimHighlightRules = function () {\n var keywordMapper = this.createKeywordMapper({\n \"variable\": \"var|let|const\",\n \"keyword\": \"assert|parallel|spawn|export|include|from|template|mixin|bind|import|concept|raise|defer|try|finally|except|converter|proc|func|macro|method|and|or|not|xor|shl|shr|div|mod|in|notin|is|isnot|of|static|if|elif|else|case|of|discard|when|return|yield|block|break|while|echo|continue|asm|using|cast|addr|unsafeAddr|type|ref|ptr|do|declared|defined|definedInScope|compiles|sizeOf|is|shallowCopy|getAst|astToStr|spawn|procCall|for|iterator|as\",\n \"storage.type\": \"newSeq|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|char|bool|string|set|pointer|float32|float64|enum|object|cstring|array|seq|openArray|varargs|UncheckedArray|tuple|set|distinct|void|auto|openarray|range\",\n \"support.function\": \"lock|ze|toU8|toU16|toU32|ord|low|len|high|add|pop|contains|card|incl|excl|dealloc|inc\",\n \"constant.language\": \"nil|true|false\"\n }, \"identifier\");\n var hexNumber = \"(?:0[xX][\\\\dA-Fa-f][\\\\dA-Fa-f_]*)\";\n var decNumber = \"(?:[0-9][\\\\d_]*)\";\n var octNumber = \"(?:0o[0-7][0-7_]*)\";\n var binNumber = \"(?:0[bB][01][01_]*)\";\n var intNumber = \"(?:\" + hexNumber + \"|\" + decNumber + \"|\" + octNumber + \"|\" + binNumber + \")(?:'?[iIuU](?:8|16|32|64)|u)?\\\\b\";\n var exponent = \"(?:[eE][+-]?[\\\\d][\\\\d_]*)\";\n var floatNumber = \"(?:[\\\\d][\\\\d_]*(?:[.][\\\\d](?:[\\\\d_]*)\" + exponent + \"?)|\" + exponent + \")\";\n var floatNumberExt = \"(?:\" + hexNumber + \"(?:'(?:(?:[fF](?:32|64)?)|[dD])))|(?:\" + floatNumber + \"|\" + decNumber + \"|\" + octNumber + \"|\" + binNumber + \")(?:'(?:(?:[fF](?:32|64)?)|[dD]))\";\n var stringEscape = \"\\\\\\\\([abeprcnlftv\\\\\\\"']|x[0-9A-Fa-f]{2}|[0-2][0-9]{2}|u[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})\";\n var identifier = '[a-zA-Z][a-zA-Z0-9_]*';\n this.$rules = {\n \"start\": [{\n token: [\"identifier\", \"keyword.operator\", \"support.function\"],\n regex: \"(\" + identifier + \")([.]{1})(\" + identifier + \")(?=\\\\()\"\n }, {\n token: \"paren.lparen\",\n regex: \"(\\\\{\\\\.)\",\n next: [{\n token: \"paren.rparen\",\n regex: '(\\\\.\\\\}|\\\\})',\n next: \"start\"\n }, {\n include: \"methods\"\n }, {\n token: \"identifier\",\n regex: identifier\n }, {\n token: \"punctuation\",\n regex: /[,]/\n }, {\n token: \"keyword.operator\",\n regex: /[=:.]/\n }, {\n token: \"paren.lparen\",\n regex: /[[(]/\n }, {\n token: \"paren.rparen\",\n regex: /[\\])]/\n }, {\n include: \"math\"\n }, {\n include: \"strings\"\n }, {\n defaultToken: \"text\"\n }]\n }, {\n token: \"comment.doc.start\",\n regex: /##\\[(?!])/,\n push: \"docBlockComment\"\n }, {\n token: \"comment.start\",\n regex: /#\\[(?!])/,\n push: \"blockComment\"\n }, {\n token: \"comment.doc\",\n regex: '##.*$'\n }, {\n token: \"comment\",\n regex: '#.*$'\n }, {\n include: \"strings\"\n }, {\n token: \"string\",\n regex: \"'(?:\\\\\\\\(?:[abercnlftv]|x[0-9A-Fa-f]{2}|[0-2][0-9]{2}|u[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})|.{1})?'\"\n }, {\n include: \"methods\"\n }, {\n token: keywordMapper,\n regex: \"[a-zA-Z][a-zA-Z0-9_]*\\\\b\"\n }, {\n token: [\"keyword.operator\", \"text\", \"storage.type\"],\n regex: \"([:])(\\\\s+)(\" + identifier + \")(?=$|\\\\)|\\\\[|,|\\\\s+=|;|\\\\s+\\\\{)\"\n }, {\n token: \"paren.lparen\",\n regex: /\\[\\.|{\\||\\(\\.|\\[:|[[({`]/\n }, {\n token: \"paren.rparen\",\n regex: /\\.\\)|\\|}|\\.]|[\\])}]/\n }, {\n token: \"keyword.operator\",\n regex: /[=+\\-*\\/<>@$~&%|!?^.:\\\\]/\n }, {\n token: \"punctuation\",\n regex: /[,;]/\n }, {\n include: \"math\"\n }],\n blockComment: [{\n regex: /#\\[]/,\n token: \"comment\"\n }, {\n regex: /#\\[(?!])/,\n token: \"comment.start\",\n push: \"blockComment\"\n }, {\n regex: /]#/,\n token: \"comment.end\",\n next: \"pop\"\n }, {\n defaultToken: \"comment\"\n }],\n docBlockComment: [{\n regex: /##\\[]/,\n token: \"comment.doc\"\n }, {\n regex: /##\\[(?!])/,\n token: \"comment.doc.start\",\n push: \"docBlockComment\"\n }, {\n regex: /]##/,\n token: \"comment.doc.end\",\n next: \"pop\"\n }, {\n defaultToken: \"comment.doc\"\n }],\n math: [{\n token: \"constant.float\",\n regex: floatNumberExt\n }, {\n token: \"constant.float\",\n regex: floatNumber\n }, {\n token: \"constant.integer\",\n regex: intNumber\n }],\n methods: [{\n token: \"support.function\",\n regex: \"(\\\\w+)(?=\\\\()\"\n }],\n strings: [{\n token: \"string\",\n regex: '(\\\\b' + identifier + ')?\"\"\"',\n push: [{\n token: \"string\",\n regex: '\"\"\"',\n next: \"pop\"\n }, {\n defaultToken: \"string\"\n }]\n }, {\n token: \"string\",\n regex: \"\\\\b\" + identifier + '\"(?=.)',\n push: [{\n token: \"string\",\n regex: '\"|$',\n next: \"pop\"\n }, {\n defaultToken: \"string\"\n }]\n }, {\n token: \"string\",\n regex: '\"',\n push: [{\n token: \"string\",\n regex: '\"|$',\n next: \"pop\"\n }, {\n token: \"constant.language.escape\",\n regex: stringEscape\n }, {\n defaultToken: \"string\"\n }]\n }]\n };\n this.normalizeRules();\n};\noop.inherits(NimHighlightRules, TextHighlightRules);\nexports.NimHighlightRules = NimHighlightRules;\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/nim\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/nim_highlight_rules\",\"ace/mode/folding/cstyle\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextMode = require(\"./text\").Mode;\nvar NimHighlightRules = require(\"./nim_highlight_rules\").NimHighlightRules;\nvar CStyleFoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n TextMode.call(this);\n this.HighlightRules = NimHighlightRules;\n this.foldingRules = new CStyleFoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.lineCommentStart = \"#\";\n this.blockComment = { start: \"#[\", end: \"]#\", nestable: true };\n this.$id = \"ace/mode/nim\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/nim\"], 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","NimHighlightRules","keywordMapper","hexNumber","decNumber","octNumber","binNumber","intNumber","exponent","floatNumber","floatNumberExt","stringEscape","identifier","Range","BaseFoldMode","FoldMode","commentRegex","session","foldStyle","row","line","fw","forceMultiline","match","i","range","startIndent","startRow","startColumn","endRow","maxRow","indent","subRange","re","depth","m","TextMode","CStyleFoldMode","Mode"],"mappings":"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","x_google_ignoreList":[0]}