是否有任何现有的语言可以正确突出 shell 语法?
例子
$ sudo apt-get install foo # this installs foo
预期产出
$ sudo apt-get install foo # 这会安装 foo
我解决这个问题 的非常简单的方法- 你会看到我的正则表达式技能是有限的。因此,我的实际问题是是否有任何现有的 shell 突出显示语言?
不幸的是,没有真正的文档,只有实际的代码。
# lang-shell.js
PR.registerLangHandler(PR.createSimpleLexer(
[[PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, "\t\n\r \xA0"]],
[[PR.PR_KEYWORD, /[$]/, null]]
), ["shell"]);
这行得通 - 它突出显示每个$
但是当我添加..., [[PR.PR_COMMENT,/\#.*/]], ...
它时,它只会突出显示评论。
当我删除嵌套数组时(因为这似乎是大多数其他语言的工作方式)
PR.registerLangHandler(PR.createSimpleLexer([
[PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, "\t\n\r \xA0"],
[PR.PR_COMMENT, /\#.*/],
[PR.PR_KEYWORD, /\$/, null]
]), ["shell"]);
我明白了
未捕获的类型错误:无法读取未定义 prettify.js:1
(匿名函数)的属性 '3' prettify.js:1
f prettify.js:1
(匿名函数)