1

是否有任何现有的语言可以正确突出 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
(匿名函数)

4

0 回答 0