带有命令行历史记录和制表符完成的mit-scheme REPL

aar*_*acy 22 read-eval-print-loop mit-scheme

我正在阅读SICP,我正在mit-scheme通过自制软件安装在我的os x 10.8笔记本电脑上.

一切都像宣传的那样工作,但是我很容易被REPL的标签完成和命令行历史记录所破坏,如Python和Node.js这样的运行时.

我不是在寻找任何重要的东西,但是这些功能在现代REPL中很容易实现(它只是一个简单的 Python 启动文件,可以在Node.js中用几行实现).

有没有一种简单的方法可以在没有重型应用程序或必须切换到emacs(即在xterm终端)中的mit-scheme REPL中获取选项卡完成和命令历史记录?

Bob*_*ton 49

安装readline包装器:

brew install rlwrap

安装后,rlwrap scheme将为您提供持久性历史记录,填充匹配和制表符完成.我通常使用带有以下参数的rlwrap:

-r将完成列表中的输入和输出中显示的所有单词放在上面.

-c完整的文件名

-f指定用于制表符完成的单词列表.我正在使用麻省理工学院计划参考手册中的简化绑定列表.您可以在此要点中找到它,而不是在此重新发布列表.我将此文件存储在"$ 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.
Run Code Online (Sandbox Code Playgroud)