forked from FG42/FG42
clojure extension added
This commit is contained in:
parent
45ea6e1e4a
commit
1e3e6f6b2c
|
@ -1,5 +1,5 @@
|
||||||
(add-to-list 'load-path (concat (getenv "FG42_HOME") "/lib"))
|
(add-to-list 'load-path (concat (getenv "FG42_HOME") "/lib"))
|
||||||
;(toggle-debug-on-error)
|
(toggle-debug-on-error)
|
||||||
(require 'fg42)
|
(require 'fg42)
|
||||||
|
|
||||||
;; Load the default theme
|
;; Load the default theme
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
'editor-theme
|
'editor-theme
|
||||||
'javascript
|
'javascript
|
||||||
'php
|
'php
|
||||||
|
'clojure
|
||||||
'python
|
'python
|
||||||
'ruby)
|
'ruby)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
(require 'fpkg)
|
||||||
|
(require 'fg42/extension)
|
||||||
|
(require 'extensions/clojure/init)
|
||||||
|
|
||||||
|
;; Dependencies ----------------------------------
|
||||||
|
(depends-on 'clojure-mode)
|
||||||
|
(depends-on 'cider)
|
||||||
|
(depends-on 'hl-sexp)
|
||||||
|
(depends-on 'paredit)
|
||||||
|
(depends-on 'flycheck)
|
||||||
|
(depends-on 'flycheck-clojure)
|
||||||
|
(depends-on 'clj-refactor)
|
||||||
|
(depends-on 'let-alist)
|
||||||
|
(depends-on 'flycheck-clojure)
|
||||||
|
|
||||||
|
;; Extension -------------------------------------
|
||||||
|
(extension clojure
|
||||||
|
:version "2.31"
|
||||||
|
:on-initialize extensions/clojure-initialize)
|
||||||
|
|
||||||
|
(provide 'extensions/clojure)
|
|
@ -0,0 +1,62 @@
|
||||||
|
;;;###autoload
|
||||||
|
(defun extensions/clojure-initialize ()
|
||||||
|
; Clojure development initialization
|
||||||
|
(ability clojure-editor ('flycheck)
|
||||||
|
(setq tmp-directory "~/.tmp")
|
||||||
|
(setq cider-repl-history-file tmp-directory)
|
||||||
|
|
||||||
|
;; nice pretty printing
|
||||||
|
(setq cider-repl-use-pretty-printing t)
|
||||||
|
|
||||||
|
;; nicer font lock in REPL
|
||||||
|
(setq cider-repl-use-clojure-font-lock t)
|
||||||
|
|
||||||
|
;; result prefix for the REPL
|
||||||
|
(setq cider-repl-result-prefix ";; => ")
|
||||||
|
|
||||||
|
;; never ending REPL history
|
||||||
|
(setq cider-repl-wrap-history t)
|
||||||
|
|
||||||
|
;; looong history
|
||||||
|
(setq cider-repl-history-size 3000)
|
||||||
|
|
||||||
|
;; eldoc for clojure
|
||||||
|
(add-hook 'cider-mode-hook #'eldoc-mode)
|
||||||
|
|
||||||
|
;; error buffer not popping up
|
||||||
|
(setq cider-show-error-buffer nil)
|
||||||
|
(require 'hl-sexp)
|
||||||
|
|
||||||
|
;; Paredit
|
||||||
|
(require 'paredit)
|
||||||
|
(add-hook 'clojure-mode-hook #'paredit-mode)
|
||||||
|
(add-hook 'cider-repl-mode-hook #'paredit-mode)
|
||||||
|
|
||||||
|
(add-hook 'clojure-mode-hook #'hl-sexp-mode))
|
||||||
|
|
||||||
|
(ability clojure-completion ('code-completion)
|
||||||
|
;; company mode for completion
|
||||||
|
(add-hook 'cider-repl-mode-hook #'company-mode)
|
||||||
|
(add-hook 'cider-mode-hook #'company-mode))
|
||||||
|
|
||||||
|
(ability clojure-refactore ()
|
||||||
|
|
||||||
|
(add-hook 'clojure-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(clj-refactor-mode 1)
|
||||||
|
;; insert keybinding setup here
|
||||||
|
(cljr-add-keybindings-with-prefix "C-c RET")))
|
||||||
|
|
||||||
|
(add-hook 'clojure-mode-hook #'yas-minor-mode)
|
||||||
|
|
||||||
|
;; no auto sort
|
||||||
|
(setq cljr-auto-sort-ns nil)
|
||||||
|
|
||||||
|
;; do not prefer prefixes when using clean-ns
|
||||||
|
(setq cljr-favor-prefix-notation nil))
|
||||||
|
|
||||||
|
(ability clojure-check ('flycheck)
|
||||||
|
(eval-after-load 'flycheck '(flycheck-clojure-setup))
|
||||||
|
(add-hook 'after-init-hook #'global-flycheck-mode)))
|
||||||
|
|
||||||
|
(provide 'extensions/clojure/init)
|
Loading…
Reference in New Issue