47a28540

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Show a coloured character diff for similar-attachment hints

When an attachment file does not exist, the CE_MISSING_ATTACHMENT hint
now renders each suggested file name as a character-level diff against
the name that was typed, using fast-myers-diff and safe-coloured-text.

Only characters that are actually part of the candidate path are shown,
so the rendered text is always a real path. Characters the candidate has
in addition to the typed name are coloured red, and unchanged characters
are coloured explicitly so the whole suggestion stays one colour
regardless of where the differences fall.

Add a many-similar-attachments scenario exercising substitution,
insertion, extension change, deletion, and reordering. The check spec now
recurses into subdirectories so the scenario can isolate its candidate
files in their own directory.