что именно делает clojure-jack-in? И как настроить параметры слизи?

что именно делает clojure-jack-in? И как настроить параметры слизи? Что мне нужно добавить в .emacs?


person flyingfoxlee    schedule 30.08.2011    source источник


Ответы (1)


clojure-jack-in запускает сеанс SLIME для вашего текущего проекта.

Он делает это, генерируя случайный номер порта, запуская lein jack-in с этим номером порта в подпроцессе, ожидая запуска swank-сервера, а затем вызывая slime-connect с номером порта.

Поскольку lein jack-in используется для запуска сервера swank, вам, очевидно, нужно использовать Leiningen в своем проекте, и вам необходимо установить плагин swank-clojure для Leiningen, либо установив его как отдельный плагин (lein plugin install swank-clojure 1.3.2), либо включив это как dev-зависимость в вашем project.clj.

Со стороны Emacs вам необходимо установить clojure-mode, желательно из Marmalade. Вам не нужно ничего добавлять к вашему .emacs.

Разница между использованием lein jack-in (через M-x clojure-jack-in) и запуском lein swank заключается в том, что clojure-jack-in также загружает версию SLIME, связанную с подключаемым модулем swank-clojure Leiningen, вместо версии SLIME, установленной в Emacs. Я не уверен, в чем причина этого, по-видимому, просто для того, чтобы убедиться, что версия SLIME совместима с сервером swank.

person Christian Berg    schedule 30.08.2011
comment
Другая причина заключается в том, что версия SLIME, используемая с swank-clojure, не работает должным образом с большинством реализаций Common Lisp и лишена некоторых своих функций. - person Bozhidar Batsov; 30.08.2011
comment
Вы знаете, почему эти функции были лишены? Я никогда не сталкивался с проблемами со стандартной версией SLIME и swank-clojure, теперь я использую clojure-jack-in в основном для удобства. - person Christian Berg; 30.08.2011
comment
Я помню, что некоторые команды перекрестных ссылок отсутствовали, а также не все из slime-fancy. В какой-то момент нечеткое завершение отсутствовало, но я думаю, что с тех пор оно было добавлено. Давно не использовал Clojure, и мои воспоминания немного смутны. Я думаю, что подсветка параметров Slime не реализована. - person Bozhidar Batsov; 30.08.2011
comment
Запуск шикарного сервера... ad-handle-definition: slime-note.message' got redefined Connecting to Swank on port 64608.. [2 times] Versions differ: 2011-08-26 (slime) vs. 20100404 (swank). Continue? (y or n) Connected. Let the hacking commence! Lisp connection closed unexpectedly: connection broken by remote peer if: Not connected. Use M-x slime' для запуска Лиспа. - person flyingfoxlee; 30.08.2011
comment
@ChristianBerg Речь идет не об урезанных функциях, а о swank-clojure, нацеленном на древние версии SLIME, которые ни один другой бэкэнд не использует, и точка. - person p_l; 24.05.2012