2012-08-10 19 views
18

SICP okuyorum ve homebrew aracılığıyla benim x 10.8 dizüstü bilgisayarımda mit-scheme yüklü kullanıyorum.mit-scheme komut satırı geçmişi ve sekme tamamlama ile REPL

Her şey reklamı yapılan gibi çalışır, ancak Python ve Node.js. gibi çalışma zamanları için REPL'lerde sekme tamamlama ve komut satırı geçmişini edinme kolaylığı ile şımartılır.

Ağır bir şey aramıyorum, ancak bu özellikler modern REPL'lerde (Python'da sadece a simple startup file ve a few lines in Node.js'da uygulanabilir) oldukça kolay.

Bir ağır iş başvurusu olmadan veya emacs (örneğin, bir xterm terminalinde) geçiş yapmak zorunda kalmadan, tabla tamamlama ve komut geçmişini PL-planı REPL'de almanın kolay bir yolu var mı?

cevap

40

yükleyin readline wrapper:

brew install rlwrap

kurulduktan sonra rlwrap scheme size kalıcı bir geçmişi, parantez eşleme ve sekme tamamlama verecektir. Genellikle aşağıdaki argümanlarla rlwrap kullanırım:

-r Tamamlama listesindeki giriş ve çıkışta görülen tüm kelimeleri koyun.

-c Komple dosya adları

sekme tamamlanması için kullanılacak kelimelerin bir listesini belirtin -f. MIT Scheme Reference Manual'dan kısaltılmış bir bağlama listesi kullanıyorum. Buradaki listeyi yeniden yayınlamak yerine, this gist içinde bulabilirsiniz. Ben

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. 
+0

Aşk bu /scheme_completion.txt "$ HOME" saklanan bu dosya var. Bu da diğer programlar için gerçekten yararlı görünüyor. –