knowledgebase_law/node_modules/refractor/lang/bnf.js

28 lines
543 B
JavaScript
Raw Normal View History

2025-04-11 23:47:09 +08:00
'use strict'
module.exports = bnf
bnf.displayName = 'bnf'
bnf.aliases = ['rbnf']
function bnf(Prism) {
Prism.languages.bnf = {
string: {
pattern: /"[^\r\n"]*"|'[^\r\n']*'/
},
definition: {
pattern: /<[^<>\r\n\t]+>(?=\s*::=)/,
alias: ['rule', 'keyword'],
inside: {
punctuation: /^<|>$/
}
},
rule: {
pattern: /<[^<>\r\n\t]+>/,
inside: {
punctuation: /^<|>$/
}
},
operator: /::=|[|()[\]{}*+?]|\.{3}/
}
Prism.languages.rbnf = Prism.languages.bnf
}