{"version":3,"file":"mode-d-e23915ab.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-d.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/d_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/doc_comment_highlight_rules\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar DocCommentHighlightRules = require(\"./doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar DHighlightRules = function () {\n var keywords = (\"this|super|import|module|body|mixin|__traits|invariant|alias|asm|delete|\" +\n \"typeof|typeid|sizeof|cast|new|in|is|typedef|__vector|__parameters\");\n var keywordControls = (\"break|case|continue|default|do|else|for|foreach|foreach_reverse|goto|if|\" +\n \"return|switch|while|catch|try|throw|finally|version|assert|unittest|with\");\n var types = (\"auto|bool|char|dchar|wchar|byte|ubyte|float|double|real|\" +\n \"cfloat|creal|cdouble|cent|ifloat|ireal|idouble|\" +\n \"int|long|short|void|uint|ulong|ushort|ucent|\" +\n \"function|delegate|string|wstring|dstring|size_t|ptrdiff_t|hash_t|Object\");\n var modifiers = (\"abstract|align|debug|deprecated|export|extern|const|final|in|inout|out|\" +\n \"ref|immutable|lazy|nothrow|override|package|pragma|private|protected|\" +\n \"public|pure|scope|shared|__gshared|synchronized|static|volatile\");\n var storages = (\"class|struct|union|template|interface|enum|macro\");\n var stringEscapesSeq = {\n token: \"constant.language.escape\",\n regex: \"\\\\\\\\(?:(?:x[0-9A-F]{2})|(?:[0-7]{1,3})|(?:['\\\"\\\\?0abfnrtv\\\\\\\\])|\" +\n \"(?:u[0-9a-fA-F]{4})|(?:U[0-9a-fA-F]{8}))\"\n };\n var builtinConstants = (\"null|true|false|\" +\n \"__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__|\" +\n \"__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__\");\n var operators = (\"/|/\\\\=|&|&\\\\=|&&|\\\\|\\\\|\\\\=|\\\\|\\\\||\\\\-|\\\\-\\\\=|\\\\-\\\\-|\\\\+|\" +\n \"\\\\+\\\\=|\\\\+\\\\+|\\\\<|\\\\<\\\\=|\\\\<\\\\<|\\\\<\\\\<\\\\=|\\\\<\\\\>|\\\\<\\\\>\\\\=|\\\\>|\\\\>\\\\=|\\\\>\\\\>\\\\=|\" +\n \"\\\\>\\\\>\\\\>\\\\=|\\\\>\\\\>|\\\\>\\\\>\\\\>|\\\\!|\\\\!\\\\=|\\\\!\\\\<\\\\>|\\\\!\\\\<\\\\>\\\\=|\\\\!\\\\<|\\\\!\\\\<\\\\=|\" +\n \"\\\\!\\\\>|\\\\!\\\\>\\\\=|\\\\?|\\\\$|\\\\=|\\\\=\\\\=|\\\\*|\\\\*\\\\=|%|%\\\\=|\" +\n \"\\\\^|\\\\^\\\\=|\\\\^\\\\^|\\\\^\\\\^\\\\=|~|~\\\\=|\\\\=\\\\>|#\");\n var keywordMapper = this.$keywords = this.createKeywordMapper({\n \"keyword.modifier\": modifiers,\n \"keyword.control\": keywordControls,\n \"keyword.type\": types,\n \"keyword\": keywords,\n \"keyword.storage\": storages,\n \"punctation\": \"\\\\.|\\\\,|;|\\\\.\\\\.|\\\\.\\\\.\\\\.\",\n \"keyword.operator\": operators,\n \"constant.language\": builtinConstants\n }, \"identifier\");\n var identifierRe = \"[a-zA-Z_\\u00a1-\\uffff][a-zA-Z\\\\d_\\u00a1-\\uffff]*\\\\b\";\n this.$rules = {\n \"start\": [\n {\n token: \"comment\",\n regex: \"\\\\/\\\\/.*$\"\n },\n DocCommentHighlightRules.getStartRule(\"doc-start\"),\n {\n token: \"comment\",\n regex: \"\\\\/\\\\*\",\n next: \"star-comment\"\n }, {\n token: \"comment.shebang\",\n regex: \"^\\\\s*#!.*\"\n }, {\n token: \"comment\",\n regex: \"\\\\/\\\\+\",\n next: \"plus-comment\"\n }, {\n onMatch: function (value, currentState, state) {\n state.unshift(this.next, value.substr(2));\n return \"string\";\n },\n regex: 'q\"(?:[\\\\[\\\\(\\\\{\\\\<]+)',\n next: 'operator-heredoc-string'\n }, {\n onMatch: function (value, currentState, state) {\n state.unshift(this.next, value.substr(2));\n return \"string\";\n },\n regex: 'q\"(?:[a-zA-Z_]+)$',\n next: 'identifier-heredoc-string'\n }, {\n token: \"string\",\n regex: '[xr]?\"',\n next: \"quote-string\"\n }, {\n token: \"string\",\n regex: '[xr]?`',\n next: \"backtick-string\"\n }, {\n token: \"string\",\n regex: \"[xr]?['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?['][cdw]?\"\n }, {\n token: [\"keyword\", \"text\", \"paren.lparen\"],\n regex: /(asm)(\\s*)({)/,\n next: \"d-asm\"\n }, {\n token: [\"keyword\", \"text\", \"paren.lparen\", \"constant.language\"],\n regex: \"(__traits)(\\\\s*)(\\\\()(\" + identifierRe + \")\"\n }, {\n token: [\"keyword\", \"text\", \"variable.module\"],\n regex: \"(import|module)(\\\\s+)((?:\" + identifierRe + \"\\\\.?)*)\"\n }, {\n token: [\"keyword.storage\", \"text\", \"entity.name.type\"],\n regex: \"(\" + storages + \")(\\\\s*)(\" + identifierRe + \")\"\n }, {\n token: [\"keyword\", \"text\", \"variable.storage\", \"text\"],\n regex: \"(alias|typedef)(\\\\s*)(\" + identifierRe + \")(\\\\s*)\"\n }, {\n token: \"constant.numeric\",\n regex: \"0[xX][0-9a-fA-F_]+(l|ul|u|f|F|L|U|UL)?\\\\b\"\n }, {\n token: \"constant.numeric\",\n regex: \"[+-]?\\\\d[\\\\d_]*(?:(?:\\\\.[\\\\d_]*)?(?:[eE][+-]?[\\\\d_]+)?)?(l|ul|u|f|F|L|U|UL)?\\\\b\"\n }, {\n token: \"entity.other.attribute-name\",\n regex: \"@\" + identifierRe\n }, {\n token: keywordMapper,\n regex: \"[a-zA-Z_][a-zA-Z0-9_]*\\\\b\"\n }, {\n token: \"keyword.operator\",\n regex: operators\n }, {\n token: \"punctuation.operator\",\n regex: \"\\\\?|\\\\:|\\\\,|\\\\;|\\\\.|\\\\:\"\n }, {\n token: \"paren.lparen\",\n regex: \"[[({]\"\n }, {\n token: \"paren.rparen\",\n regex: \"[\\\\])}]\"\n }, {\n token: \"text\",\n regex: \"\\\\s+\"\n }\n ],\n \"star-comment\": [\n {\n token: \"comment\",\n regex: \"\\\\*\\\\/\",\n next: \"start\"\n }, {\n defaultToken: 'comment'\n }\n ],\n \"plus-comment\": [\n {\n token: \"comment\",\n regex: \"\\\\+\\\\/\",\n next: \"start\"\n }, {\n defaultToken: 'comment'\n }\n ],\n \"quote-string\": [\n stringEscapesSeq,\n {\n token: \"string\",\n regex: '\"[cdw]?',\n next: \"start\"\n }, {\n defaultToken: 'string'\n }\n ],\n \"backtick-string\": [\n stringEscapesSeq,\n {\n token: \"string\",\n regex: '`[cdw]?',\n next: \"start\"\n }, {\n defaultToken: 'string'\n }\n ],\n \"operator-heredoc-string\": [\n {\n onMatch: function (value, currentState, state) {\n value = value.substring(value.length - 2, value.length - 1);\n var map = { '>': '<', ']': '[', ')': '(', '}': '{' };\n if (Object.keys(map).indexOf(value) != -1)\n value = map[value];\n if (value != state[1])\n return \"string\";\n state.shift();\n state.shift();\n return \"string\";\n },\n regex: '(?:[\\\\]\\\\)}>]+)\"',\n next: 'start'\n }, {\n token: 'string',\n regex: '[^\\\\]\\\\)}>]+'\n }\n ],\n \"identifier-heredoc-string\": [\n {\n onMatch: function (value, currentState, state) {\n value = value.substring(0, value.length - 1);\n if (value != state[1])\n return \"string\";\n state.shift();\n state.shift();\n return \"string\";\n },\n regex: '^(?:[A-Za-z_][a-zA-Z0-9]+)\"',\n next: 'start'\n }, {\n token: 'string',\n regex: '[^\\\\]\\\\)}>]+'\n }\n ],\n \"d-asm\": [\n {\n token: \"paren.rparen\",\n regex: \"\\\\}\",\n next: \"start\"\n }, {\n token: 'keyword.instruction',\n regex: '[a-zA-Z]+',\n next: 'd-asm-instruction'\n }, {\n token: \"text\",\n regex: \"\\\\s+\"\n }\n ],\n 'd-asm-instruction': [\n {\n token: 'constant.language',\n regex: /AL|AH|AX|EAX|BL|BH|BX|EBX|CL|CH|CX|ECX|DL|DH|DX|EDX|BP|EBP|SP|ESP|DI|EDI|SI|ESI/i\n }, {\n token: 'identifier',\n regex: '[a-zA-Z]+'\n }, {\n token: 'string',\n regex: '\"[^\"]*\"'\n }, {\n token: 'comment',\n regex: '//.*$'\n }, {\n token: 'constant.numeric',\n regex: '[0-9.xA-F]+'\n }, {\n token: 'punctuation.operator',\n regex: '\\\\,'\n }, {\n token: 'punctuation.operator',\n regex: ';',\n next: 'd-asm'\n }, {\n token: 'text',\n regex: '\\\\s+'\n }\n ]\n };\n this.embedRules(DocCommentHighlightRules, \"doc-\", [DocCommentHighlightRules.getEndRule(\"start\")]);\n};\nDHighlightRules.metaData = {\n comment: 'D language',\n fileTypes: ['d', 'di'],\n firstLineMatch: '^#!.*\\\\b[glr]?dmd\\\\b.',\n foldingStartMarker: '(?x)/\\\\*\\\\*(?!\\\\*)|^(?![^{]*?//|[^{]*?/\\\\*(?!.*?\\\\*/.*?\\\\{)).*?\\\\{\\\\s*($|//|/\\\\*(?!.*?\\\\*/.*\\\\S))',\n foldingStopMarker: '(? 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/d\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/d_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 DHighlightRules = require(\"./d_highlight_rules\").DHighlightRules;\nvar FoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = DHighlightRules;\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: \"*/\" };\n this.$id = \"ace/mode/d\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/d\"], 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","DHighlightRules","keywords","keywordControls","types","modifiers","storages","stringEscapesSeq","builtinConstants","operators","keywordMapper","identifierRe","value","currentState","state","map","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]}