/ emacs

Run Scheme

En el anterior post (cronologico del blog) comente algunos interpretes de Scheme. Ya que en Emacs tenemos un interprete de elisp nativo, supuse que habria un metodo sencillo, para correr Scheme, pero, por que correr todo un interprete cuando se puede echar mano del interprete del sistema de turno y powerizarlo con el incomparable Emacs, o si, hasta Gulie que en terminal era insipido, se vuelve Sexi! Todos los interpretes adquieren historial, hasta los que no lo tenian!

… o eso es lo que aprendi en este post, que me limito a traducir y alterar parcialmente (pues supongo al estar en una wiki es permitido)

(nota: el post original, hablan de un modo “quack”, pero viendo que mensionan emacs-goodies, asumo que es algo “antiguo”, viniendo de ejecutar los interpretes en consola salvajemente, con lo que ofrece emacs por defecto tengo suficiente! (por ahora…))

Configuracion Basica

Coloque el codigo a continuacion en su fichero init.el, para configurar su uso con Scheme

;;; Siempre con resaltado de sintaxis
(global-font-lock-mode 1)

;;; tambien con resaltado de parentesis
(setq show-paren-delay 0
      show-paren-style 'parenthesis)
(show-paren-mode 1)

;;; Este es el nombre binario de mi implementacion de Scheme
(setq scheme-program-name "scm")

Asegurese de remplazar "scm" con el nombre de la implementacion de Scheme que este utilizando en su sistema

(resaltar que ya tenia activo show-parent-mode, la instruccion setq show-paren-delay 0 hace que no halla retraso al momento del resaltado, que por el uso que le daba, presuponia estaba asignado en 1 segundo… correccion segun C-h v show-parent-delay era de 0.125 segundos, maravilloso!)

Trabajando con Scheme

Cuando abre un archivo, los nombres de los archivos que terminan en .scm o .ss seran asumidos como archivos de Scheme, y se abriran con el modo scheme de Emacs, que proporciona resaltado de sitaxis e indentacion automatica cuando pulse TAB, y por spuesto resaltado de parentesis coincidentes.

Ejecutar Scheme en Emacs

Puede ejecutar un interprete de Scheme en Emacs. Esto le permite controlar el envio de los datos de entrada a su interprete desde emacs.

En primer lugar, crearemos una ventana para correr el proceso de Scheme presionando C-x 2, seguido por C-x o para ir a esta. Ahora podemos ejecutar un proceso de Scheme ingresando M-x run-scheme. Esto ejecutara el proceso que configuro anteriormente en su .init.el

Si esta realizando una prueba temporal, escriba en un buffer cualquiera (setq scheme-program-name "scm") (remplazar scm), coloque el cursor en el parentesis de cierre y pulse C-x C-e, de esta forma puede probar un interprete distinto, luego de cerrar la secion previa escribiendo (exit)

Para volver a la ventana inicial, presione C-x o.

Puede utilizar C-x C-e para enviar una expresion. Tambien puede enviar una region, un comando previo o incluso el buffer entero, para consultar el resto de atajos activos y disponibles (no vinculados con ninguna combinacion de teclado) presione C-h m

Comandos basicos

Algunos comandos basicos de movimiento del cursor:

/ emacs