mode-kotlin-0ef2b2de.js.map 24 KB

1
  1. {"version":3,"file":"mode-kotlin-0ef2b2de.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-kotlin.js"],"sourcesContent":["ace.define(\"ace/mode/kotlin_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 KotlinHighlightRules = function () {\n var keywordMapper = this.$keywords = this.createKeywordMapper({\n \"storage.modifier.kotlin\": \"var|val|public|private|protected|abstract|final|enum|open|attribute|\"\n + \"annotation|override|inline|var|val|vararg|lazy|in|out|internal|data|tailrec|operator|infix|const|\"\n + \"yield|typealias|typeof|sealed|inner|value|lateinit|external|suspend|noinline|crossinline|reified|\"\n + \"expect|actual\",\n \"keyword\": \"companion|class|object|interface|namespace|type|fun|constructor|if|else|while|for|do|return|when|\"\n + \"where|break|continue|try|catch|finally|throw|in|is|as|assert|constructor\",\n \"constant.language.kotlin\": \"true|false|null|this|super\",\n \"entity.name.function.kotlin\": \"get|set\"\n }, \"identifier\");\n this.$rules = {\n start: [{\n include: \"#comments\"\n }, {\n token: [\n \"text\",\n \"keyword.other.kotlin\",\n \"text\",\n \"entity.name.package.kotlin\",\n \"text\"\n ],\n regex: /^(\\s*)(package)\\b(?:(\\s*)([^ ;$]+)(\\s*))?/\n }, {\n token: \"comment\",\n regex: /^\\s*#!.*$/\n }, {\n include: \"#imports\"\n }, {\n include: \"#expressions\"\n }, {\n token: \"string\",\n regex: /@[a-zA-Z][a-zA-Z:]*\\b/\n }, {\n token: [\"keyword.other.kotlin\", \"text\", \"entity.name.variable.kotlin\"],\n regex: /\\b(var|val)(\\s+)([a-zA-Z_][\\w]*)\\b/\n }, {\n token: [\"keyword.other.kotlin\", \"text\", \"entity.name.variable.kotlin\", \"paren.lparen\"],\n regex: /(fun)(\\s+)(\\w+)(\\()/,\n push: [{\n token: [\"variable.parameter.function.kotlin\", \"text\", \"keyword.operator\"],\n regex: /(\\w+)(\\s*)(:)/\n }, {\n token: \"paren.rparen\",\n regex: /\\)/,\n next: \"pop\"\n }, {\n include: \"#comments\"\n }, {\n include: \"#types\"\n }, {\n include: \"#expressions\"\n }]\n }, {\n token: [\"text\", \"keyword\", \"text\", \"identifier\"],\n regex: /^(\\s*)(class)(\\s*)([a-zA-Z]+)/,\n next: \"#classes\"\n }, {\n token: [\"identifier\", \"punctuaction\"],\n regex: /([a-zA-Z_][\\w]*)(<)/,\n push: [{\n include: \"#generics\"\n }, {\n include: \"#defaultTypes\"\n }, {\n token: \"punctuation\",\n regex: />/,\n next: \"pop\"\n }]\n }, {\n token: keywordMapper,\n regex: /[a-zA-Z_][\\w]*\\b/\n }, {\n token: \"paren.lparen\",\n regex: /[{(\\[]/\n }, {\n token: \"paren.rparen\",\n regex: /[})\\]]/\n }],\n \"#comments\": [{\n token: \"comment\",\n regex: /\\/\\*/,\n push: [{\n token: \"comment\",\n regex: /\\*\\//,\n next: \"pop\"\n }, {\n defaultToken: \"comment\"\n }]\n }, {\n token: [\n \"text\",\n \"comment\"\n ],\n regex: /(\\s*)(\\/\\/.*$)/\n }],\n \"#constants\": [{\n token: \"constant.numeric.kotlin\",\n regex: /\\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:[LlFfUuDd]|UL|ul)?\\b/\n }, {\n token: \"constant.other.kotlin\",\n regex: /\\b[A-Z][A-Z0-9_]+\\b/\n }],\n \"#expressions\": [{\n include: \"#strings\"\n }, {\n include: \"#constants\"\n }, {\n include: \"#keywords\"\n }],\n \"#imports\": [{\n token: [\n \"text\",\n \"keyword.other.kotlin\",\n \"text\",\n \"keyword.other.kotlin\"\n ],\n regex: /^(\\s*)(import)(\\s+[^ $]+\\s+)((?:as)?)/\n }],\n \"#generics\": [{\n token: \"punctuation\",\n regex: /</,\n push: [{\n token: \"punctuation\",\n regex: />/,\n next: \"pop\"\n }, {\n token: \"storage.type.generic.kotlin\",\n regex: /\\w+/\n }, {\n token: \"keyword.operator\",\n regex: /:/\n }, {\n token: \"punctuation\",\n regex: /,/\n }, {\n include: \"#generics\"\n }]\n }],\n \"#classes\": [{\n include: \"#generics\"\n }, {\n token: \"keyword\",\n regex: /public|private|constructor/\n }, {\n token: \"string\",\n regex: /@[a-zA-Z][a-zA-Z:]*\\b/\n }, {\n token: \"text\",\n regex: /(?=$|\\(|{)/,\n next: \"start\"\n }],\n \"#keywords\": [{\n token: \"keyword.operator.kotlin\",\n regex: /==|!=|===|!==|<=|>=|<|>|=>|->|::|\\?:/\n }, {\n token: \"keyword.operator.assignment.kotlin\",\n regex: /=/\n }, {\n token: \"keyword.operator.declaration.kotlin\",\n regex: /:/,\n push: [{\n token: \"text\",\n regex: /(?=$|{|=|,)/,\n next: \"pop\"\n }, {\n include: \"#types\"\n }]\n }, {\n token: \"keyword.operator.dot.kotlin\",\n regex: /\\./\n }, {\n token: \"keyword.operator.increment-decrement.kotlin\",\n regex: /\\-\\-|\\+\\+/\n }, {\n token: \"keyword.operator.arithmetic.kotlin\",\n regex: /\\-|\\+|\\*|\\/|%/\n }, {\n token: \"keyword.operator.arithmetic.assign.kotlin\",\n regex: /\\+=|\\-=|\\*=|\\/=/\n }, {\n token: \"keyword.operator.logical.kotlin\",\n regex: /!|&&|\\|\\|/\n }, {\n token: \"keyword.operator.range.kotlin\",\n regex: /\\.\\./\n }, {\n token: \"punctuation.kotlin\",\n regex: /[;,]/\n }],\n \"#types\": [{\n include: \"#defaultTypes\"\n }, {\n token: \"paren.lparen\",\n regex: /\\(/,\n push: [{\n token: \"paren.rparen\",\n regex: /\\)/,\n next: \"pop\"\n }, {\n include: \"#defaultTypes\"\n }, {\n token: \"punctuation\",\n regex: /,/\n }]\n }, {\n include: \"#generics\"\n }, {\n token: \"keyword.operator.declaration.kotlin\",\n regex: /->/\n }, {\n token: \"paren.rparen\",\n regex: /\\)/\n }, {\n token: \"keyword.operator.declaration.kotlin\",\n regex: /:/,\n push: [{\n token: \"text\",\n regex: /(?=$|{|=|,)/,\n next: \"pop\"\n }, {\n include: \"#types\"\n }]\n }],\n \"#defaultTypes\": [{\n token: \"storage.type.buildin.kotlin\",\n regex: /\\b(Any|Unit|String|Int|Boolean|Char|Long|Double|Float|Short|Byte|dynamic|IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|Array|List|Map|Nothing|Enum|Throwable|Comparable)\\b/\n }],\n \"#strings\": [{\n token: \"string\",\n regex: /\"\"\"/,\n push: [{\n token: \"string\",\n regex: /\"\"\"/,\n next: \"pop\"\n }, {\n token: \"variable.parameter.template.kotlin\",\n regex: /\\$\\w+|\\${[^}]+}/\n }, {\n token: \"constant.character.escape.kotlin\",\n regex: /\\\\./\n }, {\n defaultToken: \"string\"\n }]\n }, {\n token: \"string\",\n regex: /\"/,\n push: [{\n token: \"string\",\n regex: /\"/,\n next: \"pop\"\n }, {\n token: \"variable.parameter.template.kotlin\",\n regex: /\\$\\w+|\\$\\{[^\\}]+\\}/\n }, {\n token: \"constant.character.escape.kotlin\",\n regex: /\\\\./\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.character.escape.kotlin\",\n regex: /\\\\./\n }, {\n defaultToken: \"string\"\n }]\n }, {\n token: \"string\",\n regex: /`/,\n push: [{\n token: \"string\",\n regex: /`/,\n next: \"pop\"\n }, {\n defaultToken: \"string\"\n }]\n }]\n };\n this.normalizeRules();\n};\nKotlinHighlightRules.metaData = {\n fileTypes: [\"kt\", \"kts\"],\n name: \"Kotlin\",\n scopeName: \"source.Kotlin\"\n};\noop.inherits(KotlinHighlightRules, TextHighlightRules);\nexports.KotlinHighlightRules = KotlinHighlightRules;\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/kotlin\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/kotlin_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 KotlinHighlightRules = require(\"./kotlin_highlight_rules\").KotlinHighlightRules;\nvar FoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = KotlinHighlightRules;\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/kotlin\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/kotlin\"], 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","KotlinHighlightRules","keywordMapper","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]}