From cbc0db1435418b2be131168dcdf90b4d0a6874d5 Mon Sep 17 00:00:00 2001 From: Vedang Manerikar <ved.manerikar@gmail.com> Date: Wed, 18 Dec 2024 14:10:52 +0530 Subject: [PATCH] Add flymake-kondor for integrating flymake with clj-kondo --- unravel-emacs.org | 46 ++++++++++++++++++++++++++++++++ unravel-modules/unravel-langs.el | 14 ++++++++++ 2 files changed, 60 insertions(+) diff --git a/unravel-emacs.org b/unravel-emacs.org index cd20c73..084b0f0 100644 --- a/unravel-emacs.org +++ b/unravel-emacs.org @@ -5361,7 +5361,16 @@ Clojure is my favorite programming language, and it has been my bread and butter (when (and (treesit-available-p) enable-clojure-ts-mode) (use-package clojure-ts-mode :ensure t)) +#+end_src +*** The =unravel-langs.el= Clojure section for ~cider~ +:PROPERTIES: +:CUSTOM_ID: h:92A8163E-68DA-49D2-A40F-69853FD7E68A +:CREATED: [2024-12-18 Wed 13:55] +:END: + +#+begin_src emacs-lisp :tangle "unravel-modules/unravel-langs.el" + ;;;; Cider provides tooling over nREPL for Clojure programming (use-package cider :ensure t :after (:any clojure-mode clojure-ts-mode) @@ -5371,7 +5380,16 @@ Clojure is my favorite programming language, and it has been my bread and butter NS is the namespace information passed into the function by cider." (concat ns ">\n")) (setq cider-repl-prompt-function #'cider-repl-prompt-on-newline)) +#+end_src +*** The =unravel-langs.el= Clojure section for ~clj-refactor~ +:PROPERTIES: +:CUSTOM_ID: h:DCA5B96F-E543-4CB9-8ECC-F73A6531CCEA +:CREATED: [2024-12-18 Wed 13:59] +:END: + +#+begin_src emacs-lisp :tangle "unravel-modules/unravel-langs.el" + ;;;; clj-refactor enables smart refactoring of Clojure code (use-package clj-refactor :ensure t :after (:any clojure-mode clojure-ts-mode) @@ -5385,11 +5403,39 @@ Clojure is my favorite programming language, and it has been my bread and butter ;; by hand (=add-missing= operation) after you've typed out what you ;; wanted to. (setq cljr-magic-requires nil)) +#+end_src +*** The =unravel-langs.el= Clojure section for ~flymake-kondor~ +:PROPERTIES: +:CUSTOM_ID: h:22939449-DC0E-4551-800D-396D5076C406 +:CREATED: [2024-12-18 Wed 14:03] +:END: + +#+begin_src emacs-lisp :tangle "unravel-modules/unravel-langs.el" + ;;;; flymake-kondor integrates flymake with clj-kondo, so that we get + ;;;; great linting without needing to start a REPL or LSP server. + (use-package flymake-kondor + :ensure t + :after (:any clojure-mode clojure-ts-mode flymake) + :ensure-system-package (clj-kondo) + :hook + ((clojure-mode . flymake-kondor-setup) + (clojure-ts-mode . flymake-kondor-setup))) +#+end_src + +*** The =unravel-langs.el= Clojure section for ~clojure-snippets~ and ~jet~ +:PROPERTIES: +:CUSTOM_ID: h:413C1A9A-BFC7-43B8-A062-3A81259DD794 +:CREATED: [2024-12-18 Wed 14:05] +:END: + +#+begin_src emacs-lisp :tangle "unravel-modules/unravel-langs.el" + ;;;; clojure-snippets are handy yasnippets for fast coding (use-package clojure-snippets :ensure t :after clojure-mode) + ;;;; jet is an external tool to convert between json, transit and edn (use-package jet :ensure t :config diff --git a/unravel-modules/unravel-langs.el b/unravel-modules/unravel-langs.el index 154f105..7c27ce4 100644 --- a/unravel-modules/unravel-langs.el +++ b/unravel-modules/unravel-langs.el @@ -208,6 +208,7 @@ (use-package clojure-ts-mode :ensure t)) +;;;; Cider provides tooling over nREPL for Clojure programming (use-package cider :ensure t :after (:any clojure-mode clojure-ts-mode) @@ -218,6 +219,7 @@ NS is the namespace information passed into the function by cider." (concat ns ">\n")) (setq cider-repl-prompt-function #'cider-repl-prompt-on-newline)) +;;;; clj-refactor enables smart refactoring of Clojure code (use-package clj-refactor :ensure t :after (:any clojure-mode clojure-ts-mode) @@ -232,10 +234,22 @@ NS is the namespace information passed into the function by cider." ;; wanted to. (setq cljr-magic-requires nil)) +;;;; flymake-kondor integrates flymake with clj-kondo, so that we get +;;;; great linting without needing to start a REPL or LSP server. +(use-package flymake-kondor + :ensure t + :after (:any clojure-mode clojure-ts-mode flymake) + :ensure-system-package (clj-kondo) + :hook + ((clojure-mode . flymake-kondor-setup) + (clojure-ts-mode . flymake-kondor-setup))) + +;;;; clojure-snippets are handy yasnippets for fast coding (use-package clojure-snippets :ensure t :after clojure-mode) +;;;; jet is an external tool to convert between json, transit and edn (use-package jet :ensure t :config