TextMate puede utilizar la extensión de archivo o la primera línea de un archivo para adivinar de qué tipo de archivo se trata.
Para mi paquete de dif (creo que es el original), esto es:
firstLineMatch = '(?x)^
(===\ modified\ file
|==== \s* // .+ \s - \s .+ \s+ ====
|Index:\
|---\ [^%]
|\*\*\*.*\d{4}\s*$
|\d+(,\d+)* (a|d|c) \d+(,\d+)* $
|diff\ --git\
)
';
No tengo mercurial, pero parece que la primera línea de su diff puede ser algo como diff -r 2278160e78d4 hello.c
. Como tal, puede añadir otra línea a ese gran interruptor OR:
...
|diff\ --git\
|diff\ -r\
)
';
Tenga en cuenta que el último carácter de la línea es un espacio.
Como otra alternativa, parece que puede definir su alias como alias hgd='hg diff --git|mate'
para utilizar el mismo formato que git, que ya es reconocido por TextMate.