-1

svn Unified diff を含む文字列があります。私の PyGTK アプリは、この差分をユーザーに表示する必要があり、他の差分ツールと同じようにレンダリングするか、少なくとも色付けしたいと考えています。

外部ツール、ライブラリ、カスタム実装など、提案するものはありますか? 私はhttp://kafka.fr.free.fr/diff2html/を探していましたが、ユーザーがサードパーティのアプリをインストールする必要がないように、そのようなライブラリまたは sth を使用することを好みます。

後で git と mercurial の diff にもこれを使用したいと思います。

4

3 に答える 3

4

difflibを使用して差分を生成し、pygtkscintillaを使用して構文の強調表示、行番号付け、コードの折りたたみなどを行うことができます。

(pygtkscintilla によって提供されるすべてのエディター機能とは対照的に) 構文の強調表示のみが必要な場合は、pygmentsも確認できます。

于 2011-12-24T18:42:09.747 に答える
0

このdifflib.HtmlDiffクラスは、これを行うための機能を提供します。ただし、統合された差分ファイルから開始する代わりにHtmlDiff、完全な「前」および「後」ファイルを渡す必要があります。これらのファイルは、これらの VCS の「差分」機能を使用せずに、svn/git/mercurial コマンドで簡単に取得できます。

于 2011-12-24T18:44:39.857 に答える
-1

GtkSourceView is a drop in replacement for pygtk's TextView that can syntax-highlight diff files, including unified diffs.

于 2011-12-25T14:15:40.083 に答える