-1

我有一个包含 svn 统一差异的字符串。我的 PyGTK 应用程序需要向用户显示这个差异,我想像其他差异工具一样渲染​​它,或者至少让它着色。

你有什么建议吗,外部工具,库,自定义实现......?我在看http://kafka.fr.free.fr/diff2html/但我更喜欢使用一些库或类似的东西,所以用户不需要安装第三方应用程序。

我想稍后也将它用于 git 和 mercurial 差异。

4

3 回答 3

4

您可以使用difflib生成差异,使用pygtkscintilla进行语法高亮、行编号、代码折叠等。

如果您只想要语法高亮(与 pygtkscintilla 提供的所有编辑器功能相反),那么您也可以查看pygments

于 2011-12-24T18:42:09.747 回答
0

该类difflib.HtmlDiff提供了执行此操作的设施。但是,不是从一个统一的差异文件开始,而是HtmlDiff希望您传递完整的“之前”和“之后”文件。这些文件很容易通过 svn/git/mercurial 命令获得,而无需使用这些 VCS 的“差异”功能。

于 2011-12-24T18:44:39.857 回答
-1

GtkSourceView 是 pygtk 的 TextView 的替代品,它可以语法突出显示差异文件,包括统一差异。

于 2011-12-25T14:15:40.083 回答