Стандартный REPL Clojure с редактором буфера?

я не ищу IDE или интегрированный REPL. Я просто хотел спросить, знает ли кто-нибудь, можно ли иметь редактор буферов в REPL, известный из psql или некоторых * nix-оболочек.

Например, в psql вы просто вводите "\ e", и вы получаете последнюю команду в своем РЕДАКТОРЕ, и после этого она будет выполнена.

Это было бы здорово для clojure repl.

$ java -cp jline.jar:clojure-1.3.0.jar jline.ConsoleRunner clojure.main

Так есть ли такая особенность? Где это должно быть реализовано, в jline?

Решение:

rlwrap помогает.

Мне пришлось скомпилировать строку чтения ftp: //ftp.gnu.org / gnu / readline / , а затем rlwrap http://utopia.knoware.nl/~hlub/rlwrap/#rlwrap .

После этого я мог использовать следующий ярлык для запуска редактора.

Ctrl + ^

rlwrap -m - java -cp clojure-1.3.0.jar clojure.main

Для использования с leiningen в Mac OSX мне пришлось изменить следующее:

lein 1.6.2
*** 226,233 ****
              rlwrap -m -q '"' echo "hi" > /dev/null 2>&1
              if [ $? -eq 0 ]; then
                  RLWRAP="$RLWRAP -r -m -q '\"'"
-             else
-                 RLWRAP="$RLWRAP -m --"
              fi
          fi
      fi
--- 226,231 ----

и экспортировать RLWRAP_EDITOR

экспорт RLWRAP_EDITOR = "vim +% L"

6
задан Benjamin Peter 21 January 2012 в 09:39
поделиться