From a65403011e930fceaa59664dceabdee27b4c4cb4 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 23 Feb 2020 16:23:36 -0500 Subject: [PATCH] lang/clojure: add +lsp support --- docs/modules.org | 2 +- modules/lang/clojure/config.el | 14 ++++++++++++++ modules/lang/clojure/packages.el | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) 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)