Filtrando texto

Ao comparar vários arquivos, você pode ter seções de texto onde as diferenças não são realmente importantes. Por exemplo, você pode querer focar em seções alteradas de código e ignorar quaisquer alterações em linhas de comentários. Com filtros de texto, você pode dizer ao Meld para ignorar texto que corresponda a um padrão (por exemplo, uma expressão regular) ao mostrar diferenças entre arquivos.

Filtros de texto não afetam apenas comparações de arquivos, mas também comparações de pastas. Verifique as notas sobre filtragem de arquivos para mais detalhes.

Adicionando e usando filtros de texto

Você pode ativar ou desativar filtros de texto na aba Filtros de texto na caixa de diálogo Preferências. O Meld vem com alguns filtros simples que você pode achar úteis, mas você também pode adicionar os seus.

No Meld, filtros de texto são expressões regulares que são comparadas com o texto dos arquivos que você está comparando. Qualquer texto que seja correspondido é ignorado durante a comparação; você ainda verá esse texto na visualização de comparação, mas ele não será levado em consideração ao encontrar diferenças. Os filtros de texto são aplicados em ordem, então é possível que o primeiro filtro remova o texto que agora faz o segundo filtro corresponder, e assim por diante.

Se você não estiver familiarizado com expressões regulares, talvez queira verificar o "Como fazer" de expressões regulares do Python.

Obtendo filtros de texto corretos

É fácil errar na filtragem de texto, e o suporte do Meld para filtragem não é completo. Em particular, um filtro de texto não pode alterar o número de linhas em um arquivo. Por exemplo, se tivéssemos o filtro Comentário de script integrado habilitado e comparássemos os seguintes arquivos:

comentário1.txt

a
b#comentário
c
d

comentário2.txt

a
b
c
#comentário

então as linhas começando com b seriam mostradas como idênticas (o comentário é removido), mas a linha d seria mostrada como diferente da linha de comentário à direita. Isso acontece porque o #comentário é removido do lado direito, mas a linha em si não pode ser removida; o Meld mostrará a linha d como sendo diferente do que ele vê como uma linha em branco no outro lado.

Linhas em branco e filtros

A preferência Ignorar alterações que inserem ou excluem linhas em branco na aba Filtros de texto requer uma explicação especial. Se esse filtro especial estiver habilitado, qualquer alteração que consista apenas em linhas em branco será completamente ignorada. Isso pode ocorrer porque houve uma alteração real de espaço em branco no texto, mas também pode surgir se seus filtros de texto ativos removeram todo o outro conteúdo de uma alteração, deixando apenas linhas em branco.

Você pode usar essa opção para contornar alguns dos problemas e limitações resultantes de filtros que não conseguem remover linhas inteiras, mas também pode ser útil por si só.