- Add imenu support for multimethods.
- Make imenu recognize indented def-forms.
- New interactive command
clojure-cycle-when
. - New interactive command
clojure-cycle-not
. - New defcustom
clojure-comment-regexp
for font-locking#_
or#_
AND(comment)
sexps. - #459: Add font-locking for new built-ins added in Clojure 1.9.
- Consider
deps.edn
a project root.
- Drop support for CLJX.
- #458: Get correct ns when in middle of ns form with
clojure-find-ns
- #447: When
electric-indent-mode
is on, force indentation from within docstrings. - #438: Filling within a doc-string doesn't affect surrounding code.
- Fix fill-paragraph in multi-line comments.
- #443: Fix behavior of
clojure-forward-logical-sexp
andclojure-backward-logical-sexp
with conditional macros. - #429: Fix a bug causing last occurrence of expression sometimes is not replaced when using
move-to-let
. - #423: Make
clojure-match-next-def
more robust against zero-arity def-like forms. - #451: Make project root directory calculation customized by
clojure-project-root-function
.
- Make
clojure--read-let-bindings
more robust solet
related refactorings do not bail on an incorrectly formatted binding form.
- New interactive command
clojure-mode-report-bug
. - New interactive command
clojure-view-guide
. - New interactive command
clojure-view-reference-section
. - New interactive command
clojure-view-cheatsheet
. - New interactive command
clojure-view-grimoire
. - New interactive command
clojure-view-style-guide
. - Make the refactoring keymap prefix customizable via
clojure-refactor-map-prefix
. - Port and rework
let
-related features fromclj-refactor
. Available features: introducelet
, move tolet
, forward slurp form intolet
, backward slurp form intolet
.
clojure-mode
now requires Emacs 24.4.
- #399: Fix fontification of prefix characters inside keywords.
- #394:
?
character is now treated as prefix when outside symbols. - #394:
#
character now has prefix syntax class. - Fixed indentation of
definterface
to match that ofdefprotocol
. - #389: Fixed the indentation of
defrecord
anddeftype
multiple airity protocol forms. - #393:
imenu-generic-expression
is no longer hard-coded and its global value is respected.
- Port cycle privacy, cycle collection type and cycle if/if-not from clj-refactor.el.
- Rework cycle collection type into convert collection to list, quoted list, map, vector, set.
- When aligning forms with
clojure-align
(or with the automatic align feature), blank lines will divide alignment regions. - #378: Font-lock escape characters in strings.
- Port threading macros related features from clj-refactor.el. Available refactorings: thread, unwind, thread first all, thread last all, unwind all.
- New command:
clojure-sort-ns
. - All ns manipulation commands have keybindings under
C-c C-r n
.
- #371: Don't font-lock
:foo/def
like adef
form. - #367:
clojure-align
no longer gets confused with commas. In fact, now it even removes extra commas.
- #370: Warn the user if they seem to have activated the wrong major-mode.
- Make the expected ns function configurable via
clojure-expected-ns-function
.
- #361: Fixed a typo preventing the highlighting of fn names that don't start with
t
. - #360:
clojure-align
now reindents after aligning, which also fixes an issue with nested alignings.
- #362: New custom option
clojure-indent-style
offers 3 different ways to indent code.
- Vertically align sexps with
C-c SPC
. This can also be done automatically (as part of indentation) by turning onclojure-align-forms-automatically
. - Indent and font-lock forms that start with
let-
,while-
orwhen-
like their counterparts. - Apply the
font-lock-comment-face
to code commented out with#_
. - Add indentation config for ClojureScript's
this-as
.
- Namespaces can now use the full palette of legal symbol characters.
- Namespace font-locking according to
clojure.lang.LispReader
. - Fixed the indentation for
specify
andspecify!
. - Fixed the docstring indentation for
defprotocol
.
- Don't treat the symbol
default-(something)
as def* macro. cider-find-ns
now returns the closestns
instead of the first one.- #344: Fixed the indentation of
extend-type
.
- #302: Add new sexp navigation commands.
clojure-forward-logical-sexp
andclojure-backward-logical-sexp
consider^hints
and#reader.macros
to be part of the sexp that follows them. - #303: Handle
boot
projects inclojure-expected-ns
. - Added dedicated modes for ClojureScript, ClojureC and ClojureX. All of them are derived from
clojure-mode
. - Added support for Gradle projects.
- Vastly improved indentation engine.
- Added support for reader conditionals.
- Improved font-locking of namespaced symbols.
- #310 and #311 Fix
clojure-expected-ns
in multi-source projects. - #307: Don't highlight
handle
andhandler-case
as keywords. - Fix font-locking for def with special chars such as:
defn*
,defspecial!
. - Numerous indentation issues.
- Add
.cljc
toauto-mode-alist
. - #281: Add support for namespace-prefixed definition forms.
- Remove
clojure-mark-string
. - #283: You can now specify different indentation settings for ns-prefixed symbols.
- #285: Require Emacs 24.3+.
- Prevent error when calling
indent-for-tab-command
at the start of the buffer at end of line. - #274: Correct font-locking of certain punctuation character literals.
- Fix font-locking of namespace-prefixed dynamic vars (e.g.
some.ns/*var*
). - #284: Fix the indentation of the
are
macro.
- Indent properly
as->
. - Revert the indentation settings for
->
,->>
,some->
andsome->>
.
- Removed
inferior-lisp
integration in favor ofinf-clojure
. - Indented the body of
cond
with 2 spaces. - Removed special indentation settings for
defstruct
,struct-map
andassoc
. - Added special indentation settings for
->
,->>
,cond->
,cond->>
,some->
andsome->>
.
- Numerous font-lock bug fixes.
- #260: Don't treat
@
as a word character. - #239: Indent properly multi-arity definitions.
- Added font-locking for namespaces and namespace aliases.
- Added font-locking for character literals.
- Added font-locking for constants.
- Added font-locking for dynamic vars.
- Added font-locking for
cljx
. - Various docstring filling improvements.
- Introduced additional faces for keyword literals, character literals and interop method invocations.
- Added support for
prettify-symbols-mode
.
- Emacs 24.1 is required.
- Removed deprecated
clojure-font-lock-comment-sexp
. - Renamed
clojure-mode-font-lock-setup
toclojure-font-lock-setup
. - Some font-locking was extracted to a separate package. (clojure-mode-extra-font-locking).
- Properly font-lock docstrings regardless of the presence of metadata or type hints.