Render Unified Diff с Python - PullRequest
       3

Render Unified Diff с Python

0 голосов
/ 24 декабря 2011

У меня есть строка, которая содержит SVN Unified Diff.Моему приложению PyGTK нужно показывать этот diff пользователю, и я хочу, чтобы он отображался так, как это делают другие инструменты diff, или, по крайней мере, он должен быть раскрашен.

У вас есть что предложить, внешний инструмент, библиотека, пользовательская реализация...?Я смотрел на http://kafka.fr.free.fr/diff2html/, но я предпочитаю использовать какую-то библиотеку или что-то подобное, поэтому пользователям не нужно устанавливать сторонние приложения.

Я хочу использовать это позже для git и mercurial diff.а также.

Ответы [ 3 ]

4 голосов
/ 24 декабря 2011

Вы можете использовать difflib для генерации различий и pygtkscintilla для подсветки синтаксиса, нумерации строк, свертывания кода и т. Д.

Если вы хотите толькоподсветка синтаксиса (в отличие от всех функций редактора, предлагаемых pygtkscintilla), тогда вы также можете посмотреть на pygments .

0 голосов
/ 25 декабря 2011

GtkSourceView - это замена замены TextView pygtk, который может синтаксически выделять файлы различий, включая унифицированные разности.

0 голосов
/ 24 декабря 2011

Класс difflib.HtmlDiff предоставляет возможности для этого. Однако вместо того, чтобы начинать с объединенного файла различий, HtmlDiff хочет, чтобы вы передали полные файлы «до» и «после». Эти файлы легко получить с помощью команд svn / git / mercurial без использования функции diff этих VCS.

...