mode-erlang-64729543.js.map 64 KB

1
  1. {"version":3,"file":"mode-erlang-64729543.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-erlang.js"],"sourcesContent":["ace.define(\"ace/mode/erlang_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){/* This file was autogenerated from tm bundles\\erlang.tmbundle\\Syntaxes\\Erlang.plist (uuid: ) */\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar ErlangHighlightRules = function () {\n this.$rules = { start: [{ include: '#module-directive' },\n { include: '#import-export-directive' },\n { include: '#behaviour-directive' },\n { include: '#record-directive' },\n { include: '#define-directive' },\n { include: '#macro-directive' },\n { include: '#directive' },\n { include: '#function' },\n { include: '#everything-else' }],\n '#atom': [{ token: 'punctuation.definition.symbol.begin.erlang',\n regex: '\\'',\n push: [{ token: 'punctuation.definition.symbol.end.erlang',\n regex: '\\'',\n next: 'pop' },\n { token: ['punctuation.definition.escape.erlang',\n 'constant.other.symbol.escape.erlang',\n 'punctuation.definition.escape.erlang',\n 'constant.other.symbol.escape.erlang',\n 'constant.other.symbol.escape.erlang'],\n regex: '(\\\\\\\\)(?:([bdefnrstv\\\\\\\\\\'\"])|(\\\\^)([@-_])|([0-7]{1,3}))' },\n { token: 'invalid.illegal.atom.erlang', regex: '\\\\\\\\\\\\^?.?' },\n { defaultToken: 'constant.other.symbol.quoted.single.erlang' }] },\n { token: 'constant.other.symbol.unquoted.erlang',\n regex: '[a-z][a-zA-Z\\\\d@_]*' }],\n '#behaviour-directive': [{ token: ['meta.directive.behaviour.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.behaviour.erlang',\n 'keyword.control.directive.behaviour.erlang',\n 'meta.directive.behaviour.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.behaviour.erlang',\n 'entity.name.type.class.behaviour.definition.erlang',\n 'meta.directive.behaviour.erlang',\n 'punctuation.definition.parameters.end.erlang',\n 'meta.directive.behaviour.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(behaviour)(\\\\s*)(\\\\()(\\\\s*)([a-z][a-zA-Z\\\\d@_]*)(\\\\s*)(\\\\))(\\\\s*)(\\\\.)' }],\n '#binary': [{ token: 'punctuation.definition.binary.begin.erlang',\n regex: '<<',\n push: [{ token: 'punctuation.definition.binary.end.erlang',\n regex: '>>',\n next: 'pop' },\n { token: ['punctuation.separator.binary.erlang',\n 'punctuation.separator.value-size.erlang'],\n regex: '(,)|(:)' },\n { include: '#internal-type-specifiers' },\n { include: '#everything-else' },\n { defaultToken: 'meta.structure.binary.erlang' }] }],\n '#character': [{ token: ['punctuation.definition.character.erlang',\n 'punctuation.definition.escape.erlang',\n 'constant.character.escape.erlang',\n 'punctuation.definition.escape.erlang',\n 'constant.character.escape.erlang',\n 'constant.character.escape.erlang'],\n regex: '(\\\\$)(\\\\\\\\)(?:([bdefnrstv\\\\\\\\\\'\"])|(\\\\^)([@-_])|([0-7]{1,3}))' },\n { token: 'invalid.illegal.character.erlang',\n regex: '\\\\$\\\\\\\\\\\\^?.?' },\n { token: ['punctuation.definition.character.erlang',\n 'constant.character.erlang'],\n regex: '(\\\\$)(\\\\S)' },\n { token: 'invalid.illegal.character.erlang', regex: '\\\\$.?' }],\n '#comment': [{ token: 'punctuation.definition.comment.erlang',\n regex: '%.*$',\n push_: [{ token: 'comment.line.percentage.erlang',\n regex: '$',\n next: 'pop' },\n { defaultToken: 'comment.line.percentage.erlang' }] }],\n '#define-directive': [{ token: ['meta.directive.define.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.define.erlang',\n 'keyword.control.directive.define.erlang',\n 'meta.directive.define.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.define.erlang',\n 'entity.name.function.macro.definition.erlang',\n 'meta.directive.define.erlang',\n 'punctuation.separator.parameters.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(define)(\\\\s*)(\\\\()(\\\\s*)([a-zA-Z\\\\d@_]+)(\\\\s*)(,)',\n push: [{ token: ['punctuation.definition.parameters.end.erlang',\n 'meta.directive.define.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '(\\\\))(\\\\s*)(\\\\.)',\n next: 'pop' },\n { include: '#everything-else' },\n { defaultToken: 'meta.directive.define.erlang' }] },\n { token: 'meta.directive.define.erlang',\n regex: '(?=^\\\\s*-\\\\s*define\\\\s*\\\\(\\\\s*[a-zA-Z\\\\d@_]+\\\\s*\\\\()',\n push: [{ token: ['punctuation.definition.parameters.end.erlang',\n 'meta.directive.define.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '(\\\\))(\\\\s*)(\\\\.)',\n next: 'pop' },\n { token: ['text',\n 'punctuation.section.directive.begin.erlang',\n 'text',\n 'keyword.control.directive.define.erlang',\n 'text',\n 'punctuation.definition.parameters.begin.erlang',\n 'text',\n 'entity.name.function.macro.definition.erlang',\n 'text',\n 'punctuation.definition.parameters.begin.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(define)(\\\\s*)(\\\\()(\\\\s*)([a-zA-Z\\\\d@_]+)(\\\\s*)(\\\\()',\n push: [{ token: ['punctuation.definition.parameters.end.erlang',\n 'text',\n 'punctuation.separator.parameters.erlang'],\n regex: '(\\\\))(\\\\s*)(,)',\n next: 'pop' },\n { token: 'punctuation.separator.parameters.erlang', regex: ',' },\n { include: '#everything-else' }] },\n { token: 'punctuation.separator.define.erlang',\n regex: '\\\\|\\\\||\\\\||:|;|,|\\\\.|->' },\n { include: '#everything-else' },\n { defaultToken: 'meta.directive.define.erlang' }] }],\n '#directive': [{ token: ['meta.directive.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.erlang',\n 'keyword.control.directive.erlang',\n 'meta.directive.erlang',\n 'punctuation.definition.parameters.begin.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)([a-z][a-zA-Z\\\\d@_]*)(\\\\s*)(\\\\(?)',\n push: [{ token: ['punctuation.definition.parameters.end.erlang',\n 'meta.directive.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '(\\\\)?)(\\\\s*)(\\\\.)',\n next: 'pop' },\n { include: '#everything-else' },\n { defaultToken: 'meta.directive.erlang' }] },\n { token: ['meta.directive.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.erlang',\n 'keyword.control.directive.erlang',\n 'meta.directive.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)([a-z][a-zA-Z\\\\d@_]*)(\\\\s*)(\\\\.)' }],\n '#everything-else': [{ include: '#comment' },\n { include: '#record-usage' },\n { include: '#macro-usage' },\n { include: '#expression' },\n { include: '#keyword' },\n { include: '#textual-operator' },\n { include: '#function-call' },\n { include: '#tuple' },\n { include: '#list' },\n { include: '#binary' },\n { include: '#parenthesized-expression' },\n { include: '#character' },\n { include: '#number' },\n { include: '#atom' },\n { include: '#string' },\n { include: '#symbolic-operator' },\n { include: '#variable' }],\n '#expression': [{ token: 'keyword.control.if.erlang',\n regex: '\\\\bif\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { include: '#internal-expression-punctuation' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.if.erlang' }] },\n { token: 'keyword.control.case.erlang',\n regex: '\\\\bcase\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { include: '#internal-expression-punctuation' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.case.erlang' }] },\n { token: 'keyword.control.receive.erlang',\n regex: '\\\\breceive\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { include: '#internal-expression-punctuation' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.receive.erlang' }] },\n { token: ['keyword.control.fun.erlang',\n 'text',\n 'entity.name.type.class.module.erlang',\n 'text',\n 'punctuation.separator.module-function.erlang',\n 'text',\n 'entity.name.function.erlang',\n 'text',\n 'punctuation.separator.function-arity.erlang'],\n regex: '\\\\b(fun)(\\\\s*)(?:([a-z][a-zA-Z\\\\d@_]*)(\\\\s*)(:)(\\\\s*))?([a-z][a-zA-Z\\\\d@_]*)(\\\\s*)(/)' },\n { token: 'keyword.control.fun.erlang',\n regex: '\\\\bfun\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { token: 'text',\n regex: '(?=\\\\()',\n push: [{ token: 'punctuation.separator.clauses.erlang',\n regex: ';|(?=\\\\bend\\\\b)',\n next: 'pop' },\n { include: '#internal-function-parts' }] },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.fun.erlang' }] },\n { token: 'keyword.control.try.erlang',\n regex: '\\\\btry\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { include: '#internal-expression-punctuation' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.try.erlang' }] },\n { token: 'keyword.control.begin.erlang',\n regex: '\\\\bbegin\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { include: '#internal-expression-punctuation' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.begin.erlang' }] },\n { token: 'keyword.control.query.erlang',\n regex: '\\\\bquery\\\\b',\n push: [{ token: 'keyword.control.end.erlang',\n regex: '\\\\bend\\\\b',\n next: 'pop' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.query.erlang' }] }],\n '#function': [{ token: ['meta.function.erlang',\n 'entity.name.function.definition.erlang',\n 'meta.function.erlang'],\n regex: '^(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(?=\\\\()',\n push: [{ token: 'punctuation.terminator.function.erlang',\n regex: '\\\\.',\n next: 'pop' },\n { token: ['text', 'entity.name.function.erlang', 'text'],\n regex: '^(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(?=\\\\()' },\n { token: 'text',\n regex: '(?=\\\\()',\n push: [{ token: 'punctuation.separator.clauses.erlang',\n regex: ';|(?=\\\\.)',\n next: 'pop' },\n { include: '#parenthesized-expression' },\n { include: '#internal-function-parts' }] },\n { include: '#everything-else' },\n { defaultToken: 'meta.function.erlang' }] }],\n '#function-call': [{ token: 'meta.function-call.erlang',\n regex: '(?=(?:[a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')\\\\s*(?:\\\\(|:\\\\s*(?:[a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')\\\\s*\\\\())',\n push: [{ token: 'punctuation.definition.parameters.end.erlang',\n regex: '\\\\)',\n next: 'pop' },\n { token: ['entity.name.type.class.module.erlang',\n 'text',\n 'punctuation.separator.module-function.erlang',\n 'text',\n 'entity.name.function.guard.erlang',\n 'text',\n 'punctuation.definition.parameters.begin.erlang'],\n regex: '(?:(erlang)(\\\\s*)(:)(\\\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\\\s*)(\\\\()',\n push: [{ token: 'text', regex: '(?=\\\\))', next: 'pop' },\n { token: 'punctuation.separator.parameters.erlang', regex: ',' },\n { include: '#everything-else' }] },\n { token: ['entity.name.type.class.module.erlang',\n 'text',\n 'punctuation.separator.module-function.erlang',\n 'text',\n 'entity.name.function.erlang',\n 'text',\n 'punctuation.definition.parameters.begin.erlang'],\n regex: '(?:([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(:)(\\\\s*))?([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(\\\\()',\n push: [{ token: 'text', regex: '(?=\\\\))', next: 'pop' },\n { token: 'punctuation.separator.parameters.erlang', regex: ',' },\n { include: '#everything-else' }] },\n { defaultToken: 'meta.function-call.erlang' }] }],\n '#import-export-directive': [{ token: ['meta.directive.import.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.import.erlang',\n 'keyword.control.directive.import.erlang',\n 'meta.directive.import.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.import.erlang',\n 'entity.name.type.class.module.erlang',\n 'meta.directive.import.erlang',\n 'punctuation.separator.parameters.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(import)(\\\\s*)(\\\\()(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(,)',\n push: [{ token: ['punctuation.definition.parameters.end.erlang',\n 'meta.directive.import.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '(\\\\))(\\\\s*)(\\\\.)',\n next: 'pop' },\n { include: '#internal-function-list' },\n { defaultToken: 'meta.directive.import.erlang' }] },\n { token: ['meta.directive.export.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.export.erlang',\n 'keyword.control.directive.export.erlang',\n 'meta.directive.export.erlang',\n 'punctuation.definition.parameters.begin.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(export)(\\\\s*)(\\\\()',\n push: [{ token: ['punctuation.definition.parameters.end.erlang',\n 'meta.directive.export.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '(\\\\))(\\\\s*)(\\\\.)',\n next: 'pop' },\n { include: '#internal-function-list' },\n { defaultToken: 'meta.directive.export.erlang' }] }],\n '#internal-expression-punctuation': [{ token: ['punctuation.separator.clause-head-body.erlang',\n 'punctuation.separator.clauses.erlang',\n 'punctuation.separator.expressions.erlang'],\n regex: '(->)|(;)|(,)' }],\n '#internal-function-list': [{ token: 'punctuation.definition.list.begin.erlang',\n regex: '\\\\[',\n push: [{ token: 'punctuation.definition.list.end.erlang',\n regex: '\\\\]',\n next: 'pop' },\n { token: ['entity.name.function.erlang',\n 'text',\n 'punctuation.separator.function-arity.erlang'],\n regex: '([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(/)',\n push: [{ token: 'punctuation.separator.list.erlang',\n regex: ',|(?=\\\\])',\n next: 'pop' },\n { include: '#everything-else' }] },\n { include: '#everything-else' },\n { defaultToken: 'meta.structure.list.function.erlang' }] }],\n '#internal-function-parts': [{ token: 'text',\n regex: '(?=\\\\()',\n push: [{ token: 'punctuation.separator.clause-head-body.erlang',\n regex: '->',\n next: 'pop' },\n { token: 'punctuation.definition.parameters.begin.erlang',\n regex: '\\\\(',\n push: [{ token: 'punctuation.definition.parameters.end.erlang',\n regex: '\\\\)',\n next: 'pop' },\n { token: 'punctuation.separator.parameters.erlang', regex: ',' },\n { include: '#everything-else' }] },\n { token: 'punctuation.separator.guards.erlang', regex: ',|;' },\n { include: '#everything-else' }] },\n { token: 'punctuation.separator.expressions.erlang',\n regex: ',' },\n { include: '#everything-else' }],\n '#internal-record-body': [{ token: 'punctuation.definition.class.record.begin.erlang',\n regex: '\\\\{',\n push: [{ token: 'meta.structure.record.erlang',\n regex: '(?=\\\\})',\n next: 'pop' },\n { token: ['variable.other.field.erlang',\n 'variable.language.omitted.field.erlang',\n 'text',\n 'keyword.operator.assignment.erlang'],\n regex: '(?:([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')|(_))(\\\\s*)(=|::)',\n push: [{ token: 'punctuation.separator.class.record.erlang',\n regex: ',|(?=\\\\})',\n next: 'pop' },\n { include: '#everything-else' }] },\n { token: ['variable.other.field.erlang',\n 'text',\n 'punctuation.separator.class.record.erlang'],\n regex: '([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)((?:,)?)' },\n { include: '#everything-else' },\n { defaultToken: 'meta.structure.record.erlang' }] }],\n '#internal-type-specifiers': [{ token: 'punctuation.separator.value-type.erlang',\n regex: '/',\n push: [{ token: 'text', regex: '(?=,|:|>>)', next: 'pop' },\n { token: ['storage.type.erlang',\n 'storage.modifier.signedness.erlang',\n 'storage.modifier.endianness.erlang',\n 'storage.modifier.unit.erlang',\n 'punctuation.separator.type-specifiers.erlang'],\n regex: '(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)' }] }],\n '#keyword': [{ token: 'keyword.control.erlang',\n regex: '\\\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\\\b' }],\n '#list': [{ token: 'punctuation.definition.list.begin.erlang',\n regex: '\\\\[',\n push: [{ token: 'punctuation.definition.list.end.erlang',\n regex: '\\\\]',\n next: 'pop' },\n { token: 'punctuation.separator.list.erlang',\n regex: '\\\\||\\\\|\\\\||,' },\n { include: '#everything-else' },\n { defaultToken: 'meta.structure.list.erlang' }] }],\n '#macro-directive': [{ token: ['meta.directive.ifdef.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.ifdef.erlang',\n 'keyword.control.directive.ifdef.erlang',\n 'meta.directive.ifdef.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.ifdef.erlang',\n 'entity.name.function.macro.erlang',\n 'meta.directive.ifdef.erlang',\n 'punctuation.definition.parameters.end.erlang',\n 'meta.directive.ifdef.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(ifdef)(\\\\s*)(\\\\()(\\\\s*)([a-zA-Z\\\\d@_]+)(\\\\s*)(\\\\))(\\\\s*)(\\\\.)' },\n { token: ['meta.directive.ifndef.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.ifndef.erlang',\n 'keyword.control.directive.ifndef.erlang',\n 'meta.directive.ifndef.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.ifndef.erlang',\n 'entity.name.function.macro.erlang',\n 'meta.directive.ifndef.erlang',\n 'punctuation.definition.parameters.end.erlang',\n 'meta.directive.ifndef.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(ifndef)(\\\\s*)(\\\\()(\\\\s*)([a-zA-Z\\\\d@_]+)(\\\\s*)(\\\\))(\\\\s*)(\\\\.)' },\n { token: ['meta.directive.undef.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.undef.erlang',\n 'keyword.control.directive.undef.erlang',\n 'meta.directive.undef.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.undef.erlang',\n 'entity.name.function.macro.erlang',\n 'meta.directive.undef.erlang',\n 'punctuation.definition.parameters.end.erlang',\n 'meta.directive.undef.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(undef)(\\\\s*)(\\\\()(\\\\s*)([a-zA-Z\\\\d@_]+)(\\\\s*)(\\\\))(\\\\s*)(\\\\.)' }],\n '#macro-usage': [{ token: ['keyword.operator.macro.erlang',\n 'meta.macro-usage.erlang',\n 'entity.name.function.macro.erlang'],\n regex: '(\\\\?\\\\??)(\\\\s*)([a-zA-Z\\\\d@_]+)' }],\n '#module-directive': [{ token: ['meta.directive.module.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.module.erlang',\n 'keyword.control.directive.module.erlang',\n 'meta.directive.module.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.module.erlang',\n 'entity.name.type.class.module.definition.erlang',\n 'meta.directive.module.erlang',\n 'punctuation.definition.parameters.end.erlang',\n 'meta.directive.module.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(module)(\\\\s*)(\\\\()(\\\\s*)([a-z][a-zA-Z\\\\d@_]*)(\\\\s*)(\\\\))(\\\\s*)(\\\\.)' }],\n '#number': [{ token: 'text',\n regex: '(?=\\\\d)',\n push: [{ token: 'text', regex: '(?!\\\\d)', next: 'pop' },\n { token: ['constant.numeric.float.erlang',\n 'punctuation.separator.integer-float.erlang',\n 'constant.numeric.float.erlang',\n 'punctuation.separator.float-exponent.erlang'],\n regex: '(\\\\d+)(\\\\.)(\\\\d+)((?:[eE][\\\\+\\\\-]?\\\\d+)?)' },\n { token: ['constant.numeric.integer.binary.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.binary.erlang'],\n regex: '(2)(#)([0-1]+)' },\n { token: ['constant.numeric.integer.base-3.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-3.erlang'],\n regex: '(3)(#)([0-2]+)' },\n { token: ['constant.numeric.integer.base-4.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-4.erlang'],\n regex: '(4)(#)([0-3]+)' },\n { token: ['constant.numeric.integer.base-5.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-5.erlang'],\n regex: '(5)(#)([0-4]+)' },\n { token: ['constant.numeric.integer.base-6.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-6.erlang'],\n regex: '(6)(#)([0-5]+)' },\n { token: ['constant.numeric.integer.base-7.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-7.erlang'],\n regex: '(7)(#)([0-6]+)' },\n { token: ['constant.numeric.integer.octal.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.octal.erlang'],\n regex: '(8)(#)([0-7]+)' },\n { token: ['constant.numeric.integer.base-9.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-9.erlang'],\n regex: '(9)(#)([0-8]+)' },\n { token: ['constant.numeric.integer.decimal.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.decimal.erlang'],\n regex: '(10)(#)(\\\\d+)' },\n { token: ['constant.numeric.integer.base-11.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-11.erlang'],\n regex: '(11)(#)([\\\\daA]+)' },\n { token: ['constant.numeric.integer.base-12.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-12.erlang'],\n regex: '(12)(#)([\\\\da-bA-B]+)' },\n { token: ['constant.numeric.integer.base-13.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-13.erlang'],\n regex: '(13)(#)([\\\\da-cA-C]+)' },\n { token: ['constant.numeric.integer.base-14.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-14.erlang'],\n regex: '(14)(#)([\\\\da-dA-D]+)' },\n { token: ['constant.numeric.integer.base-15.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-15.erlang'],\n regex: '(15)(#)([\\\\da-eA-E]+)' },\n { token: ['constant.numeric.integer.hexadecimal.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.hexadecimal.erlang'],\n regex: '(16)(#)([\\\\da-fA-F]+)' },\n { token: ['constant.numeric.integer.base-17.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-17.erlang'],\n regex: '(17)(#)([\\\\da-gA-G]+)' },\n { token: ['constant.numeric.integer.base-18.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-18.erlang'],\n regex: '(18)(#)([\\\\da-hA-H]+)' },\n { token: ['constant.numeric.integer.base-19.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-19.erlang'],\n regex: '(19)(#)([\\\\da-iA-I]+)' },\n { token: ['constant.numeric.integer.base-20.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-20.erlang'],\n regex: '(20)(#)([\\\\da-jA-J]+)' },\n { token: ['constant.numeric.integer.base-21.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-21.erlang'],\n regex: '(21)(#)([\\\\da-kA-K]+)' },\n { token: ['constant.numeric.integer.base-22.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-22.erlang'],\n regex: '(22)(#)([\\\\da-lA-L]+)' },\n { token: ['constant.numeric.integer.base-23.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-23.erlang'],\n regex: '(23)(#)([\\\\da-mA-M]+)' },\n { token: ['constant.numeric.integer.base-24.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-24.erlang'],\n regex: '(24)(#)([\\\\da-nA-N]+)' },\n { token: ['constant.numeric.integer.base-25.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-25.erlang'],\n regex: '(25)(#)([\\\\da-oA-O]+)' },\n { token: ['constant.numeric.integer.base-26.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-26.erlang'],\n regex: '(26)(#)([\\\\da-pA-P]+)' },\n { token: ['constant.numeric.integer.base-27.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-27.erlang'],\n regex: '(27)(#)([\\\\da-qA-Q]+)' },\n { token: ['constant.numeric.integer.base-28.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-28.erlang'],\n regex: '(28)(#)([\\\\da-rA-R]+)' },\n { token: ['constant.numeric.integer.base-29.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-29.erlang'],\n regex: '(29)(#)([\\\\da-sA-S]+)' },\n { token: ['constant.numeric.integer.base-30.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-30.erlang'],\n regex: '(30)(#)([\\\\da-tA-T]+)' },\n { token: ['constant.numeric.integer.base-31.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-31.erlang'],\n regex: '(31)(#)([\\\\da-uA-U]+)' },\n { token: ['constant.numeric.integer.base-32.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-32.erlang'],\n regex: '(32)(#)([\\\\da-vA-V]+)' },\n { token: ['constant.numeric.integer.base-33.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-33.erlang'],\n regex: '(33)(#)([\\\\da-wA-W]+)' },\n { token: ['constant.numeric.integer.base-34.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-34.erlang'],\n regex: '(34)(#)([\\\\da-xA-X]+)' },\n { token: ['constant.numeric.integer.base-35.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-35.erlang'],\n regex: '(35)(#)([\\\\da-yA-Y]+)' },\n { token: ['constant.numeric.integer.base-36.erlang',\n 'punctuation.separator.base-integer.erlang',\n 'constant.numeric.integer.base-36.erlang'],\n regex: '(36)(#)([\\\\da-zA-Z]+)' },\n { token: 'invalid.illegal.integer.erlang',\n regex: '\\\\d+#[\\\\da-zA-Z]+' },\n { token: 'constant.numeric.integer.decimal.erlang',\n regex: '\\\\d+' }] }],\n '#parenthesized-expression': [{ token: 'punctuation.section.expression.begin.erlang',\n regex: '\\\\(',\n push: [{ token: 'punctuation.section.expression.end.erlang',\n regex: '\\\\)',\n next: 'pop' },\n { include: '#everything-else' },\n { defaultToken: 'meta.expression.parenthesized' }] }],\n '#record-directive': [{ token: ['meta.directive.record.erlang',\n 'punctuation.section.directive.begin.erlang',\n 'meta.directive.record.erlang',\n 'keyword.control.directive.import.erlang',\n 'meta.directive.record.erlang',\n 'punctuation.definition.parameters.begin.erlang',\n 'meta.directive.record.erlang',\n 'entity.name.type.class.record.definition.erlang',\n 'meta.directive.record.erlang',\n 'punctuation.separator.parameters.erlang'],\n regex: '^(\\\\s*)(-)(\\\\s*)(record)(\\\\s*)(\\\\()(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(,)',\n push: [{ token: ['punctuation.definition.class.record.end.erlang',\n 'meta.directive.record.erlang',\n 'punctuation.definition.parameters.end.erlang',\n 'meta.directive.record.erlang',\n 'punctuation.section.directive.end.erlang'],\n regex: '(\\\\})(\\\\s*)(\\\\))(\\\\s*)(\\\\.)',\n next: 'pop' },\n { include: '#internal-record-body' },\n { defaultToken: 'meta.directive.record.erlang' }] }],\n '#record-usage': [{ token: ['keyword.operator.record.erlang',\n 'meta.record-usage.erlang',\n 'entity.name.type.class.record.erlang',\n 'meta.record-usage.erlang',\n 'punctuation.separator.record-field.erlang',\n 'meta.record-usage.erlang',\n 'variable.other.field.erlang'],\n regex: '(#)(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')(\\\\s*)(\\\\.)(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')' },\n { token: ['keyword.operator.record.erlang',\n 'meta.record-usage.erlang',\n 'entity.name.type.class.record.erlang'],\n regex: '(#)(\\\\s*)([a-z][a-zA-Z\\\\d@_]*|\\'[^\\']*\\')',\n push: [{ token: 'punctuation.definition.class.record.end.erlang',\n regex: '\\\\}',\n next: 'pop' },\n { include: '#internal-record-body' },\n { defaultToken: 'meta.record-usage.erlang' }] }],\n '#string': [{ token: 'punctuation.definition.string.begin.erlang',\n regex: '\"',\n push: [{ token: 'punctuation.definition.string.end.erlang',\n regex: '\"',\n next: 'pop' },\n { token: ['punctuation.definition.escape.erlang',\n 'constant.character.escape.erlang',\n 'punctuation.definition.escape.erlang',\n 'constant.character.escape.erlang',\n 'constant.character.escape.erlang'],\n regex: '(\\\\\\\\)(?:([bdefnrstv\\\\\\\\\\'\"])|(\\\\^)([@-_])|([0-7]{1,3}))' },\n { token: 'invalid.illegal.string.erlang', regex: '\\\\\\\\\\\\^?.?' },\n { token: ['punctuation.definition.placeholder.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'constant.other.placeholder.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'constant.other.placeholder.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'constant.other.placeholder.erlang',\n 'constant.other.placeholder.erlang'],\n regex: '(~)(?:((?:\\\\-)?)(\\\\d+)|(\\\\*))?(?:(\\\\.)(?:(\\\\d+)|(\\\\*)))?(?:(\\\\.)(?:(\\\\*)|(.)))?([~cfegswpWPBX#bx\\\\+ni])' },\n { token: ['punctuation.definition.placeholder.erlang',\n 'punctuation.separator.placeholder-parts.erlang',\n 'constant.other.placeholder.erlang',\n 'constant.other.placeholder.erlang'],\n regex: '(~)((?:\\\\*)?)((?:\\\\d+)?)([~du\\\\-#fsacl])' },\n { token: 'invalid.illegal.string.erlang', regex: '~.?' },\n { defaultToken: 'string.quoted.double.erlang' }] }],\n '#symbolic-operator': [{ token: 'keyword.operator.symbolic.erlang',\n regex: '\\\\+\\\\+|\\\\+|--|-|\\\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::' }],\n '#textual-operator': [{ token: 'keyword.operator.textual.erlang',\n regex: '\\\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b' }],\n '#tuple': [{ token: 'punctuation.definition.tuple.begin.erlang',\n regex: '\\\\{',\n push: [{ token: 'punctuation.definition.tuple.end.erlang',\n regex: '\\\\}',\n next: 'pop' },\n { token: 'punctuation.separator.tuple.erlang', regex: ',' },\n { include: '#everything-else' },\n { defaultToken: 'meta.structure.tuple.erlang' }] }],\n '#variable': [{ token: ['variable.other.erlang', 'variable.language.omitted.erlang'],\n regex: '(_[a-zA-Z\\\\d@_]+|[A-Z][a-zA-Z\\\\d@_]*)|(_)' }] };\n this.normalizeRules();\n};\nErlangHighlightRules.metaData = { comment: 'The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp',\n fileTypes: ['erl', 'hrl'],\n keyEquivalent: '^~E',\n name: 'Erlang',\n scopeName: 'source.erlang' };\noop.inherits(ErlangHighlightRules, TextHighlightRules);\nexports.ErlangHighlightRules = ErlangHighlightRules;\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/erlang\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/erlang_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 ErlangHighlightRules = require(\"./erlang_highlight_rules\").ErlangHighlightRules;\nvar FoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = ErlangHighlightRules;\n this.foldingRules = new FoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.lineCommentStart = \"%\";\n this.blockComment = null;\n this.$id = \"ace/mode/erlang\";\n this.snippetFileId = \"ace/snippets/erlang\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/erlang\"], 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","ErlangHighlightRules","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]}