TextMate può usare l'estensione di file o la prima riga di un file per capire quale sia il tipo di file.
Per il mio bundle diff (penso sia l'originale), questo è:
firstLineMatch = '(?x)^
(===\ modified\ file
|==== \s* // .+ \s - \s .+ \s+ ====
|Index:\
|---\ [^%]
|\*\*\*.*\d{4}\s*$
|\d+(,\d+)* (a|d|c) \d+(,\d+)* $
|diff\ --git\
)
';
Non ho mercurial, ma sembra che la prima riga del diff assomigli a diff -r 2278160e78d4 hello.c
. In quanto tale, puoi aggiungere un'altra linea a quel grande OR switch:
...
|diff\ --git\
|diff\ -r\
)
';
Nota che il carattere finale nella linea è uno spazio.
Come altra alternativa, sembra che tu possa essere in grado di definire il tuo alias come alias hgd='hg diff --git|mate'
per usare lo stesso formato di git, che è già riconosciuto da TextMate.