Mercurial > hg > jslab
comparison src/scheme/readline.scm @ 1:5df24c91468d
Oh my what a mess.
author | samer |
---|---|
date | Fri, 05 Apr 2019 16:26:00 +0100 |
parents | bf79fb79ee13 |
children |
comparison
equal
deleted
inserted
replaced
0:bf79fb79ee13 | 1:5df24c91468d |
---|---|
2 ;;; editting, history, and completion for jscheme. | 2 ;;; editting, history, and completion for jscheme. |
3 | 3 |
4 ; redirect input to readline reader | 4 ; redirect input to readline reader |
5 ;(define (set-input-port port) (set! jsint.Scheme.input$ port)) | 5 ;(define (set-input-port port) (set! jsint.Scheme.input$ port)) |
6 | 6 |
7 (define (readline-reader prompt) | 7 (define jscheme-history ".jscheme_history") |
8 (org.gnu.readline.ReadlineReader. prompt | 8 (define (readline-reader prompt) |
9 (org.gnu.readline.ReadlineReader. prompt (java.io.File. jscheme-history) | |
9 org.gnu.readline.ReadlineLibrary.GnuReadline$)) | 10 org.gnu.readline.ReadlineLibrary.GnuReadline$)) |
10 | 11 |
11 (org.gnu.readline.Readline.initReadline "jscheme") | 12 (org.gnu.readline.Readline.initReadline "jscheme") |
12 (org.gnu.readline.Readline.readInitFile "/Users/samer/.inputrc") | 13 (org.gnu.readline.Readline.readInitFile "/Users/samer/.inputrc") |
13 (set! current-readline-reader (readline-reader ":")) | 14 (set! current-readline-reader (readline-reader ":")) |
14 (.setInput (jsint.Scheme.currentEvaluator) (jsint.InputPort. current-readline-reader)) | 15 (.setInput (jsint.Scheme.currentEvaluator) (jsint.InputPort. current-readline-reader)) |
15 (define (set-prompt prompt) (.setPrompt current-readline-reader prompt)) | 16 (define (set-prompt prompt) (.setPrompt current-readline-reader prompt)) |
16 | 17 |
17 | 18 |
18 ; this seems to stop terminal getting confused after exit | 19 ; this seems to stop terminal getting confused after exit |
19 (.addShutdownHook (Runtime.getRuntime) | 20 (.addShutdownHook (Runtime.getRuntime) |
20 (Thread. (lambda () | 21 (Thread. (lambda () |
21 (display "cleaning up readline.\n") | 22 (display "cleaning up readline.\n") |
23 (org.gnu.readline.Readline.writeHistoryFile jscheme-history) | |
22 (org.gnu.readline.Readline.cleanup)))) | 24 (org.gnu.readline.Readline.cleanup)))) |
23 | 25 |
24 | 26 |
25 ; enable completion by looking up words in jscheme's symbol table | 27 ; enable completion by looking up words in jscheme's symbol table |
26 (org.gnu.readline.Readline.setCompleter (samer.silk.SilkCompleter.)) | 28 (org.gnu.readline.Readline.setCompleter (samer.silk.SilkCompleter.)) |
27 (set-prompt ">") |