Version 5.19.0 of package Clojure-Mode has just been released in NonGNU ELPA. You can now find it in M-x list-packages RET.
Clojure-Mode describes itself as: =========================== Major mode for Clojure code =========================== More at https://elpa.nongnu.org/nongnu/clojure-mode.html ## Summary: Provides font-lock, indentation, navigation and basic refactoring for the Clojure programming language (https://clojure.org). Using clojure-mode with paredit or smartparens is highly recommended. Here are some example configurations: ;; require or autoload paredit-mode (add-hook 'clojure-mode-hook #'paredit-mode) ;; require or autoload smartparens (add-hook 'clojure-mode-hook #'smartparens-strict-mode) See inf-clojure (https://github.com/clojure-emacs/inf-clojure) for basic interaction with Clojure subprocesses. ## Recent NEWS: # Changelog ## master (unreleased) ## 5.19.0 (2024-05-26) ### Bugs fixed * Fix `clojure-align` when called from `clojure-ts-mode` major mode buffers. * [#671](https://github.com/clojure-emacs/clojure-mode/issues/671): Syntax highlighting for digits after the first in `%` args. (e.g. `%10`) - [#680](https://github.com/clojure-emacs/clojure-mode/issues/680): Change syntax class of ASCII control characters to punctuation, fixing situations where carriage returns were being interpreted as symbols # Changes * [#675](https://github.com/clojure-emacs/clojure-mode/issues/675): Add `.lpy` to the list of known Clojure file extensions. ## 5.18.1 (2023-11-24) ### Bugs fixed * [#653](https://github.com/clojure-emacs/clojure-mode/issues/653): Don't highlight vars with colons as keywords. ## 5.18.0 (2023-10-18) ### Changes * [cider#2903](https://github.com/clojure-emacs/cider/issues/2903): Avoid `No comment syntax is defined` prompts. ## 5.17.1 (2023-09-12) ### Changes * Declare indentation for the `async` ClojureScript macro. ## 5.17.0 (2023-09-11) ### Changes * Improve support for multiple forms in the same line by replacing `beginning-of-defun` fn. ### Bugs fixed * [#656](https://github.com/clojure-emacs/clojure-mode/issues/656): Fix clojure-find-ns when ns form is preceded by other forms. * [#593](https://github.com/clojure-emacs/clojure-mode/issues/593): Fix clojure-find-ns when ns form is preceded by whitespace or inside comment form. ## 5.16.2 (2023-08-23) ### Changes * `clojure-find-ns`: add an option to never raise errors, returning nil instead on unparseable ns forms. ## 5.16.1 (2023-06-26) ### Changes * Font-lock Lein's `defproject` as a keyword. ### Bugs fixed * [#645](https://github.com/clojure-emacs/clojure-mode/issues/645): Fix infinite loop when sorting a ns with comments in the end. * [#586](https://github.com/clojure-emacs/clojure-mode/issues/586): Fix infinite loop when opening file containing `comment` with `clojure-toplevel-inside-comment-form` set to `t`. ## 5.16.0 (2022-12-14) ### Changes * [#641](https://github.com/clojure-emacs/clojure-mode/issues/641): Recognize nbb projects (identified by the presence of `nbb.edn`). * [#629](https://github.com/clojure-emacs/clojure-mode/pull/629): Set `add-log-current-defun-function` to new function `clojure-current-defun-name` (this is used by `which-function-mode` and `easy-kill`). ### Bugs fixed * [#581](https://github.com/clojure-emacs/clojure-mode/issues/581): Fix font locking not working for keywords starting with a number. * [#377](https://github.com/clojure-emacs/clojure-mode/issues/377): Fix everything starting with the prefix `def` being highlighted as a definition form. Now definition forms are enumerated explicitly in the font-locking code, like all other forms. * [#638](https://github.com/clojure-emacs/clojure-mode/pull/638): Fix imenu with Clojure code in string or comment. ## 5.15.1 (2022-07-30) ### Bugs fixed * [#625](https://github.com/clojure-emacs/clojure-mode/issues/625): Fix metadata being displayed in `imenu` instead of var name. ## 5.15.0 (2022-07-19) ### Changes * [#622](https://github.com/clojure-emacs/clojure-mode/issues/622): Add font locking for missing `clojure.core` macros. * [#615](https://github.com/clojure-emacs/clojure-mode/issues/615): Support clojure-dart files. ### Bugs fixed * [#595](https://github.com/clojure-emacs/clojure-mode/issues/595), [#612](https://github.com/clojure-emacs/clojure-mode/issues/612): Fix buffer freezing when typing metadata for a definition. ## 5.14.0 (2022-03-07) ### New features * Allow additional directories, beyond the default `clj[sc]`, to be correctly formulated by `clojure-expected-ns` via new `defcustom` entitled `clojure-directory-prefixes` * Recognize babashka projects (identified by the presence of `bb.edn`). * [#601](https://github.com/clojure-emacs/clojure-mode/pull/601): Add new command `clojure-promote-fn-literal` for converting `#()` function literals to `fn` form. ... ...
