Sphinx 環境で使用できるカスタム構文ハイライターの作成に興味があります。これは可能ですか?もしそうなら、どうすればそれを行うことができますか?
質問する
2687 次
1 に答える
20
バックグラウンド
Sphinx ( http://sphinx-doc.org/ ) は内部的に Pygments ( http://pygments.org/ ) を構文ハイライガーとして使用しています。Pygments は、http://pygments.org/docs/lexerdevelopment/ で説明されているように、カスタム構文ハイライター (レクサー) の追加をサポートしています。
使用例
Pygments で新しいカスタム lexer を定義し、conf.py
sphinx 構成ファイルでその新しいカスタム lexer を初期化しようとします。始めるための小さな例:
from pygments.lexer import RegexLexer
from pygments import token
from sphinx.highlighting import lexers
class BCLLexer(RegexLexer):
name = 'MYLANG'
tokens = {
'root': [
(r'MyKeyword', token.Keyword),
(r'[a-zA-Z]', token.Name),
(r'\s', token.Text)
]
}
lexers['MYLANG'] = BCLLexer(startinline=True)
于 2013-05-09T19:56:42.033 に答える