diff --git a/docs/modules.org b/docs/modules.org index a0e7b9971..42045eb3f 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -92,7 +92,7 @@ Modules that bring support for a language or group of languages to Emacs. + [[file:../modules/lang/agda/README.org][agda]] - TODO + assembly - TODO + [[file:../modules/lang/cc/README.org][cc]] =+lsp= - TODO -+ clojure - TODO ++ clojure =+lsp= - TODO + common-lisp - TODO + [[file:../modules/lang/coq/README.org][coq]] - TODO + crystal - TODO diff --git a/modules/lang/clojure/config.el b/modules/lang/clojure/config.el index a609e93ae..32f3df9cc 100644 --- a/modules/lang/clojure/config.el +++ b/modules/lang/clojure/config.el @@ -13,10 +13,24 @@ ;;;###package clojure-mode (add-hook 'clojure-mode-hook #'rainbow-delimiters-mode) +(when (featurep! +lsp) + (add-hook! '(clojure-mode-local-vars-hook + clojurec-mode-local-vars-hook + clojurescript-mode-local-vars-hook) + (defun +clojure-disable-lsp-indentation-h () + (setq-local lsp-enable-indentation nil)) + #'lsp!) + (after! lsp-clojure + (dolist (m '(clojure-mode + clojurec-mode + clojurescript-mode + clojurex-mode)) + (add-to-list 'lsp-language-id-configuration (cons m "clojure")))) (use-package! cider ;; NOTE if `org-directory' doesn't exist, `cider-jack' in won't work + :unless (featurep! +lsp) :hook (clojure-mode-local-vars . cider-mode) :init (after! clojure-mode diff --git a/modules/lang/clojure/packages.el b/modules/lang/clojure/packages.el index b10e142f0..b80eaa379 100644 --- a/modules/lang/clojure/packages.el +++ b/modules/lang/clojure/packages.el @@ -1,7 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/clojure/packages.el -(package! cider :pin "7437c67f0e") +(unless (featurep! +lsp) + (package! cider :pin "7437c67f0e")) + (package! clj-refactor :pin "e24ba62843") (when (featurep! :checkers syntax)