Sto facendo i miei primi passi con Clojure, ma per qualche motivo i tasti su/giù non mi permettono di scorrere la cronologia dei comandi nel REPL come nei REPL di altri linguaggi. Il REPL Clojure usa chiavi diverse per accedere alla cronologia dei comandi, o questa funzionalità non è ancora implementata (ancora)?Cronologia in Clojure REPL
risposta
È possibile migliorare REPL per eseguire questa operazione utilizzando JLine, vedere here.
Se per caso si utilizza un ambiente simile a Unix, è possibile utilizzare rlwrap
per ottenere cose belle come la cronologia della riga di comando e Ctrl-R per la ricerca.
anteponi tuo comando che si usa per avviare repl, per esempio:
rlwrap java -cp clojure.jar clojure.main
ha funzionato bene, su os x. Ho appena fatto "brew install rlwrap" ed ero pronto per partire. Anche Lein funziona alla grande. – jtruelove
il comando precedente non ha funzionato per me, ma una variante più semplice ha fatto: rlwrap lein repl –
@JeroenvanDijk: il comando precedente funziona anche se non è stato installato lein, ma si presuppone che si imposti il classpath (il ' cp' parametro) per puntare correttamente al vaso del clojure, in questo caso nella stessa directory. Se si utilizza lein (che in realtà è il metodo consigliato) non è necessario digitare 'rlwrap' affatto - viene fornito con questa funzionalità, provalo - solo' lein repl'. –
Oppure utilizzare Leiningen o torta. Ciascuno di questi è utile in generale, e sarai felice di imparare a usarli, ma in particolare usano automaticamente readline o jline dove disponibili.
+ 2! 'lein repl' è il tuo amico –
'lein swank' è anche tuo amico, quindi emacs fornirà evidenziazione della sintassi, paredit e altre chicche. – klang
Dipende dal REPL che si utilizza. I REPL più buoni hanno questa funzionalità e altro ancora.
Se si proviene da Java come utente Eclipse, ad esempio, è possibile utilizzare lo nREPL incorporato fornito dal plug-in in senso antiorario. Ho trovato questo più facile da usare rispetto alla configurazione di un ambiente Clojure dedicato separato.
C-, M-x melma-repl-forward-input C-, M-x slime-repl-back-input Passare alla voce di cronologia successiva/precedente.
http://common-lisp.net/project/slime/doc/html/Input-Navigation.html
Sono in esecuzione Ubuntu, JLine fissa la storia a discapito di rompere cancellare? –