是否有任何现有语言可以正确地突出显示shell语法?
$ sudo apt-get install foo # this installs foo
$ sudo apt-get install foo #this installs foo
# 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"]);
我得到了
未捕获的TypeError:无法读取属性' 3' of undefined prettify.js:1
(匿名函数)prettify.js:1
f prettify.js:1
(匿名函数)