详细说明: - 添加了V2版本的工作流页面和结果页面 - 更新了Serena记忆文件 - 添加了详细实施计划文档 - 优化了Vite配置 - 更新了项目文档CLAUDE.md - 构建了演示系统的dist版本 - 包含了exhibition-demo的完整依赖
27 lines
838 B
JavaScript
27 lines
838 B
JavaScript
'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: /[(){}\[\],]/
|
|
}
|
|
}
|