{"version":3,"file":"mode-logtalk-c5759e60.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-logtalk.js"],"sourcesContent":["ace.define(\"ace/mode/logtalk_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){/* THIS FILE WAS AUTOGENERATED FROM Logtalk.tmLanguage (UUID: C11FA1F2-6EDB-11D9-8798-000A95DAA580) */\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar LogtalkHighlightRules = function () {\n this.$rules = { start: [{ token: 'punctuation.definition.comment.logtalk',\n regex: '/\\\\*',\n push: [{ token: 'punctuation.definition.comment.logtalk',\n regex: '\\\\*/',\n next: 'pop' },\n { defaultToken: 'comment.block.logtalk' }] },\n { todo: 'fix grouping',\n token: ['comment.line.percentage.logtalk',\n 'punctuation.definition.comment.logtalk'],\n regex: '%.*$\\\\n?' },\n { todo: 'fix grouping',\n token: ['storage.type.opening.logtalk',\n 'punctuation.definition.storage.type.logtalk'],\n regex: ':-\\\\s(?:object|protocol|category|module)(?=[(])' },\n { todo: 'fix grouping',\n token: ['storage.type.closing.logtalk',\n 'punctuation.definition.storage.type.logtalk'],\n regex: ':-\\\\send_(?:object|protocol|category)(?=[.])' },\n { caseInsensitive: false,\n token: 'storage.type.relations.logtalk',\n regex: '\\\\b(?:complements|extends|i(?:nstantiates|mp(?:orts|lements))|specializes)(?=[(])' },\n { caseInsensitive: false,\n todo: 'fix grouping',\n token: ['storage.modifier.others.logtalk',\n 'punctuation.definition.storage.modifier.logtalk'],\n regex: ':-\\\\s(?:e(?:lse|ndif)|built_in|dynamic|synchronized|threaded)(?=[.])' },\n { caseInsensitive: false,\n todo: 'fix grouping',\n token: ['storage.modifier.others.logtalk',\n 'punctuation.definition.storage.modifier.logtalk'],\n regex: ':-\\\\s(?:c(?:alls|oinductive)|e(?:lif|n(?:coding|sure_loaded)|xport)|i(?:f|n(?:clude|itialization|fo))|reexport|set_(?:logtalk|prolog)_flag|uses)(?=[(])' },\n { caseInsensitive: false,\n todo: 'fix grouping',\n token: ['storage.modifier.others.logtalk',\n 'punctuation.definition.storage.modifier.logtalk'],\n regex: ':-\\\\s(?:alias|info|d(?:ynamic|iscontiguous)|m(?:eta_(?:non_terminal|predicate)|ode|ultifile)|p(?:ublic|r(?:otected|ivate))|op|use(?:s|_module)|synchronized)(?=[(])' },\n { token: 'keyword.operator.message-sending.logtalk',\n regex: '(:|::|\\\\^\\\\^)' },\n { token: 'keyword.operator.external-call.logtalk',\n regex: '([{}])' },\n { token: 'keyword.operator.mode.logtalk', regex: '(\\\\?|@)' },\n { token: 'keyword.operator.comparison.term.logtalk',\n regex: '(@=<|@<|@>|@>=|==|\\\\\\\\==)' },\n { token: 'keyword.operator.comparison.arithmetic.logtalk',\n regex: '(=<|<|>|>=|=:=|=\\\\\\\\=)' },\n { token: 'keyword.operator.bitwise.logtalk',\n regex: '(<<|>>|/\\\\\\\\|\\\\\\\\/|\\\\\\\\)' },\n { token: 'keyword.operator.evaluable.logtalk',\n regex: '\\\\b(?:e|pi|div|mod|rem)\\\\b(?![-!(^~])' },\n { token: 'keyword.operator.evaluable.logtalk',\n regex: '(\\\\*\\\\*|\\\\+|-|\\\\*|/|//)' },\n { token: 'keyword.operator.misc.logtalk',\n regex: '(:-|!|\\\\\\\\+|,|;|-->|->|=|\\\\=|\\\\.|=\\\\.\\\\.|\\\\^|\\\\bas\\\\b|\\\\bis\\\\b)' },\n { caseInsensitive: false,\n token: 'support.function.evaluable.logtalk',\n regex: '\\\\b(a(bs|cos|sin|tan|tan2)|c(eiling|os)|div|exp|flo(at(_(integer|fractional)_part)?|or)|log|m(ax|in|od)|r(em|ound)|s(i(n|gn)|qrt)|t(an|runcate)|xor)(?=[(])' },\n { token: 'support.function.control.logtalk',\n regex: '\\\\b(?:true|fa(?:il|lse)|repeat|(?:instantiation|system)_error)\\\\b(?![-!(^~])' },\n { token: 'support.function.control.logtalk',\n regex: '\\\\b((?:type|domain|existence|permission|representation|evaluation|resource|syntax)_error)(?=[(])' },\n { token: 'support.function.control.logtalk',\n regex: '\\\\b(?:ca(?:ll|tch)|ignore|throw|once)(?=[(])' },\n { token: 'support.function.chars-and-bytes-io.logtalk',\n regex: '\\\\b(?:(?:get|p(?:eek|ut))_(c(?:har|ode)|byte)|nl)(?=[(])' },\n { token: 'support.function.chars-and-bytes-io.logtalk',\n regex: '\\\\bnl\\\\b' },\n { token: 'support.function.atom-term-processing.logtalk',\n regex: '\\\\b(?:atom_(?:length|c(?:hars|o(?:ncat|des)))|sub_atom|char_code|number_c(?:har|ode)s)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.term-testing.logtalk',\n regex: '\\\\b(?:var|atom(ic)?|integer|float|c(?:allable|ompound)|n(?:onvar|umber)|ground|acyclic_term)(?=[(])' },\n { token: 'support.function.term-comparison.logtalk',\n regex: '\\\\b(compare)(?=[(])' },\n { token: 'support.function.term-io.logtalk',\n regex: '\\\\b(?:read(_term)?|write(?:q|_(?:canonical|term))?|(current_)?(?:char_conversion|op))(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.term-creation-and-decomposition.logtalk',\n regex: '\\\\b(arg|copy_term|functor|numbervars|term_variables)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.term-unification.logtalk',\n regex: '\\\\b(subsumes_term|unify_with_occurs_check)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.stream-selection-and-control.logtalk',\n regex: '\\\\b(?:(?:se|curren)t_(?:in|out)put|open|close|flush_output|stream_property|at_end_of_stream|set_stream_position)(?=[(])' },\n { token: 'support.function.stream-selection-and-control.logtalk',\n regex: '\\\\b(?:flush_output|at_end_of_stream)\\\\b' },\n { token: 'support.function.prolog-flags.logtalk',\n regex: '\\\\b((?:se|curren)t_prolog_flag)(?=[(])' },\n { token: 'support.function.compiling-and-loading.logtalk',\n regex: '\\\\b(logtalk_(?:compile|l(?:ibrary_path|oad|oad_context)|make(_target_action)?))(?=[(])' },\n { token: 'support.function.compiling-and-loading.logtalk',\n regex: '\\\\b(logtalk_make)\\\\b' },\n { caseInsensitive: false,\n token: 'support.function.event-handling.logtalk',\n regex: '\\\\b(?:(?:abolish|define)_events|current_event)(?=[(])' },\n { token: 'support.function.implementation-defined-hooks.logtalk',\n regex: '\\\\b(?:(?:create|current|set)_logtalk_flag|halt)(?=[(])' },\n { token: 'support.function.implementation-defined-hooks.logtalk',\n regex: '\\\\b(halt)\\\\b' },\n { token: 'support.function.sorting.logtalk',\n regex: '\\\\b((key)?(sort))(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.entity-creation-and-abolishing.logtalk',\n regex: '\\\\b((c(?:reate|urrent)|abolish)_(?:object|protocol|category))(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.reflection.logtalk',\n regex: '\\\\b((object|protocol|category)_property|co(mplements_object|nforms_to_protocol)|extends_(object|protocol|category)|imp(orts_category|lements_protocol)|(instantiat|specializ)es_class)(?=[(])' },\n { token: 'support.function.logtalk',\n regex: '\\\\b((?:for|retract)all)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.execution-context.logtalk',\n regex: '\\\\b(?:context|parameter|se(?:lf|nder)|this)(?=[(])' },\n { token: 'support.function.database.logtalk',\n regex: '\\\\b(?:a(?:bolish|ssert(?:a|z))|clause|retract(all)?)(?=[(])' },\n { token: 'support.function.all-solutions.logtalk',\n regex: '\\\\b((?:bag|set)of|f(?:ind|or)all)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.multi-threading.logtalk',\n regex: '\\\\b(threaded(_(call|once|ignore|exit|peek|wait|notify))?)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.engines.logtalk',\n regex: '\\\\b(threaded_engine(_(create|destroy|self|next(?:_reified)?|yield|post|fetch))?)(?=[(])' },\n { caseInsensitive: false,\n token: 'support.function.reflection.logtalk',\n regex: '\\\\b(?:current_predicate|predicate_property)(?=[(])' },\n { token: 'support.function.event-handler.logtalk',\n regex: '\\\\b(?:before|after)(?=[(])' },\n { token: 'support.function.message-forwarding-handler.logtalk',\n regex: '\\\\b(forward)(?=[(])' },\n { token: 'support.function.grammar-rule.logtalk',\n regex: '\\\\b(?:expand_(?:goal|term)|(?:goal|term)_expansion|phrase)(?=[(])' },\n { token: 'punctuation.definition.string.begin.logtalk',\n regex: '\\'',\n push: [{ token: 'constant.character.escape.logtalk',\n regex: '\\\\\\\\([\\\\\\\\abfnrtv\"\\']|(x[a-fA-F0-9]+|[0-7]+)\\\\\\\\)' },\n { token: 'punctuation.definition.string.end.logtalk',\n regex: '\\'',\n next: 'pop' },\n { defaultToken: 'string.quoted.single.logtalk' }] },\n { token: 'punctuation.definition.string.begin.logtalk',\n regex: '\"',\n push: [{ token: 'constant.character.escape.logtalk', regex: '\\\\\\\\.' },\n { token: 'punctuation.definition.string.end.logtalk',\n regex: '\"',\n next: 'pop' },\n { defaultToken: 'string.quoted.double.logtalk' }] },\n { token: 'constant.numeric.logtalk',\n regex: '\\\\b(0b[0-1]+|0o[0-7]+|0x[0-9a-fA-F]+)\\\\b' },\n { token: 'constant.numeric.logtalk',\n regex: '\\\\b(0\\'\\\\\\\\.|0\\'.|0\\'\\'|0\\'\")' },\n { token: 'constant.numeric.logtalk',\n regex: '\\\\b(\\\\d+\\\\.?\\\\d*((e|E)(\\\\+|-)?\\\\d+)?)\\\\b' },\n { token: 'variable.other.logtalk',\n regex: '\\\\b([A-Z_][A-Za-z0-9_]*)\\\\b' }] };\n this.normalizeRules();\n};\noop.inherits(LogtalkHighlightRules, TextHighlightRules);\nexports.LogtalkHighlightRules = LogtalkHighlightRules;\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/logtalk\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/tokenizer\",\"ace/mode/logtalk_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 Tokenizer = require(\"../tokenizer\").Tokenizer;\nvar LogtalkHighlightRules = require(\"./logtalk_highlight_rules\").LogtalkHighlightRules;\nvar FoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = LogtalkHighlightRules;\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/logtalk\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/logtalk\"], 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","LogtalkHighlightRules","Range","BaseFoldMode","FoldMode","commentRegex","session","foldStyle","row","line","fw","forceMultiline","match","i","range","startIndent","startRow","startColumn","endRow","maxRow","indent","subRange","re","depth","TextMode","Mode","m"],"mappings":"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","x_google_ignoreList":[0]}