mode-rust-aa6040f0.js.map 23 KB

1
  1. {"version":3,"file":"mode-rust-aa6040f0.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-rust.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/rust_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\",\"ace/mode/doc_comment_highlight_rules\"], function(require, exports, module){/* This file was autogenerated from https://raw.github.com/dbp/sublime-rust/master/Rust.tmLanguage (uuid: ) */\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar DocCommentHighlightRules = require(\"./doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar stringEscape = /\\\\(?:[nrt0'\"\\\\]|x[\\da-fA-F]{2}|u\\{[\\da-fA-F]{6}\\})/.source;\nvar wordPattern = /[a-zA-Z_\\xa1-\\uffff][a-zA-Z0-9_\\xa1-\\uffff]*/.source;\nvar RustHighlightRules = function () {\n var keywordMapper = this.createKeywordMapper({\n \"keyword.source.rust\": \"abstract|alignof|as|async|await|become|box|break|catch|continue|const|crate|\"\n + \"default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|\"\n + \"override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|\"\n + \"unsafe|unsized|use|virtual|where|while|yield|try\",\n \"storage.type.source.rust\": \"Self|isize|usize|char|bool|u8|u16|u32|u64|u128|f16|f32|f64|i8|i16|i32|i64|\"\n + \"i128|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|\"\n + \"c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|\"\n + \"uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t\",\n \"constant.language.source.rust\": \"true|false|Some|None|Ok|Err|FALSE|TRUE\",\n \"support.constant.source.rust\": \"EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|\"\n + \"_IONBF|_IOLBF|\"\n + \"BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|\"\n + \"S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|\"\n + \"F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO\",\n \"constant.language\": \"macro_rules|mac_variant\"\n }, \"identifier\");\n this.$rules = {\n start: [\n {\n token: 'variable.other.source.rust',\n regex: '\\'' + wordPattern + '(?![\\\\\\'])'\n }, {\n token: 'string.quoted.single.source.rust',\n regex: \"'(?:[^'\\\\\\\\]|\" + stringEscape + \")'\"\n }, {\n token: 'identifier',\n regex: \"r#\" + wordPattern + \"\\\\b\"\n }, {\n stateName: \"bracketedComment\",\n onMatch: function (value, currentState, stack) {\n stack.unshift(this.next, value.length - 1, currentState);\n return \"string.quoted.raw.source.rust\";\n },\n regex: /r#*\"/,\n next: [\n {\n onMatch: function (value, currentState, stack) {\n var token = \"string.quoted.raw.source.rust\";\n if (value.length >= stack[1]) {\n if (value.length > stack[1])\n token = \"invalid\";\n stack.shift();\n stack.shift();\n this.next = stack.shift();\n }\n else {\n this.next = \"\";\n }\n return token;\n },\n regex: /\"#*/,\n next: \"start\"\n }, {\n defaultToken: \"string.quoted.raw.source.rust\"\n }\n ]\n }, {\n token: 'string.quoted.double.source.rust',\n regex: '\"',\n push: [\n {\n token: 'string.quoted.double.source.rust',\n regex: '\"',\n next: 'pop'\n }, {\n token: 'constant.character.escape.source.rust',\n regex: stringEscape\n }, { defaultToken: 'string.quoted.double.source.rust' }\n ]\n }, {\n token: ['keyword.source.rust', 'text', 'entity.name.function.source.rust', 'punctuation'],\n regex: '\\\\b(fn)(\\\\s+)((?:r#)?' + wordPattern + ')(<)',\n push: \"generics\"\n }, {\n token: ['keyword.source.rust', 'text', 'entity.name.function.source.rust'],\n regex: '\\\\b(fn)(\\\\s+)((?:r#)?' + wordPattern + ')'\n }, {\n token: ['support.constant', \"punctuation\"],\n regex: \"(\" + wordPattern + '::)(<)',\n push: \"generics\"\n }, {\n token: 'support.constant',\n regex: wordPattern + '::'\n }, {\n token: 'variable.language.source.rust',\n regex: '\\\\bself\\\\b'\n }, DocCommentHighlightRules.getStartRule(\"doc-start\"), {\n token: 'comment.line.doc.source.rust',\n regex: '///.*$'\n }, {\n token: 'comment.line.doc.source.rust',\n regex: '//!.*$'\n }, {\n token: 'comment.line.double-dash.source.rust',\n regex: '//.*$'\n }, {\n token: 'comment.start.block.source.rust',\n regex: '/\\\\*',\n stateName: 'comment',\n push: [\n {\n token: 'comment.start.block.source.rust',\n regex: '/\\\\*',\n push: 'comment'\n }, {\n token: 'comment.end.block.source.rust',\n regex: '\\\\*/',\n next: 'pop'\n }, { defaultToken: 'comment.block.source.rust' }\n ]\n }, {\n token: [\"keyword.source.rust\", \"identifier\", \"punctuaction\"],\n regex: \"(?:(impl)|(\" + wordPattern + \"))(<)\",\n stateName: 'generics',\n push: [\n {\n token: \"punctuaction\",\n regex: \"<\",\n push: \"generics\"\n }, {\n token: 'variable.other.source.rust',\n regex: '\\'' + wordPattern + '(?![\\\\\\'])'\n }, {\n token: \"storage.type.source.rust\",\n regex: \"\\\\b(u8|u16|u32|u64|u128|usize|i8|i16|i32|i64|i128|isize|char|bool)\\\\b\"\n }, {\n token: \"punctuation.operator\",\n regex: \"[,:]\"\n }, {\n token: \"keyword\",\n regex: \"\\\\b(?:const|dyn)\\\\b\"\n }, {\n token: \"punctuation\",\n regex: \">\",\n next: \"pop\"\n }, {\n token: \"paren.lparen\",\n regex: \"[(]\"\n }, {\n token: \"paren.rparen\",\n regex: \"[)]\"\n }, {\n token: \"identifier\",\n regex: \"\\\\b\" + wordPattern + \"\\\\b\"\n }, {\n token: 'keyword.operator',\n regex: \"=\"\n }\n ]\n }, {\n token: keywordMapper,\n regex: wordPattern\n }, {\n token: 'keyword.operator',\n regex: /\\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/\n }, {\n token: \"punctuation.operator\",\n regex: /[?:,;.]/\n }, {\n token: \"paren.lparen\",\n regex: /[\\[({]/\n }, {\n token: \"paren.rparen\",\n regex: /[\\])}]/\n }, {\n token: 'meta.preprocessor.source.rust',\n regex: '\\\\b\\\\w\\\\(\\\\w\\\\)*!|#\\\\[[\\\\w=\\\\(\\\\)_]+\\\\]\\\\b'\n }, {\n token: 'constant.numeric.source.rust',\n regex: /\\b(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\\.))(?:[iu](?:size|8|16|32|64|128))?\\b/\n }, {\n token: 'constant.numeric.source.rust',\n regex: /\\b(?:[0-9][0-9_]*)(?:\\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\\b/\n }\n ]\n };\n this.embedRules(DocCommentHighlightRules, \"doc-\", [DocCommentHighlightRules.getEndRule(\"start\")]);\n this.normalizeRules();\n};\nRustHighlightRules.metaData = { fileTypes: ['rs', 'rc'],\n foldingStartMarker: '^.*\\\\bfn\\\\s*(\\\\w+\\\\s*)?\\\\([^\\\\)]*\\\\)(\\\\s*\\\\{[^\\\\}]*)?\\\\s*$',\n foldingStopMarker: '^\\\\s*\\\\}',\n name: 'Rust',\n scopeName: 'source.rust' };\noop.inherits(RustHighlightRules, TextHighlightRules);\nexports.RustHighlightRules = RustHighlightRules;\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/rust\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/rust_highlight_rules\",\"ace/mode/folding/cstyle\"], 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 RustHighlightRules = require(\"./rust_highlight_rules\").RustHighlightRules;\nvar FoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = RustHighlightRules;\n this.foldingRules = new FoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.lineCommentStart = \"//\";\n this.blockComment = { start: \"/*\", end: \"*/\", nestable: true };\n this.$quotes = { '\"': '\"' };\n this.$id = \"ace/mode/rust\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/rust\"], 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","stringEscape","wordPattern","RustHighlightRules","keywordMapper","value","currentState","stack","token","Range","BaseFoldMode","FoldMode","commentRegex","session","foldStyle","row","line","fw","forceMultiline","match","i","range","startIndent","startRow","startColumn","endRow","maxRow","indent","subRange","re","depth","m","TextMode","Mode"],"mappings":"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","x_google_ignoreList":[0]}