comparison src/scheme/readline.scm @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children 5df24c91468d
comparison
equal deleted inserted replaced
-1:000000000000 0:bf79fb79ee13
1 ;;; sets up java readline to provide command line
2 ;;; editting, history, and completion for jscheme.
3
4 ; redirect input to readline reader
5 ;(define (set-input-port port) (set! jsint.Scheme.input$ port))
6
7 (define (readline-reader prompt)
8 (org.gnu.readline.ReadlineReader. prompt
9 org.gnu.readline.ReadlineLibrary.GnuReadline$))
10
11 (org.gnu.readline.Readline.initReadline "jscheme")
12 (org.gnu.readline.Readline.readInitFile "/Users/samer/.inputrc")
13 (set! current-readline-reader (readline-reader ":"))
14 (.setInput (jsint.Scheme.currentEvaluator) (jsint.InputPort. current-readline-reader))
15 (define (set-prompt prompt) (.setPrompt current-readline-reader prompt))
16
17
18 ; this seems to stop terminal getting confused after exit
19 (.addShutdownHook (Runtime.getRuntime)
20 (Thread. (lambda ()
21 (display "cleaning up readline.\n")
22 (org.gnu.readline.Readline.cleanup))))
23
24
25 ; enable completion by looking up words in jscheme's symbol table
26 (org.gnu.readline.Readline.setCompleter (samer.silk.SilkCompleter.))
27 (set-prompt ">")