オープンソースの構文ハイライトツール?[閉まっている]
-
01-07-2019 - |
質問
いくつかのコード(C++、ただし複数の言語があれば便利です)を取得し、構文を強調表示してそのコードの有効な XHTML 表現を吐き出す、オープンソースのクロスプラットフォーム(少なくとも Windows と Linux)のコマンド ライン ツールを探しています。含まれています。
理想的には、XHTML はコードを次のようにラップするだけです。 <span>
そして <div>
異なるクラスのタグを使用することで、CSS コードを指定して色を変更できますが、これはオプションです。
誰かそのようなアプリケーションを知っていますか?
解決
お勧めできます 顔料. 。操作が簡単で、多くの言語をサポートしています。これはあなたが望むことを行います。つまり、コードをラップします。 <span>
タグ:
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter
code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter())
与える
<div class="highlight">
<pre><span class="k">print</span> <span class="s">"Hello World"</span></pre>
</div>
提供されているスタイル シートの 1 つを使用して、独自のスタイル シートを作成できます。
経由で呼び出すこともできます pygmentize
脚本。スクリプトはさまざまな方法で出力をフォーマットできます。HTML、LaTeX、ANSI カラー端末出力。
他のヒント
XML によって駆動され、高速かつオープンソースで非常に優れたものがあります。 http://sourceforge.net/projects/colorer/
かどうかは覚えていない ゲシ にはコマンドライン プログラムがありますが、そうでなくても、作成するのは難しくありません。コードを取得して、行番号 (または X 行ごとの行番号でも) やその他の便利な機能を含む、きれいな色の HTML/XHTML を生成するという素晴らしい仕事をします。
エンスクリプト あなたが求めているもののように見えます:
- ASCII ファイルから HTML (または PS、または RTF) を吐き出す
- これには、いくつかのプログラミング言語での「きれいに印刷」 (言語に依存したコードの強調表示) のための機能が含まれています。
これがどれほど役立つかはわかりませんが、私のチームはドキュメントの作成に doxygen を使用しています。これにより、コード ビューで構文がカラーで強調表示されるだけでなく、副次的なボーナスも提供されます。実際には必要ありませんでしたが、役に立ちます。
Ruby の使用に問題がない場合は、 コードレイ.
追加します 私自身のものをリストに追加, 、C# に色付けされていますが、C、C++、Java にも適用できます。デフォルトでインライン スタイルと pre タグが生成されます。
ソースは C# にあり、mono/monodevelop を取得してコンソール アプリとしてコンパイルする必要があるため、その点ではシュリンク ラップされていません。