Crear comando de paquete Textmate y manipular texto seleccionado

Trabajo mucho con temperaturas en Textmate y me encantaría crear un comando o fragmento que hiciera lo siguiente. Podría resaltar un número como el 131 a continuación

Cook the food at 131.

Ellos ejecutan el comando y calculará automáticamente el Celsius y lo formateará, lo que dará como resultado

Cook the food at 131°F / 55°C.

Tengo un poco de experiencia trabajando con fragmentos, pero no demasiada, especialmente manipulando el texto seleccionado. ¡Pensé que sería un problema trivial para alguien que conocía los comandos mejor que yo!

Muchas gracias.

preguntado el 12 de junio de 12 a las 15:06

1 Respuestas

Tengo lo que buscas. Además, como aviso, el campo de comando realmente acepta cualquier cosa que se pueda ejecutar a través de bash, por lo que si está familiarizado con algo de eso, o quiere usar un lenguaje con el que se sienta cómodo, es un campo increíblemente poderoso. Para esto, usaré python simplemente porque bash y las matemáticas de coma flotante no funcionan bien juntas.

Utilice la herramienta Bundles -> Bundle Editor -> Edit Commands y seleccione el idioma que mejor se adapte (si está buscando aplicar esto en todo el tablero, puede usar el Source or Text haz.

Cree un nuevo Comando y para el texto, ingrese:

#!/usr/bin/env python

from sys import stdin

degF = int( stdin.read() )
degC = (degF - 32) * 5 / 9

print str(degF) + "°F / " + str(degC) + "&degC;."

A continuación, configure sus menús desplegables de modo que la entrada sea Selected Text y la salida es Replace Selected Text

La activación debe ser Key Equivalent y luego ingrese el comando de teclado que desea que se aplique.

Finalmente, elija el alcance para esto. Si desea que esté disponible en cualquier tipo de archivo, déjelo en blanco. Si lo desea en todos los archivos no basados ​​en código (texto sin formato, html, etc.), ingrese text. Solo para archivos relacionados con el código, ingrese source. Yuo también puede obtener más granular si lo desea (source.php)

Espero que ayude!

Respondido el 23 de junio de 12 a las 07:06

No puedo pensar en ninguna manera de hacer que esa sea una respuesta más perfecta. Gracias por el código y especialmente por tan buen resumen de por qué funciona. Realmente lo aprecio. - Jason Logsdon

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.