1 |
- {"version":3,"file":"mode-prolog-e030d67e.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: '(
|