rendered paste body;;;;Clojure config
(add-to-list 'load-path "~/elisp/mode/clojure")
(setq clojure-home "/opt/clojure/")
(autoload 'clojure-mode "clojure-mode" "A major mode for Clojure" t)
(add-to-list 'auto-mode-alist '("\\.clj$" . clojure-mode))
(defvar clj-cmd)
(setenv "CLJ_CMD"
(setq clj-cmd
(concat "java "
"-server "
"-Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888 "
"-cp "
(string-join ":"
(append
(list "./" "~/MY_Projects/java") ;папки, где java и clojure будут искать ваши файлы
(file-expand-wildcards (concat clojure-home "*.jar"))
))
" clojure.main")))
(add-to-list 'load-path "~/elisp/mode/slime")
(add-to-list 'load-path "~/elisp/mode/slime/contrib")
(setq slime-net-coding-system 'utf-8-unix)
(setq slime-lisp-implementations '((clojure ("clj-cmd") :init swank-clojure-init)))
(require 'slime)
(slime-setup)
(setq slime-use-autodoc-mode nil)
(eval-after-load "slime"
'(progn
(slime-setup '(slime-fancy slime-asdf slime-banner slime-fuzzy slime-repl))
(setq slime-complete-symbol*-fancy t)
(setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
))
(global-set-key [f5] 'slime)
;; swank-clojure
(setq swank-clojure-jar-path (concat clojure-home "clojure.jar"))
(setq swank-clojure-extra-classpaths (list
(concat clojure-home "clojure-contrib.jar")))
(require 'swank-clojure)
;; taken from Bill Climenson config
(defun slime-java-describe (symbol-name)
"Get details on Java class/instance at point."
(interactive (list (slime-read-symbol-name "Java Class/instance: ")))
(when (not symbol-name)
(error "No symbol given"))
(save-excursion
(set-buffer (slime-output-buffer))
(unless (eq (current-buffer) (window-buffer))
(pop-to-buffer (current-buffer) t))
(goto-char (point-max))
(insert (concat "(use 'clojure.contrib.repl-utils)" "(clojure.contrib.repl-utils/show " symbol-name ")"))
(when symbol-name
(slime-repl-return)
(other-window 1))))
(defun slime-javadoc (symbol-name)
"Get JavaDoc documentation on Java class at point."
(interactive (list (slime-read-symbol-name "JavaDoc info for: ")))
(when (not symbol-name)
(error "No symbol given"))
(set-buffer (slime-output-buffer))
(unless (eq (current-buffer) (window-buffer))
(pop-to-buffer (current-buffer) t))
(goto-char (point-max))
(insert (concat "(clojure.contrib.repl-utils/javadoc " symbol-name ")"))
(when symbol-name
(slime-repl-return)
(other-window 1)))