Mercurial > hg > jslab
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 ">") |