emacs clojure slime aquamacs paredit

emacs - ¿Cómo configurar Aquamacs para el desarrollo de Clojure?



slime paredit (6)

Intenté migrar a Emacs varias veces para el desarrollo de Clojure, siguiendo una variedad de publicaciones de blog, screencast y tutoriales, pero en algún punto del camino algo siempre salió mal: combinaciones de teclas que no funcionaron, versiones incompatibles, etc., y me encontré a mí mismo luchando de regreso a Vim. Pero sé que quiero Paredit y SLIME.

Por lo tanto, voy a intentarlo de nuevo, esta vez respaldado por la poderosa comunidad StackOverflow ™.

Espero que la respuesta a esta pregunta permanezca actualizada y pueda servir como referencia para conversos tentativos como yo.

Lo que me gustaría es: - La última versión estable de Clojure - Aquamacs (si es lo suficientemente bueno para Rich Hickey, es lo suficientemente bueno para mí), una versión reciente - Modo Clojure - SLIME / SWANK - Paredit - ¿Algo más que sea indispensable?

Las instrucciones paso a paso para instalar lo anterior serían excelentes, preferiblemente en formato de script de shell. También me gustaría obtener algunos consejos sobre cómo comenzar con las acciones más comunes relacionadas con Clojure (incluidas las vinculaciones de teclas), incluidos enlaces a documentación y hojas de prueba.



Descargue e instale Aquamacs.

Descargue e instale ELPA ( http://tromey.com/elpa/install.html )

Hacer paquetes de listas de paquetes Mx

Marque las líneas llamadas "clojure-mode" y "swank-clojure" con "I" y luego presione "X".

Hecho.


Estos son los pasos que tomé para configurarlos sin usar ELPA. Espero que esto ayude.

Obtén SLIME usando MacPorts

sudo port -v install slime

Obtener un crédito

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

Obtenga clojure y clojure-contrib

  • Ya sea usando MacPorts

sudo port -v install clojure clojure-contrib

  • O descargando directamente

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

Obtén clojure-mode y swank-clojure (lado de Emacs)

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

Obtener swank-clojure (lado Clojure)

  • Ya sea descargando archivo jar preconstruido

curl -O http://repo.technomancy.us/swank-clojure-1.1.0.jar

  • O construyendo desde la fuente (suponiendo que esté instalado lein)

cd path/to/dir/swank-clojure lein jar

Coloque los archivos clojure, clojure-contrib y swank-clojure .jar en ~ / .swank-clojure o ~ / .clojure (los lugares predeterminados donde swank-clojure.el los busca).

Agregue a ~ / .emacs o ~ / Library / Preferences / Aquamacs Emacs / customization.el (cambie las rutas para que coincidan con su propia configuración)

(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/*")))


Hoy me dirigiría a https://github.com/tehcurtis/aquamacs-emacs-starter-kit/network

esto es para ruby ​​y no funcionará al principio, pero de todos modos. git clone y copie cosas en Preferences.el según el archivo léame. Arregle las fallas editando ~ / Library / Preferences / Aquamacs Emacs / y comente casi todo en modes.el (solo tengo (setq-default sangr-tab-mode nil) en el archivo)

La parte buena: has instalado elpa-package-manager con menos complicaciones

Ahora usa

M-x package-list-packages

ir

clojure-mode (press I) slime (press I) slime-repl (press I) Press X to install

hecho.

Advertencia: clojure-jack-in no funcionará así que tienes que

M-x slime-connect

y presione enter dos e y para comenzar.


Parece que hay una manera bastante fácil de configurar Aquamacs 2.4 y SLIME para clojure:

  1. Instalar Clojure
  2. Instale Aquamacs 2.4 desde aquí "http://aquamacs.org/"
  3. Instale el paquete Aquamacs SLIME desde aquí "http://aquamacs.org/download.shtml"

Esto no funcionará así que ...

  1. Obtenga la última versión de SLIME desde aquí "http://common-lisp.net/project/slime/#downloading" - desea el archivo tar de instantáneas de CVS
  2. Desempaquete el archivo tar SLIME y cópielo en / Library / Application Support / Aquamacs Emacs / SLIME

Parece que funciona bien para mí ...


Sé que OP quiere usar Emacs para Clojure dev. Soy fan de emacs, pero me pareció que usar Enclojure ( http://www.enclojure.org/home ) es una gran manera de comenzar rápidamente con la piratería de Clojure.