Filtrage de texte
Lors de la comparaison de plusieurs fichiers, certaines parties du texte peuvent ne pas comporter de différences réellement significatives. Par exemple, vous souhaitez mettre l’accent sur les parties de code modifiées, et ignorer les modifications dans les commentaires. Les filtres de texte permettent à Meld d’ignorer le texte qui correspond à un modèle (une expression régulière) lors de l’affichage des différences entre fichiers.
Les filtres de texte s’appliquent non seulement aux comparaisons de fichiers mais aussi aux comparaisons de dossiers. Examinez les notes de filtrage des fichiers pour plus de détails.
Ajout et utilisation des filtres de texte
Vous pouvez activer et désactiver les filtres de texte dans l’onglet Filtres de texte de la fenêtre des Préférences. Meld est livré avec quelques filtres simples qui peuvent vous être utiles, mais vous pouvez en ajouter d’autres.
Dans Meld, les filtres de texte sont des expressions rationnelles qui sont confrontées avec le texte des fichiers comparés. Toute concordance entre les deux textes est ignorée pendant la comparaison ; vous continuerez à voir ce texte dans l’affichage de la comparaison, mais il ne sera pas pris en compte dans la recherche des différences. Les filtres de texte sont appliqués dans l’ordre, aussi est-il possible que le premier filtre supprime du texte ce qui fait que le deuxième filtre correspond, et ainsi de suite.
Si vous n’êtes pas familiarisé avec les expressions rationnelles, reportez-vous à Regular Expression HOWTO (en anglais) ou https://docs.python.org/fr/3/howto/regex.html (en français).
Filtrage de texte sans erreur
Il est facile d’avoir des erreurs avec le filtrage de texte, car la prise en charge du filtrage par Meld n’est pas encore complète. En particulier, un filtre de texte ne peut pas changer le nombre de lignes dans un fichier. Par exemple, si nous avons activé le filtre incorporé Commentaire de script (qui contient #.*) et comparé les fichiers suivants :
comment1.txt |
comment2.txt |
alors les lignes commençant par b s’afficheront comme identiques (le commentaire est enlevé) mais la ligne d s’affichera comme différente de la ligne de commentaire sur la droite. Cela se produit parce que le #comment est enlevé du côté droit, et que la ligne qui se retrouve vide ne peut pas être supprimée ; Meld affiche la ligne d comme différente de ce qu’il voit comme une ligne vide de l’autre côté.
Lignes vides et filtres
La préférence Ignorer les modifications qui concernent l’insertion ou l’effacement de lignes vides dans l’onglet Filtres de texte nécessite une explication particulière. Si ce filtre spécial est activé, tout changement consistant uniquement en lignes vides est totalement ignoré. Cela peut se produire s’il y a eu effectivement une inscription d’espaces blancs dans le texte, mais aussi si les filtres actifs ont supprimé tous les autres contenus d’une modification, ne laissant que des lignes vides.
Vous pouvez utiliser cette option pour résoudre certains problèmes et limitations résultant de filtres incapables de supprimer des lignes entières, mais elle est également utile en soi.