シェル構文を適切に強調表示する既存の言語はありますか?
例
$ sudo apt-get install foo # this installs foo
期待される出力
$ sudo apt-get install foo # これで 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"]);
私は得る
Uncaught TypeError: Cannot read property '3' of undefined prettify.js:1
(匿名関数) prettify.js:1
f prettify.js:1
(匿名関数)