if (tern && emacs) pwn();

Ya hace mucho tiempo que estoy intentando aprender javascript, soy una fanática de emacs, pero envidiaba mucho el autocomplete de la consola del explorador… y ayer, buscando por internet cómo tunnear mi emacs, me topé con Tern. Fue amor a primera vista XD

Para instalarlo, solo tienes que seguir los pasos de este link: http://ternjs.net/doc/manual.html#emacs

00documenting

No sabía que Javascript se documentaba de esa forma, o_O lo aprendí del código de phaser XD.

Tern reconoce la documentación, y te la muestra en el autocomplete. En la imagen de arriba, como el parámetro person tiene el tipo string, su autocomplete te muestra los miembros de un string.

01documentingCuando llamas a esa función, también te muestra su documentación.

02documentingy mientras escribes la función, te muestra el tipo de dato de cada parámetro de la función, en tiempo real.

03documenting

pero cuidado con los puntos! la descripción de la función debe terminar con un punto. De lo contrario, tern te mostrará toooodo el texto que escribiste.

04documenting

Además, tern también reconoce objetos que hayas creado recién!! solo tienes que especificar en la documentación el prototipo de ese parámetro.

005tern-project

y esto es lo que más me gustó de tern: en el archivo .tern-project puedes decirle a tern cuáles archivos están participando en el proyecto en el que estás trabajando, entre otras cosas.  En la imagen de arriba, yo le dije a tern que cargara cualquier .js que pusiera en esa carpeta. Como phaser.min.js está allí, se va a agregar al auto-complete de tern.

y cuando creo un nuevo “game” (que es de un tipo de dato definido en phaser.min.js), al darle punto, el auto-complete me sugiere los miembros de game (que están definidos en phaser.min.js).

Tern tiene muchas otras características, como renombrar variables, funciona en muchos lugares (emacs, vim, sublime text, eclipse, etc)… pero no me las preguntes a mí! instala Tern, y comienza a descubrirlas :D

Advertisements

One thought on “if (tern && emacs) pwn();

  1. Yo lo acabo de instalar bajo vim y la verdad es que es impresionante las funcionalidades que tiene, gracias por el post, me fue de mucha ayuda. Un saludo :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s