Подтвердить что ты не робот

Mit-scheme REPL с историей командной строки и завершением вкладки

Я читаю SICP, и я использую mit-scheme, установленный на моем ноутбуке os x 10.8 через homebrew.

Все работает так, как рекламируется, однако я испорчен легкостью, с которой я получаю завершение табуляции и историю командной строки в REPL для времени выполнения, такого как Python и Node.js.

Я не ищу ничего сложного, но эти функции довольно легко найти в современном REPL (просто простой загрузочный файл в Python и может быть реализовано в несколько строк в Node.js).

Есть ли простой способ получить завершение табуляции и историю команд в схеме слияния REPL без приложения большой нагрузки или переключиться на emacs (т.е. на терминале xterm)?

4b9b3361

Ответ 1

Установите оболочку readline:

brew install rlwrap

После установки rlwrap scheme даст вам постоянную историю, сопоставление парнов и завершение табуляции. Обычно я использую rlwrap со следующими аргументами:

-r Поместите все слова, отображаемые на входе и выходе в списке завершения.

-c Полное имя файла

-f Укажите список слов, используемых для завершения табуляции. Я использую сокращенный список привязок из справочного руководства MIT. Вместо того, чтобы переиздавать список здесь, вы можете найти его в этом значении. У меня этот файл хранится в "$ 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.