2012-08-10 24 views
18

Estoy leyendo SICP y estoy usando mit-scheme instalado en mi computadora portátil os x 10.8 a través de homebrew.mit-scheme REPL con el historial de línea de comandos y la finalización de la pestaña

Todo funciona como se anuncia, sin embargo, me da mimo la facilidad con la que obtengo la finalización de pestañas y el historial de línea de comandos en REPL para tiempos de ejecución como Python y Node.js.

No estoy buscando nada pesado, pero estas características son muy fáciles de conseguir en REPL's modernos (es solo a simple startup file en Python y se puede implementar en a few lines in Node.js).

¿Hay una manera fácil de completar la tabulación y el historial de comandos en el mit-scheme REPL sin una aplicación de servicio pesado o tener que cambiar a emacs (es decir, en un terminal xterm)?

Respuesta

40

Instalar el readline wrapper:

brew install rlwrap

Una vez instalado, rlwrap scheme le dará la historia persistente, coincidente paren, y la implementación del tabulador. Normalmente utilizo rlwrap con los siguientes argumentos:

-r Ponga todas las palabras vistas en las entradas y salidas en la lista de finalización.

nombres de archivo completos -c

-f especificar una lista de palabras a utilizar para la implementación del tabulador. Estoy usando una lista abreviada de enlaces del MIT Scheme Reference Manual. En lugar de volver a publicar la lista aquí, puede encontrarla en this gist. que tienen este archivo almacenado en "$ HOME" /scheme_completion.txt

rlwrap -r -c -f "$HOME"/scheme_completion.txt scheme

1 ]=> (flo:a <tab tab> 
flo:abs flo:acos flo:asin flo:atan flo:atan2 
1 ]=> (flo:abs -42.0) 

;Value: 42. 
+0

Amor esto. Esto parece realmente útil para otros programas también. –

Cuestiones relacionadas