Mercurial > hg > jslab
view src/scheme/readline.scm @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children | 5df24c91468d |
line wrap: on
line source
;;; sets up java readline to provide command line ;;; editting, history, and completion for jscheme. ; redirect input to readline reader ;(define (set-input-port port) (set! jsint.Scheme.input$ port)) (define (readline-reader prompt) (org.gnu.readline.ReadlineReader. prompt org.gnu.readline.ReadlineLibrary.GnuReadline$)) (org.gnu.readline.Readline.initReadline "jscheme") (org.gnu.readline.Readline.readInitFile "/Users/samer/.inputrc") (set! current-readline-reader (readline-reader ":")) (.setInput (jsint.Scheme.currentEvaluator) (jsint.InputPort. current-readline-reader)) (define (set-prompt prompt) (.setPrompt current-readline-reader prompt)) ; this seems to stop terminal getting confused after exit (.addShutdownHook (Runtime.getRuntime) (Thread. (lambda () (display "cleaning up readline.\n") (org.gnu.readline.Readline.cleanup)))) ; enable completion by looking up words in jscheme's symbol table (org.gnu.readline.Readline.setCompleter (samer.silk.SilkCompleter.)) (set-prompt ">")