用Python渲染统一Diff



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

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

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

如果您只想要语法高亮显示(与pygtkscintilla提供的所有编辑器特性相反),那么您也可以查看pypygs。

difflib.HtmlDiff类提供了执行此操作的工具。但是,HtmlDiff希望您传递完整的"before"one_answers"after"文件,而不是从统一的diff文件开始。这些文件可以通过svn/git/mercurial命令轻松获取,而无需使用VCS的"diff"功能。

GtkSourceView是pygtk的TextView的替代品,它可以语法高亮显示diff文件,包括统一的diffs。

相关内容

  • 没有找到相关文章

最新更新