stringtranslate.com

Mate de texto

TextMate es un editor de texto con interfaz gráfica de usuario de código abierto y gratuito para macOS creado por Allan Odgaard. TextMate incluye personalizaciones declarativas , pestañas para documentos abiertos , macros grabables , secciones plegables , fragmentos , integración con el shell y un sistema de paquetes extensible.

Historia

TextMate 1.0 fue lanzado el 5 de octubre de 2004, después de 5 meses de desarrollo, seguido por la versión 1.0.1 el 21 de octubre de 2004. [2] [3] [4] La versión se centró en implementar bien un pequeño conjunto de características , y no tenía una ventana de preferencias o una barra de herramientas, no integraba FTP y no tenía opciones para imprimir. [5] [6] Al principio, solo se admitía una pequeña cantidad de lenguajes de programación, ya que solo se habían creado unos pocos "paquetes de lenguaje". Aun así, algunos desarrolladores encontraron que esta versión temprana e incompleta de TextMate era un cambio bienvenido en un mercado que se consideraba estancado por el dominio de BBEdit durante una década . [7]

TextMate 1.0.2 salió al mercado el 10 de diciembre de 2004. En la serie de versiones beta de TextMate 1.1 , TextMate ganó características: una ventana de preferencias con una interfaz gráfica de usuario para crear y editar temas; una barra de estado con una lista de símbolos; menús para elegir el idioma y la configuración de las pestañas, y un "editor de paquetes" para editar personalizaciones específicas del idioma. El 6 de enero de 2006, Odgaard lanzó TextMate 1.5, la primera "versión estable" desde la 1.0.2. [8] Las críticas fueron positivas, en contraste con las versiones anteriores que habían sido criticadas. [9]

TextMate continuó desarrollándose hasta mediados de 2006. El 8 de agosto de 2006, TextMate recibió el premio Apple Design Award a la mejor herramienta para desarrolladores, en la Conferencia Mundial de Desarrolladores de Apple en San Francisco , California . [10] En febrero de 2006, el blog de TextMate expresó sus intenciones para futuras direcciones, incluyendo una mejor gestión de proyectos, con un sistema de complementos para soportar sistemas de archivos remotos como FTP, y sistemas de control de revisión como Subversion . [11] A lo largo de 2007, la aplicación principal cambió solo mínimamente, aunque sus "paquetes de idiomas" continuaron avanzando.

En junio de 2009, se anunció que TextMate 2 estaba completo en un 90 por ciento, pero con una lista final de características no revelada. [12] Una versión alfa pública se puso a disposición para su descarga en el blog de TextMate en diciembre de 2011, seguida de una versión candidata a lanzamiento a fines de 2016. En septiembre de 2019, se lanzó una versión final. [13]

En agosto de 2012, el código fuente de TextMate 2 se publicó en GitHub bajo los términos de la GPL-3.0 o posterior , [14] un intento del desarrollador de contrarrestar las restricciones que Apple impuso al software distribuido a través de la Mac App Store . [15] Odgaard afirmó que prefiere recibir parches como dominio público, ya que esto preserva su capacidad de lanzar una versión futura bajo una licencia más permisiva, o hacer que una versión esté disponible en la Mac App Store. Odgaard también afirmó que tiene un amigo que usa algunos de los marcos de trabajo de TextMate en un proyecto de código cerrado, y no podían incorporar parches publicados bajo GPL. [16] [17]

En octubre de 2021, se realizó el último commit en GitHub, aunque no se ha hecho ningún anuncio en el sentido de que el proyecto ha sido abandonado oficialmente y su código fuente todavía está disponible públicamente. [18]

Características

Gramáticas del lenguaje

Las gramáticas del lenguaje TextMate permiten a los usuarios crear sus propios modos de resaltado de sintaxis arbitrariamente complejos al asignar a cada palabra clave del documento un nombre único. [19] Utiliza una versión modificada del formato de lista de propiedades ASCII de Apple para definir gramáticas del lenguaje. [ cita requerida ] Estas gramáticas permiten definir reglas de anidamiento utilizando la biblioteca de expresiones regulares Oniguruma y luego asignarles "alcances" específicos: etiquetas compuestas que las identifican para la coloración.

A cada punto de un documento se le asignan uno o más ámbitos, que definen dónde se encuentra el punto en el documento, cómo debe colorearse y cuál debe ser el comportamiento de TextMate en ese punto. Por ejemplo, el título de uno de los enlaces de la sección “Enlaces externos” tiene el ámbito:

texto.html.mediawiki marcado.lista.mediawiki meta.link.inline.external.mediawiki cadena.otro.enlace.título.externo.mediawiki

Este alcance nos indica que estamos viendo un título de enlace dentro de un enlace dentro de una lista dentro de un documento MediaWiki.

