Advertisement
Guest User

clojure_init.el

a guest
Jul 6th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 2.39 KB | None | 0 0
  1. ;; ...
  2.  
  3. ;; Language Modes and config
  4. ;; =========================
  5.  
  6. ;; company mode - complete anything
  7. (use-package company
  8.   :ensure t
  9.   :config
  10.   (add-hook 'after-init-hook 'global-company-mode))
  11. ;; ... company backends ...
  12.  
  13. ;; flycheck
  14. (use-package flycheck
  15.   :ensure t
  16.   :init (global-flycheck-mode))
  17. (use-package flycheck-pos-tip ;; for flycheck-clojure
  18.   :ensure t
  19.   :after flycheck
  20.   :init
  21.   (setq flycheck-display-errors-function #'flycheck-pos-tip-error-messages))
  22.  
  23. ;; hl-todo
  24. (use-package hl-todo
  25.   :ensure t
  26.   :config
  27.   (add-hook 'prog-mode-hook 'hl-todo-mode))
  28.  
  29. ;;
  30. ;; ...
  31. ;;
  32.  
  33. ;; lisp-y
  34. (use-package paredit
  35.   :ensure t)
  36. (use-package rainbow-delimiters
  37.   :ensure t)
  38. (use-package aggressive-indent
  39.   :ensure t)
  40.  
  41. ;;
  42. ;; ...
  43. ;;
  44.  
  45. ;; clojure
  46. ;; =======
  47. (use-package cider
  48.   :ensure t
  49.   :init
  50.   (add-hook 'cider-mode-hook 'eldoc-mode)
  51.   :config
  52.   (setq nrepl-hide-special-buffers t)
  53.   (setq nrepl-log-messages t))
  54. (use-package helm-cider
  55.   :ensure t
  56.   :after cider
  57.   :config
  58.   (helm-cider-mode 1))
  59. (use-package flycheck-clojure
  60.   :ensure t
  61.   :after (flycheck cider)
  62.   :init
  63.   (flycheck-clojure-setup)
  64.   (add-hook 'after-init-hook #'global-flycheck-mode)
  65.   (add-hook 'cider-mode-hook
  66.         (lambda () (setq next-error-function #'flycheck-next-error-function))))
  67. (use-package clj-refactor
  68.   :ensure t)
  69. (use-package clojure-mode
  70.   :ensure t
  71.   :after (paredit rainbow-delimiters aggressive-indent cider flycheck-clojure clj-refactor projectile)
  72.   :init
  73.   (add-hook 'clojure-mode-hook #'paredit-mode)
  74.   (add-hook 'clojure-mode-hook #'rainbow-delimiters-mode)
  75.   (add-hook 'clojure-mode-hook #'aggressive-indent-mode)
  76.   (add-hook 'clojure-mode-hook #'show-paren-mode)
  77.   (add-hook 'clojure-mode-hook #'projectile-mode)
  78.   (add-hook 'clojure-mode-hook #'hl-todo-mode)
  79.   (add-hook 'clojure-mode-hook (lambda ()
  80.                  (clj-refactor-mode 1)
  81.                  (yas-minor-mode 1) ; for adding require/use/import statements
  82.                  (cljr-add-keybindings-with-prefix "M-RET")))
  83.   ;;(add-to-list 'company-etags-mode 'clojure-mode)
  84.   )
  85.  
  86. ;;
  87. ;; ...
  88. ;;
  89.  
  90. ;; flyspell (progn modes)
  91. (dolist (mode '(emacs-lisp-mode-hook
  92.                 inferior-lisp-mode-hook
  93.                 clojure-mode-hook
  94.                 python-mode-hook
  95.                 js2-mode-hook
  96.         sgml-mode-hook
  97.         json-mode-hook))
  98.   (add-hook mode
  99.             '(lambda ()
  100.                (flyspell-prog-mode))))
  101.  
  102. ;;
  103. ;; ...
  104. ;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement