Как правильно настроить завершение кода CIDER в Emacs?
Я установил CIDER в мой Emacs, а когда я в cider-mode
(Также в clojure-mode
) и я пытаюсь использовать M-TAB для завершения кода, которое я получаю
Не является объектом nREPL dict: %
где %
это произвольная функция. Например, если я пытаюсь сделать завершение кода для map
в этом ряду:
(ma
Я вижу следующее в буфере сообщений:
завершение - кое-что: не объект диктовки nREPL: карта
Я сделал Tabula Rasa в моем Emacs, так что мой init.el
выглядит так:
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives
'("tromey" . "http://tromey.com/elpa/") t)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar my-packages
'(paredit
clojure-mode
clojure-mode-extra-font-locking
cider))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
Я заметил одну интересную вещь. Когда я делаю cider-jack-in
Я подключаюсь к nREPL и в буфере REPL вижу следующее:
ВНИМАНИЕ: Версия CIDER (снимок 0.13.0) не соответствует версии cider-nrepl (nil). Вещи сломаются!
Что я делаю неправильно? Я не могу заставить завершение кода CIDER работать. Он также не работает даже с простой опцией M-TAB.
Я использую Emacs 24.3.1.
1 ответ
Это именно проблема:
ВНИМАНИЕ: Версия CIDER (снимок 0.13.0) не соответствует версии cider-nrepl (nil). Вещи сломаются!
Cider состоит из двух частей: пакета emacs (CIDER) и закрытой части cider-nrepl. Второй - промежуточное ПО для закрытия (etwork)-repl
Поскольку разработка сидра идет быстро, обе версии должны совпадать. (А также вы должны всегда использовать последнюю версию, что вы делаете сейчас:))
Вы можете добавить это в свой project.clj или oder profiles.clj
:plugins [[cider/cider-nrepl "0.13.0-SNAPSHOT"]]
есть также много документации по адресу https://cider.readthedocs.io/en/latest/ и по репозиторию github https://github.com/clojure-emacs/cider