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: /\\-|\\+|\\*|\\/|
|