Nov 30
Yasnippet
Yasnippet es un sistema de plantillas (templates) para emacs. Dicho sistema permite escribir con abreviaturas y que éstas se expandan automáticamente en plantillas para las funciones. Los lenguajes soportados de momento son c, c++, c#, perl, python, ruby, SQL, LaTeX, HTML, CSS, etc… aunque siempre puedes importar tus propios templates.
Para descargar yasnippet se puede realizar en su página oficial y la documentación es accesible desde aquí. Para instalar yanippet tan sólo se debe descargar, desempaquetar el .tgz y mover el fichero llamado yasnippet-bundle.el en ~/.emacs.d/plugins (o bien en cualquier directorio desde donde queramos cargarlo, siempre indicándolo en nuestro .emacs claro):
(add-to-list ‘load-path «~/.emacs.d/plugins»)
(require ‘yasnippet-bundle)
(yas/initialize)
(yas/load-directory «~/.emacs.d/plugins/yasnippet-version/snippets»)
Por si a alguien no le ha quedado aún claro, podéis ver una demo de como realizar la instalación:
Una vez hecho esto, lanzamos nuestro flamante emacs y probamos a escribir palabras reservadas como #include o bien cualquier función de la libc o cualquier parte de la demostración del video observada más arriba. Para comenzar a usarlo, tan sólo debemos usar la tecla TAB (tabulador).
Aunque yasnippet, como lo es emacs, es muy extensible, configurable y organizable. Veamos como se puede usar toda la potencia de yasnippet.
Para la carga de snippets (ver la web oficial de yasnippet la sección «Snippet Organization»):
Podemos crear un directorio especialmente para nuestros propios snippets, en nuestro .emacs:
;; Keep personal snippets under ~/.emacs.d/mysnippets
(setq yas/root-directory «~/.emacs.d/mysnippets»)
;; Load the snippets
(yas/load-directory yas/root-directory)
Podemos conseguir un efecto árbol según los snippets que tengamos usando yas-parents, yas-make-groups, etc… (leer la documentacion oficial para mas informacion), aqui dejo los enlaces de dicha documentacion:
Organizacion de snippets
http://yasnippet.googlecode.com/svn/trunk/doc/snippet-organization.html
Expansión de triggers
http://yasnippet.googlecode.com/svn/trunk/doc/snippet-expansion.html
Desarrollo de snippets
http://yasnippet.googlecode.com/svn/trunk/doc/snippet-development.html
diciembre 4th, 2010 at 7:31 pm
[…] http://www.blackhats.es/wordpress/?p=66 […]
diciembre 4th, 2010 at 8:09 pm
[…] http://www.blackhats.es/wordpress/?p=66 […]