Los temas de TextMate pueden marcar cualquier ámbito, con distintos niveles de precisión. Por ejemplo, un tema puede decidir colorear cada constante ( constant.*) de manera idéntica, mientras que otro puede decidir que las constantes numéricas ( constant.numeric.*) deben colorearse de manera diferente a los caracteres escapados ( constant.character.escape.*). La sintaxis de ámbito jerárquico permite a los autores de lenguajes y de temas varios niveles de cobertura, de modo que cada uno puede optar por la simplicidad o la exhaustividad, según lo desee.

La documentación de TextMate proporciona una lista de nombres comúnmente utilizados en diferentes lenguajes de programación para la interoperabilidad entre paquetes. [19]

Comandos

TextMate admite comandos definidos y editables por el usuario que son interpretados por bash o el intérprete especificado con un shebang . Los comandos pueden recibir muchos tipos de entrada por TextMate (el documento actual, el texto seleccionado, la palabra actual, etc.) además de las variables de entorno y su salida puede ser manejada de manera similar por TextMate en una variedad de formas. En su forma más simple, un comando puede recibir el texto seleccionado, transformarlo y reinsertarlo en el documento reemplazando la selección. Otros comandos pueden simplemente mostrar una información sobre herramientas , crear un nuevo documento para su salida o mostrarlo como una página web utilizando el renderizador HTML integrado de TextMate.

Muchos paquetes específicos de lenguajes como bash, PHP o Ruby contienen comandos para compilar y/o ejecutar el documento o proyecto actual. En muchos casos, la salida estándar (STDOUT) y la salida estándar (STDERR) del proceso del código se mostrarán en una ventana en TextMate.

Fragmentos

En su forma más simple, los " fragmentos " de TextMate son fragmentos de texto que se pueden insertar en el documento en la ubicación actual mediante una pulsación de tecla sensible al contexto o la finalización con tabulación. Los fragmentos son "inteligentes", ya que admiten la actualización dinámica de "tabulaciones", el acceso a variables de entorno y la capacidad de ejecutar scripts en línea. Esto permite comportamientos complicados. Las tabulaciones se pueden recorrer en ciclos utilizando la tecla "tabulación" y admiten texto predeterminado, menús desplegables, para completar elementos del fragmento. Los resultados de estas tabulaciones se pueden cambiar dinámicamente en otra parte del fragmento, a medida que el usuario completa una parada. Se pueden utilizar variables de entorno de TextMate, que admiten información sobre el alcance actual, el número de línea o el nombre del autor, etc. Los fragmentos también tienen la capacidad de ejecutar scripts de shell en línea.

Paquetes

Las gramáticas, fragmentos, macros, comandos y plantillas de lenguaje TextMate se pueden agrupar en “paquetes” de funcionalidad. Cualquier fragmento, macro o comando se puede ejecutar presionando un atajo de teclado, escribiendo una palabra en particular y luego presionando la tecla “tabulador” (los llamados “activadores de tabulación”), o seleccionando el comando de un menú. Los activadores de tabulación son particularmente útiles; la combinación de activadores de tabulación y fragmentos facilita enormemente la codificación en lenguajes verbosos o lenguajes con patrones de tipeo comunes.

Los fragmentos, macros y comandos se pueden limitar a un ámbito particular, de modo que, por ejemplo, el comando “cerrar etiqueta html” no funcione en un script de Python, lo que libera ese atajo de teclado para que se use para otra cosa. Esto permite que los idiomas individuales, e incluso los ámbitos individuales, anulen comandos integrados como “Reformatear párrafo” con versiones más especializadas. Incluso se pueden anular teclas especiales como la tecla de retorno y la barra espaciadora.

Hay disponible un repositorio Subversion que contiene muchos más paquetes que los que se envían con el paquete del editor, para todo, desde Markdown hasta blogs y lenguaje ensamblador MIPS . [20]

Gestión de proyectos

Se pueden abrir varios documentos o carpetas a la vez en una ventana de proyecto de TextMate, que ofrece un cajón a lo largo de su costado que enumera los nombres de los archivos y carpetas, y una serie de pestañas en la parte superior. En TextMate 1.5, este cajón proporciona un medio para que los usuarios organicen archivos y carpetas de todo el sistema de archivos, así como la capacidad de crear carpetas virtuales para una mayor organización. Esta característica se eliminó de TextMate 2 y se reemplazó con un explorador de archivos común . Se puede realizar una búsqueda y reemplazo en todo un proyecto, y los comandos pueden interactuar con los archivos o carpetas seleccionados en el cajón. Los paquetes para CVS , Subversion, darcs y otros sistemas de control de revisión permiten a TextMate administrar código versionado.

Otras características

TextMate tiene muchas características comunes a los editores de programación:

Además, TextMate admite funciones para integrarse bien con el entorno gráfico de OS X:

Limitaciones

TextMate tiene algunas limitaciones en comparación con otros editores de su clase:

Premios

TextMate 1.5 ganó el premio Apple Design Award a la mejor herramienta para desarrolladores en 2006.

Véase también

