Sublime 3 + Stata 12: Cómo integrar Syntax y Build

Hola a todos, volvemos a lo que nos interesa: cosas de nerds, jeje.

Imagino que conocerán Sublime Text, si no, corran a instalarlo, porque sin dudas es uno de los mejores productos de software hechos en el último tiempo. Y en Ubuntu 13.10 va perfecto. :)

Captura de pantalla de 2013-09-30 18:49:46

Este súper editor de texto ofrece muchísimas alternativas y opciones al programador hardcore, pero también al novato que está aprendiendo a tocar código. En mi caso, yo programo mis cosas económicas en Stata, pero si alguna vez usaron este programejo, seguramente sabrán que el editor de “.do files” que viene dentro del programa es una verdadera garcha ^_^. Después de la primera probadita que le di a Sublible-text 3, lo primero que pensé fue en tratar de integrarlo con uno de los programas que más uso: Stata.

En plan de integrar Stata con Sublime Text 3, armé un repo en git, específico para solucionar este asunto, cosa que todos puedan implementar el truquito que armé (si si, no había NADA en la web que solucionara esto… así que me arremangué y junté los puntos con los hilos… y al final, con un poquito de suerte, anduvo!). Luego de un tiempito (y un fresh install en mi compu) pulí el proceso de instalación del script de forma que la integración pueda hacerse en Ninja Mode, con un comando.

Requerimientos:

Qué es lo que hace el complemento?

  • Remarca con colorsitos la sintaxis de Stata 11 y 12 en Sublime text
  • Permite la ejecución o compilación de archivos .do (mediante ctrl+B) desde Sublime
  • Permite instancias independientes de Stata por cada compilación (^_^)
  • Funciona con la versión gtk o con la versión terminal de Stata. :)

Ahora, a los postres. Integrando Stata y Sublime 3 con un comando:

Ninja-Install: un copy-paste.

cd ~ && wget https://copy.com/8d24ms0Ng2Us/Stata.zip?download=1 -O Stata12-Sublime3-Linux.zip && mkdir -p ~/.config/sublime-text-3/Packages && cp -a Stata12-Sublime3-Linux.zip ~/.config/sublime-text-3/Packages && cd ~/.config/sublime-text-3/Packages && unzip Stata12-Sublime3-Linux.zip && rm Stata12-Sublime3-Linux.zip

Captura de pantalla de 2013-09-30 18:54:21Reiniciamos Sublime y seleccionamos la sintaxis Stata. Automáticamente la opción de Build estará disponible mediante el atajo de tecla Ctrl+B.

Captura de pantalla de 2013-09-30 19:01:35Como ven, permite seleccionar la sintaxis de Stata (atrás se ve que la colorización del texto funciona). Obviamente va con el tema de colores que más les guste. :)

Nota:

La opción de compilar no debería andar “al instante”, devolviendo un “Error type 2”. Para que la opción de compilar funcione bien, hay que tirar unos enlaces simbólicos de forma de que Stata se pueda ejecutar como un comando bash de sistema. Esto en “mi versión mía” :P esto es automático porque siempre instalo Stata en el mismo lugar, pero en el caso de usted, estimado señor o señora lectora, dependerá de donde haya puesto sus archivitos ejecutables durante el proceso de instalación de stata.

En suma, si siguen el tutorial que hice anteriormente de cómo instalar Stata en Ubuntu, ejecuten este comando:

sudo ln -s /usr/local/stata12/xstata-se /usr/bin/xstata-se && sudo ln -s /usr/local/stata12/stata-se /usr/bin/stata-se && sudo ln -s /usr/local/stata12/xstata /usr/bin/xstata && sudo ln -s /usr/local/stata12/stata /usr/bin/stata

En el ejemplo de arriba Stata está instalado en /usr/local/stata12. Si lo instalaron en otro lugar, entonces cambien esos cachos de código y listo. :)

