mode-prolog-1d7f96c1.js.map 22 KB

1
  1. {"version":3,"file":"mode-prolog-1d7f96c1.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-prolog.js"],"sourcesContent":["ace.define(\"ace/mode/prolog_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){/* This file was autogenerated from https://raw.github.com/stephenroller/prolog-tmbundle/master/Syntaxes/Prolog.tmLanguage (uuid: ) */\n\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar PrologHighlightRules = function () {\n this.$rules = { start: [{ include: '#comment' },\n { include: '#basic_fact' },\n { include: '#rule' },\n { include: '#directive' },\n { include: '#fact' }],\n '#atom': [{ token: 'constant.other.atom.prolog',\n regex: '\\\\b[a-z][a-zA-Z0-9_]*\\\\b' },\n { token: 'constant.numeric.prolog',\n regex: '-?\\\\d+(?:\\\\.\\\\d+)?' },\n { include: '#string' }],\n '#basic_elem': [{ include: '#comment' },\n { include: '#statement' },\n { include: '#constants' },\n { include: '#operators' },\n { include: '#builtins' },\n { include: '#list' },\n { include: '#atom' },\n { include: '#variable' }],\n '#basic_fact': [{ token: ['entity.name.function.fact.basic.prolog',\n 'punctuation.end.fact.basic.prolog'],\n regex: '([a-z]\\\\w*)(\\\\.)' }],\n '#builtins': [{ token: 'support.function.builtin.prolog',\n regex: '\\\\b(?:abolish|abort|ancestors|arg|ascii|assert[az]|atom(?:ic)?|body|char|close|conc|concat|consult|define|definition|dynamic|dump|fail|file|free|free_proc|functor|getc|goal|halt|head|head|integer|length|listing|match_args|member|next_clause|nl|nonvar|nth|number|cvars|nvars|offset|op|print?|prompt|putc|quoted|ratom|read|redefine|rename|retract(?:all)?|see|seeing|seen|skip|spy|statistics|system|tab|tell|telling|term|time|told|univ|unlink_clause|unspy_predicate|var|write)\\\\b' }],\n '#comment': [{ token: ['punctuation.definition.comment.prolog',\n 'comment.line.percentage.prolog'],\n regex: '(%)(.*$)' },\n { token: 'punctuation.definition.comment.prolog',\n regex: '/\\\\*',\n push: [{ token: 'punctuation.definition.comment.prolog',\n regex: '\\\\*/',\n next: 'pop' },\n { defaultToken: 'comment.block.prolog' }] }],\n '#constants': [{ token: 'constant.language.prolog',\n regex: '\\\\b(?:true|false|yes|no)\\\\b' }],\n '#directive': [{ token: 'keyword.operator.directive.prolog',\n regex: ':-',\n push: [{ token: 'meta.directive.prolog', regex: '\\\\.', next: 'pop' },\n { include: '#comment' },\n { include: '#statement' },\n { defaultToken: 'meta.directive.prolog' }] }],\n '#expr': [{ include: '#comments' },\n { token: 'meta.expression.prolog',\n regex: '\\\\(',\n push: [{ token: 'meta.expression.prolog', regex: '\\\\)', next: 'pop' },\n { include: '#expr' },\n { defaultToken: 'meta.expression.prolog' }] },\n { token: 'keyword.control.cutoff.prolog', regex: '!' },\n { token: 'punctuation.control.and.prolog', regex: ',' },\n { token: 'punctuation.control.or.prolog', regex: ';' },\n { include: '#basic_elem' }],\n '#fact': [{ token: ['entity.name.function.fact.prolog',\n 'punctuation.begin.fact.parameters.prolog'],\n regex: '([a-z]\\\\w*)(\\\\()(?!.*:-)',\n push: [{ token: ['punctuation.end.fact.parameters.prolog',\n 'punctuation.end.fact.prolog'],\n regex: '(\\\\))(\\\\.?)',\n next: 'pop' },\n { include: '#parameter' },\n { defaultToken: 'meta.fact.prolog' }] }],\n '#list': [{ token: 'punctuation.begin.list.prolog',\n regex: '\\\\[(?=.*\\\\])',\n push: [{ token: 'punctuation.end.list.prolog',\n regex: '\\\\]',\n next: 'pop' },\n { include: '#comment' },\n { token: 'punctuation.separator.list.prolog', regex: ',' },\n { token: 'punctuation.concat.list.prolog',\n regex: '\\\\|',\n push: [{ token: 'meta.list.concat.prolog',\n regex: '(?=\\\\s*\\\\])',\n next: 'pop' },\n { include: '#basic_elem' },\n { defaultToken: 'meta.list.concat.prolog' }] },\n { include: '#basic_elem' },\n { defaultToken: 'meta.list.prolog' }] }],\n '#operators': [{ token: 'keyword.operator.prolog',\n regex: '\\\\\\\\\\\\+|\\\\bnot\\\\b|\\\\bis\\\\b|->|[><]|[><\\\\\\\\:=]?=|(?:=\\\\\\\\|\\\\\\\\=)=' }],\n '#parameter': [{ token: 'variable.language.anonymous.prolog',\n regex: '\\\\b_\\\\b' },\n { token: 'variable.parameter.prolog',\n regex: '\\\\b[A-Z_]\\\\w*\\\\b' },\n { token: 'punctuation.separator.parameters.prolog', regex: ',' },\n { include: '#basic_elem' },\n { token: 'text', regex: '[^\\\\s]' }],\n '#rule': [{ token: 'meta.rule.prolog',\n regex: '(?=[a-z]\\\\w*.*:-)',\n push: [{ token: 'punctuation.rule.end.prolog',\n regex: '\\\\.',\n next: 'pop' },\n { token: 'meta.rule.signature.prolog',\n regex: '(?=[a-z]\\\\w*.*:-)',\n push: [{ token: 'meta.rule.signature.prolog',\n regex: '(?=:-)',\n next: 'pop' },\n { token: 'entity.name.function.rule.prolog',\n regex: '[a-z]\\\\w*(?=\\\\(|\\\\s*:-)' },\n { token: 'punctuation.rule.parameters.begin.prolog',\n regex: '\\\\(',\n push: [{ token: 'punctuation.rule.parameters.end.prolog',\n regex: '\\\\)',\n next: 'pop' },\n { include: '#parameter' },\n { defaultToken: 'meta.rule.parameters.prolog' }] },\n { defaultToken: 'meta.rule.signature.prolog' }] },\n { token: 'keyword.operator.definition.prolog',\n regex: ':-',\n push: [{ token: 'meta.rule.definition.prolog',\n regex: '(?=\\\\.)',\n next: 'pop' },\n { include: '#comment' },\n { include: '#expr' },\n { defaultToken: 'meta.rule.definition.prolog' }] },\n { defaultToken: 'meta.rule.prolog' }] }],\n '#statement': [{ token: 'meta.statement.prolog',\n regex: '(?=[a-z]\\\\w*\\\\()',\n push: [{ token: 'punctuation.end.statement.parameters.prolog',\n regex: '\\\\)',\n next: 'pop' },\n { include: '#builtins' },\n { include: '#atom' },\n { token: 'punctuation.begin.statement.parameters.prolog',\n regex: '\\\\(',\n push: [{ token: 'meta.statement.parameters.prolog',\n regex: '(?=\\\\))',\n next: 'pop' },\n { token: 'punctuation.separator.statement.prolog', regex: ',' },\n { include: '#basic_elem' },\n { defaultToken: 'meta.statement.parameters.prolog' }] },\n { defaultToken: 'meta.statement.prolog' }] }],\n '#string': [{ token: 'punctuation.definition.string.begin.prolog',\n regex: '\\'',\n push: [{ token: 'punctuation.definition.string.end.prolog',\n regex: '\\'',\n next: 'pop' },\n { token: 'constant.character.escape.prolog', regex: '\\\\\\\\.' },\n { token: 'constant.character.escape.quote.prolog',\n regex: '\\'\\'' },\n { defaultToken: 'string.quoted.single.prolog' }] }],\n '#variable': [{ token: 'variable.language.anonymous.prolog',\n regex: '\\\\b_\\\\b' },\n { token: 'variable.other.prolog',\n regex: '\\\\b[A-Z_][a-zA-Z0-9_]*\\\\b' }] };\n this.normalizeRules();\n};\nPrologHighlightRules.metaData = { fileTypes: ['plg', 'prolog'],\n foldingStartMarker: '(%\\\\s*region \\\\w*)|([a-z]\\\\w*.*:- ?)',\n foldingStopMarker: '(%\\\\s*end(\\\\s*region)?)|(?=\\\\.)',\n keyEquivalent: '^~P',\n name: 'Prolog',\n scopeName: 'source.prolog' };\noop.inherits(PrologHighlightRules, TextHighlightRules);\nexports.PrologHighlightRules = PrologHighlightRules;\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/prolog\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/prolog_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 PrologHighlightRules = require(\"./prolog_highlight_rules\").PrologHighlightRules;\nvar FoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = PrologHighlightRules;\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/prolog\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/prolog\"], 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","PrologHighlightRules","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]}