Bonjour, je cherche à produire un diff colorisé afin de comparer pas mal de fichiers textes et de pouvoir visualiser dans un navigateur les différences.
En gros, je cherche à obtenir ce que l'on peut voir avec le diff de vim ou encore avec celui de viewcvs : de jolis couleurs pour bien voir quels caractères ont été ajoutés/supprimés/modifiés
Le but est que ça puisse fonctionner en mode batch.
Mes limites sont les suivantes :
- Doit fonctionner dans un environnement éventuellement non Unix (windows par exemple). S'il s'agit de faire fonctionner 2 ou 3 exécutables entre eux, c'est génant, mais s'il faut une distribution entière, ça va pas être possible...
- Java ou perl préféré
- A la limite un exécutable s'il le fait bien
J'ai pas mal cherché, et en perl on a des libs intéressantes
- qui ne produisent pas de la couleur (http://search.cpan.org/~dwheeler/Text-Diff-HTML-0.05/lib/Tex(...)
, ou qui produise de la couleur à la ligne (genre http://jrm.stin.jp/media/1/20080507-diff2html.pl.txt).
Il y a bien ça http://search.cpan.org/~dwheeler/SVN-Notify-2.78/lib/SVN/Not(...) qui a l'air de produire ce que je cherche
Il y aussi diff2html http://kafka.fr.free.fr/diff2html/index-fr.html
Qui serait parfait, mais ne va pas aussi loin que celui de vim... Qui lui met vraiment bien exergue les caractères qui changent, et pas seulement la ligne.
A la limite c'est possible de faire cracher un output en html par vim ?
# Mouais
Posté par ✅ ffx . Évalué à 6.
vi -d fichier1 fichier2 +"run! syntax/2html.vim" +"w" +":wincmd w" +"run! syntax/2html.vim" +"wq" +"q" +"q" +"q"
# :runtime! syntax/2html.vim
Posté par Grégory Landais (site web personnel) . Évalué à 2.
M'enfin je pense qu'il est assez simple d'automatiser l'extraction des contenu du body et la création d'une page avec deux div juxtaposée.
Plus de doc ici :
:help convert-to-HTML
Il y est dit que la génération est assez lente. Forcément j'ai testé sur des petits fichiers ca a été rapide pour moi.
Ha et on trouve aussi des variables à configurer pour faire varier la sortie :
:let use_xhtml = 1
:let html_use_css = 1
# colordiff + highlighters
Posté par Octabrain . Évalué à 2.
divers highlighters qui supportent diff :
gnu source highlight : http://www.gnu.org/software/src-highlite/source-highlight.ht(...) (c++)
highlight : http://www.andre-simon.de/dokuwiki/doku.php (c++)
geshi : http://qbnz.com/highlighter/ (php)
pygments : http://pygments.org/ (python)
(il y en a certainement d'autres, j'ai fait une recherche très rapide)
# foo
Posté par gc (site web personnel) . Évalué à 1.
Par emacs je sais que c'est possible. J'utilise "htmlize.el" pour le faire dans http://pleac.sourceforge.net/ depuis mon Makefile, et le résultat est pas trop mal.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.