Qué es lo que NO hace el script?

  • Lamentablemente todavía no puedo hacer que se ejecuten PORCIONES del código (o sea sólo ejecutar una  selección de nuestra .do file, algo realmente usual en el programa por defecto). Las soluciones ultra temporales que uso son dos: la primera es meter un liso y llano STOP o PARÁ en donde quiero que la secuencia corte, de forma que me tira un error de sintaxis y puedo testear porciones de programa. La segunda es copiar la porción en un nuevo archivo, correrlo, y después agregarlo a mi archivo de verdad. Ambas implican unos pasitos más que “seleccionar y correr”, pero es lo que hay.
  • Otra limitación de esto es que (no se por qué) no se pueden ejecutar direcciones de archivos con caracteres especiales. Así que en la dirección del archivo .do NADA DE ESPACIOS ni de cosas raras, como PARÉNTESIS u otros símbolos. Ejemplo de cómo hacerlo bien: “~/preyectos/stata/prueba.do” funciona perfecto, mientras que si no tenemos cuidado y usamos espacios y cosas locas, por ejemplo con “~/preyectos/stata/prueba (sub prueba número 343).do”, la compilación no funciona.

Bueno, y eso fue todo por hoy. :)

Salú!

Sublime 3 + Stata 12: Cómo integrar Syntax y Build

Integrando Syntax de Stata 12 en Gedit o Scratch (en sólo 3 pasos)

Hola, hoy vuelvo con un post relacionado con Stata. Estoy trabajando bastante con este programa, y si bien en la versión 12 el do-file-editor mejoró mucho, la flexibilidad de usar Gedit o Scratch al hacer un doble click no tiene precio. El problema es que el código de los archivos “.do” no tiene coloreado de sintaxis, y entonces aparece todo el texto en negro, sin reconocer los comandos, lo cual hace que el asunto sobre el que estamos trabajando sea realmente difícil de leer. La idea del post, entonces, es implementar el reconocimiento de syntaxis en nuestros editores de texto favoritos de Ubuntu y Elementary OS.

Gedit abriendo una do-file sin resaltado

Captura de pantalla de 2013-07-07 06:32:07

El resultado de este post: Gedit abriendo una do-file, con un hermoso resaltado de código :)

Captura de pantalla de 2013-07-07 06:25:32

Imagino que ya tienen instalado Stata 12 en Ubuntu. Entonces el proceso es muy fácil. Son tres pasos, descargar, ejecutar un script en Stata e incluir los cambios en Gedit. Abran una terminal y peguen el siguiente código:

Primero descargamos los scripts:

wget https://dl.dropboxusercontent.com/u/491767/%40rhoconlinux/stata_gedit_rho.zip && tar -xzvf stata_gedit_rho.zip && rm stata_gedit_rho.zip

Ahora ejecutamos el código en Stata para que se genere la lista de comandos que Gedit reconocerá (sabías que stata puede ejecutarse desde la terminal? jeje). Peguen el siguente código:

cd /usr/local/stata12 && ./stata do “~/stata_gedit_rho/writestatalang.do”

Ojo que ahora estamos dentro de stata. Salimos del programa escribiendo “exit” en la terminal (en la fotito, el último comando hay que escribirlo a mano para volver a la terminal de linux).

Captura de pantalla de 2013-07-07 06:09:50

Finalmente,

cd ~/stata_gedit_rho/ &&  mkdir -p ~/.local/share/gtksourceview-2.0/language-specs &&  mkdir -p ~/.local/share/gtksourceview-3.0/language-specs &&  cp stata.lang  ~/.local/share/gtksourceview-2.0/language-specs &&  cp stata.lang  ~/.local/share/gtksourceview-3.0/language-specs &&  killall gedit

Reiniciamos Gedit y ahora podemos seleccionar el Syntax de Stata desde el menú (ver > modo resaltado > científico > stata). Una vez hecho esto, Scratch tomará también la syntaxis ;)

Captura de pantalla de 2013-07-07 06:08:48

Y al final (colores Tango) nos queda el texto de Stata resaltado en Gedit y Scratch ;)

Captura de pantalla de 2013-07-07 06:27:24

Espero les sirva tanto como a mi. Algunas notas. La mayoría de la información la saqué de Linux Scrapbook pero si exploran un poco el tuto de ahí es muy confuso y no se entiende muy bien qué hacer ni cómo. Además de que es bastante viejardo. En suma, arreglé varias cosas. Principalmente, el script ahora funciona con versiones antiguas y modernas de Ubuntu y Gedit. Por otro lado, incorporé las modificaciones propuestas por el usuario “nixahn” en las que propone algunos fixes de las reglas para el resaltado de comentarios.

Hasta la próxima :)

Salú

Integrando Syntax de Stata 12 en Gedit o Scratch (en sólo 3 pasos)