This commit is contained in:
Iliyan Angelov
2025-09-14 23:24:25 +03:00
commit c67067a2a4
71311 changed files with 6800714 additions and 0 deletions

26
frontend/node_modules/refractor/lang/prolog.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
'use strict'
module.exports = prolog
prolog.displayName = 'prolog'
prolog.aliases = []
function prolog(Prism) {
Prism.languages.prolog = {
// Syntax depends on the implementation
comment: {
pattern: /\/\*[\s\S]*?\*\/|%.*/,
greedy: true
},
// Depending on the implementation, strings may allow escaped newlines and quote-escape
string: {
pattern: /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,
greedy: true
},
builtin: /\b(?:fx|fy|xf[xy]?|yfx?)\b/,
// FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?
function: /\b[a-z]\w*(?:(?=\()|\/\d+)/,
number: /\b\d+(?:\.\d*)?/,
// Custom operators are allowed
operator: /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,
punctuation: /[(){}\[\],]/
}
}