On 2004-08-23 11:48:38 +0200, Daniel D�chelotte wrote:
> Visiblement wdiff n'est pas tres connu.
Je l'avais test�, mais comme il n'�tait pas capable de donner un
contexte, je l'avais laiss� tomb�. � la rigueur, c'est peut-�tre
corrigeable avec un wrappeur (�crit en perl, par exemple). Et puis
il ne fonctionne qu'avec des fichiers, i.e. impossible d'utiliser
la forme <(...) en ligne de commande pour faire de la substitution
de processus.
Autre probl�me: il �crit [mot effac�] [mot corrig�] � la suite rendant
le nouveau texte plus difficile � lire. Mais bon, c'est peut-�tre une
question d'habitude (et �a va mieux avec les couleurs).
> Je devine d'apres la description de son paquet qu'il utilise diff
> puis raffine les differences au mot par mot.
Oui, c'est marqu� dans le man qu'il utilise diff.
> En tout cas, il trouve les differences a l'echelle du mot (quelle
> que soit sa methode pour le faire).
Il y a aussi docdiff qui le fait, et qui a �galement ses probl�mes.
> Tu veux des couleurs ? Il faut ruser un petit peu :
>
> wdiff -w $(echo -e "\\033[31;1m") -x $(echo -e "\\033[0m") -y $(echo -e
> "\\033[32;1m") -z $(echo -e "\\033[0m") fichier1 fichier2
>
> Le texte supprime est en rouge, le texte insere en vert. Si tu veux
> utiliser less derriere, utilise son option "--raw" pour conserver les
> couleurs. Ou bien :
>
> PAGER="less --raw" wdiff -a -w $(echo -e "\\033[31;1m") -x $(echo -e
> "\\033[0m") -y $(echo -e "\\033[32;1m") -z $(echo -e "\\033[0m") fichier1
> fichier2
J'utilise en permanence l'option -R (je suppose que les options -r
et -R remplacent l'ancien --raw). Mais elle est tr�s rudimentaire,
et non utilisable quand la couleur s'�tend sur plusieurs lignes
(probl�me avec le scrolling vers le haut notamment). Je pense que
c'est difficilement corrigeable dans less, car cela demande de
m�moriser les couleurs. Un wrappeur devrait pouvoir contourner le
probl�me, � condition que l'utilisateur ne change pas la largeur
du terminal une fois la commande lanc�e.
En r�sum�, il faudrait �crire un wrappeur qui:
_ ajoute une option de r�cursivit�,
_ utilise des fichiers temporaires si besoin est,
_ et apr�s l'appel de wdiff, applique un filtre li� aux couleurs
(� chaque fin de ligne du terminal, fait un sgr0; � chaque d�but
de ligne du terminal, remet la couleur si besoin est; enl�ve les
lignes du fichier qui ne contiennent pas de changement de couleur,
�ventuellement en laissant des lignes de contexte).
--
Vincent Lef�vre <[EMAIL PROTECTED]> - Web: <http://www.vinc17.org/>
100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Math�matiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA