Как я создаю Aquamacs для разработки Clojure?

Я попытался мигрировать на Emacs несколько раз для разработки Clojure, после множества сообщений в блоге, скринкаста и учебных руководств, но где-нибудь по пути что-то всегда шло не так, как надо - привязки клавиш, которые не работали, несовместимые версии, и т.д., и я боролся назад Vim. Но я знаю, что хочу Paredit и SLIME.

Так, я собираюсь попробовать еще раз, на этот раз поддержанный мощным Стеком сообщество Overflow™.

Я надеюсь, что ответ на этот вопрос останется актуальным, и может служить ссылкой для предварительных преобразований как я.

То, что я хотел бы:

  • Последняя стабильная версия Clojure
  • Aquamacs (если это достаточно хорошо для Богатого Пятна, это достаточно хорошо для меня), последняя версия
  • Режим Clojure
  • СЛИЗЬ/ЧВАНСТВО
  • Paredit
  • Что-либо еще это необходимо?

Пошаговые инструкции установить вышеупомянутое были бы превосходны - предпочтительно в формате сценария оболочки. Я также хотел бы некоторые подсказки, как начать с наиболее распространенными Clojure-связанными действиями (включая привязки клавиш), включая ссылки на документацию и cheatsheets.

31
задан Boann 25 July 2019 в 12:56
поделиться

4 ответа

Это шаги, которые я взял, чтобы установить их без использования ELPA. Надеюсь это поможет.

Получить слизь, используя MacPorts

sudo port -v install slime

Получить PareDit

curl -O http://mumble.net/~campbell/emacs/paredit.el

Получить CLOJURE & CLOJURE-ВКЛЮЧЕНИЕ

  • , используя MACPPORTS
sudo port -v install clojure clojure-contrib
  • , либо загружать напрямую
curl -O http://build.clojure.org/snapshots/org/clojure/clojure/1.1.0-master-SNAPSHOT/clojure-1.1.0-master-20091202.150145-1.jar
curl -O http://build.clojure.org/snapshots/org/clojure/clojure-contrib/1.1.0-master-SNAPSHOT/clojure-contrib-1.1.0-master-20091212.205045-1.jar

Получить режим Clojure и Swank-Clojure (EMACS)

git clone http://github.com/technomancy/clojure-mode.git
git clone http://github.com/technomancy/swank-clojure.git

Получите Swank-Clojure (сторона Clojure)

  • , либо загрузка предварительно встроенного файла JAR
curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar
  • или создание из источника (при условии, что установлен Lein)
cd path/to/dir/swank-clojure
lein jar

Положите CLOJURE, CLOJURE-INPUT и SWANK-CLOJURE. /.swank-Clojure или ~ / .Clojure (места по умолчанию, где Swank-Clojure.el ищет их).


Добавить в ~ / .emacs или ~ / библиотеку / предпочтения / aquamacs emacs / statuation.el (изменение путей, чтобы соответствовать вашим собственным настройкам)

(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime/")
(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime/contrib/")
;; Change these paths to match your settings
(add-to-list 'load-path "path/to/dir/clojure-mode/")
(add-to-list 'load-path "path/to/dir/swank-clojure/")
(add-to-list 'load-path "path/to/dir/paredit/")

;; Customize swank-clojure start-up to reflect possible classpath changes
;; M-x ielm `slime-lisp-implementations RET or see `swank-clojure.el' for more info 
(defadvice slime-read-interactive-args (before add-clojure)
(require 'assoc)
(aput 'slime-lisp-implementations 'clojure
(list (swank-clojure-cmd) :init 'swank-clojure-init)))

(require 'slime)
(require 'paredit)
(require 'clojure-mode)
(require 'swank-clojure)

(eval-after-load "slime"
  '(progn
    ;; "Extra" features (contrib)
    (slime-setup 
     '(slime-repl slime-banner slime-highlight-edits slime-fuzzy))
    (setq 
     ;; Use UTF-8 coding
     slime-net-coding-system 'utf-8-unix
     ;; Use fuzzy completion (M-Tab)
     slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
    ;; Use parentheses editting mode paredit
    (defun paredit-mode-enable () (paredit-mode 1))
    (add-hook 'slime-mode-hook 'paredit-mode-enable)
    (add-hook 'slime-repl-mode-hook 'paredit-mode-enable)))

;; By default inputs and results have the same color
;; Customize result color to differentiate them
;; Look for `defface' in `slime-repl.el' if you want to further customize
(custom-set-faces
 '(slime-repl-result-face ((t (:foreground "LightGreen")))))

(eval-after-load "swank-clojure"
  '(progn
    ;; Make REPL more friendly to Clojure (ELPA does not include this?)
    ;; The function is defined in swank-clojure.el but not used?!?
    (add-hook 'slime-repl-mode-hook
      'swank-clojure-slime-repl-modify-syntax t)
    ;; Add classpath for Incanter (just an example)
    ;; The preferred way to set classpath is to use swank-clojure-project
    (add-to-list 'swank-clojure-classpath 
"path/to/incanter/modules/incanter-app/target/*")))
7
ответ дан 27 November 2019 в 22:50
поделиться

Скачать и установить Aquamacs.

Скачать и установить ELPA ( http://troomey.com/elpa/install.html )

DO MX Package-Packages

Отметьте линии под названием «Clojure-Mode» И «Swank-Clojure» с «я», затем нажмите «X».

сделано.

5
ответ дан 27 November 2019 в 22:50
поделиться

Вот пост в блоге, который упоминает Aquamacs: Настройка Clojure, Ancanter, Emacs, Slime, Swank и Paredit

5
ответ дан 27 November 2019 в 22:50
поделиться

Я знаю, что операционная хочет использовать Эмакс для Клоджур Дев. Я сам фанат Emacs, но я нашел использование Enclojure (http://www.enclojure.org/home) отличным способом быстро начать со взлома Clojure.

0
ответ дан 27 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: