Вопрос

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

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

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

родовое слово

Итак, есть такая функция? Где это должно быть реализовано в 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 мне пришлось изменить следующее:

родовое слово

и экспортировать общий кодовый тег

RLWRAP_EDITOR

Это было полезно?

Решение

<▪rlwrap

Есть несколько способов добиться желаемого, но rlwrap двоичный файл делает то, что вам нужно.У меня также были проблемы с версией jline в прошлом на Mac OS X, поэтому я перестал его использовать.

Когда я набираю "clj" в своем терминале, он действительно выполняет REPL, заключенный в rlwrap, через следующий сценарий bash в /usr/local/bin/clj:

родовое слово

Поместите скрипт где угодно на вашем пути, чтобы использовать.

Наконец, вам не нужен сценарий, он у меня просто для удобства.Если rlwrap находится в вашей системе, а clj находится на вашем пути, вы можете просто ввести:

rlwrap clj

Дополнительное чтение из вики-книги Clojure: Улучшение Clojure REPL с помощью rlwrap

Другие советы

Смотрите мои ответы на вопросы Один REPL, чтобы связать их всех? и Как установить Clojure в Ubuntu 10.04 из репозитория Github без clojure.jar .Основные моменты:

  • Ни в коем случае не «устанавливайте» clojure.Установите Leiningen и позвольте ему управлять имеющимися у вас версиями clojure, а также настраивать правильные пути к классам для repl или другого использования.
  • Если вам нужно запустить clojure вручную, используйте rlwrap или другую программу чтения.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top