Referencias

  1. ^ https://github.com/textmate/textmate/releases/tag/v2.0.23. {{cite web}}: Falta o está vacío |title=( ayuda )
  2. ^ David Hansson. “¡TextMate 1.0 ya está aquí! Archivado el 5 de diciembre de 2008 en Wayback Machine ”, TextMate Blog , 5 de octubre de 2004.
  3. ^ Allan Odgaard. “Perfiles/Allan Odgaard Archivado el 3 de julio de 2007 en Wayback Machine ” en la wiki de TextMate, 20 de noviembre de 2005.
  4. ^ David Hansson. “TextMate 1.0.1 emerge después de nueve versiones beta Archivado el 12 de septiembre de 2020 en Wayback Machine ”, TextMate Blog , 21 de octubre de 2005.
  5. ^ Matt Willmore. “Reseña de TextMate 1.0.1: ¿Un jaque mate para TextMate? Archivado el 20 de agosto de 2006 en Wayback Machine ”, Maczealots.com , 8 de octubre de 2004.
  6. ^ Michael “drunkenbatman” Bell. “TextMate: el editor que faltaba para OS X Archivado el 14 de mayo de 2006 en Wayback Machine ”, Drunkenblog , 4 de noviembre de 2004.
  7. ^ Kimbro Staken. “Un nuevo y atractivo editor de texto: TextMate - Mac OS X Archivado el 4 de diciembre de 2004 en archive.today ”, Inspirational Technology , 6 de octubre de 2004.
  8. ^ Allan Odgaard. “TextMate 1.5 Archivado el 25 de marzo de 2006 en Wayback Machine ”, TextMate Blog , 6 de enero de 2006.
  9. ^ Rui Carmo. “La tercera es la vencida Archivado el 30 de noviembre de 2006 en Wayback Machine ”, Tao of Mac , 8 de enero de 2006.
  10. ^ Smykil, Jeff (9 de agosto de 2006). «Se anunciaron los ganadores del Apple Design Award». Ars Technica . Consultado el 11 de enero de 2024 .
  11. ^ Allan Odgaard. “Future Directions Archivado el 5 de diciembre de 2008 en Wayback Machine ”, TextMate Blog , 15 de febrero de 2006.
  12. ^ Blog de TextMate: Trabajando en ello Archivado el 7 de marzo de 2010 en Wayback Machine , 14 de junio de 2009
  13. ^ TextMate Github: [1] Archivado el 15 de septiembre de 2019 en Wayback Machine , 16 de septiembre de 2019
  14. ^ GitHub, [2] Archivado el 31 de enero de 2018 en Wayback Machine , 9 de agosto de 2012
  15. ^ "TextMate 2.0 pasa a ser de código abierto en respuesta a las restricciones de OS X". 9 de agosto de 2012. Archivado desde el original el 30 de diciembre de 2016. Consultado el 15 de junio de 2017. El desarrollador de TextMate, MacroMates, anunció el jueves que el código para TextMate 2.0, actualmente en versión alfa, ya está disponible a través del repositorio en línea de GitHub. El código se está poniendo en código abierto para contrarrestar lo que algunos desarrolladores ven como una libertad cada vez más limitada de los usuarios y desarrolladores de Apple en la plataforma Mac.
  16. ^ Odgaard, (2009). CONTRIBUTING.md Archivado el 2 de junio de 2022 en Wayback Machine .
  17. ^ "Odgaard: "Seguiré trabajando en TextMate mientras sea usuario de Mac"". 10 de agosto de 2012. Archivado desde el original el 7 de junio de 2017. Consultado el 15 de junio de 2017. Muchos defensores del código abierto y posibles contribuidores de código se opusieron vehementemente a la elección de Odgaard de la versión 3 de la Licencia Pública General de GNU , al tiempo que pedían que los parches de código originales llevaran una licencia de dominio público. El problema, por desgracia, es el tira y afloja entre los principios del software libre y los deseos de las empresas comerciales.
  18. ^ "Github confirma textmate/textmate". GitHub . Consultado el 29 de julio de 2023 .
  19. ^ ab "Gramáticas del lenguaje: Manual de TextMate 1.x". macromates.com . Archivado desde el original el 2021-10-30 . Consultado el 2021-10-30 .
  20. ^ Para obtener información sobre cómo obtener más paquetes, consulte la sección correspondiente en el manual de TextMate Archivado el 10 de octubre de 2008 en Wayback Machine .
  21. ^ "20 expresiones regulares". TextMate. Archivado desde el original el 21 de enero de 2018. Consultado el 28 de abril de 2009 .
  22. ^ Cómo editar archivos desde mi servidor FTP como un proyecto TextMate Archivado el 19 de julio de 2017 en Wayback Machine . TextMate Wiki - Preguntas frecuentes: Proyectos
  23. ^ Compatibilidad con la accesibilidad en la vista de texto - VoiceOver y Zoom Archivado el 14 de marzo de 2020 en Wayback Machine . Solicitud de incorporación de cambios en GitHub
  24. ^ Allan Odgaard. “Re: Cambiar la posición del cursor desde el comando Archivado el 4 de marzo de 2016 en Wayback Machine ”. Lista de correo TextMate . 14 de febrero de 2007.

Lectura adicional

Enlaces externos