TODO: Buscar un título para esta entrada

5
Junio
2008

TextMate es un gran editor para Mac que tiene pequeños detalles increíbles escondidos, principalmente entre sus “Bundles&rlquo;.

Uno de esos Bundles increíbles es TODO, que con un simple ⌃⇧T (quizá la gente de Windows no vea esos caracteres, pero como no van a poder utilizar el editor…) te muestra un lista de archivos donde aparecen ciertos comentarios “estándares” (TODO, FIXME, CHANGE) con enlaces a la línea donde se encuentran.

Además dispone de una pequeña ventana de preferencias donde se pueden crear más “etiquetas&rdquot; y editar las existentes. Personalmente me gusta editarlas un poco, porque, por defecto, no funcionan como deberían.

Etiqueta RegEx original RegEx modificada
TODO /TODO[\s,:]+(\S.*)$/i /\bTODO[\s,:]+(\S.*)$/i
FIXME /FIX ?ME[\s,:]+(\S.*)$/i /\bFIX ?(?:ME)?[\s,:]+(\S.*)$/i
CHANGED /CHANGED[\s,:]+(\S.*)$/ /\bCHANGED[\s,:]+(\S.*)$/

En el caso de “TODO” y “CHANGED” obligo a que deltante de la etiqueta exista un “límite de palabra” (word bounduary, el símbolo \b). En “FIXME”, además, permito que el “ME” final no sea necesario (hay que introducirlo en unos paréntesis de no-captura, la primera captura la utiliza el Bundle para mostrar el comentario asociado). Las “i” al final de las expresiones regulares hacen que no se tengan en cuenta la capitalización de las letras, se pueden quitar al gusto del usuario.

Por desgracia, al menos para mí, con el Ruby por defecto de Leopard esas expresiones no funcionan para palabras como “método” en archivos codificados en UTF-8.

La única solución que he encontrado para arreglarlo es descargarse el Bundle del repositorio de Subversion e incluir una única línea en un archivo:

$ cd ~/Library/Application\ Support/TextMate/Bundles
$ svn co http://macromates.com/svn/Bundles/trunk/Bundles/TODO.tmbundle
$ mate TODO.tmbundle/Support/todo.rb

Incluir justo debajo de la línea que dice #!/usr/bin/env ruby otra línea que diga $KCODE = 'UTF8'. Salvar y reiniciar TextMate. Todo debería funcionar correctamente (bueno… excepto si pones precisamente “todo” en tu archivo, ver el comentario sobre las “i” más arriba).

PD: El Bundle necesita amor desesperadamente, con un vistazo rápido al código, creo que cada archivo del proyecto se abre (y cierra) una vez por cada “etiqueta” definida. ¿Voluntarios?


Deja un comentario

Puedes enterarte de las respuestas a tus comentarios de esta entrada mediante myComments.

XHTML: Puedes utilizar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tu servidor sin límites: 20GB de espacio, 1TB de transferencia, 1 dominio gratuito. Por 1.5€ al mes utilizando el código "RUIDOBLANCO" en DreamHost. Más información.