Releases: clojure-emacs/clojure-mode
Releases · clojure-emacs/clojure-mode
clojure-mode 5.13
New features
- #590: Extend
clojure-rename-ns-alias
to work on selected regions. - #567: Add new commands
clojure-toggle-ignore
,clojure-toggle-ignore-surrounding-form
, andclojure-toggle-defun
for inserting/deleting #_ ignore forms. - #582: Add
clojure-special-arg-indent-factor
to control special argument indentation.
Bugs fixed
- #588: Fix font-lock for character literals.
- Stop
clojure-sort-ns
from callingredisplay
.
Changes
clojure-mode 5.12.0
New features
- #556:
clojure-rename-ns-alias
picks up existing aliases for minibuffer completion.
Bugs fixed
- #565: Fix extra spaces being inserted after quote in paredit-mode.
- #544: Fix docstring detection when string contains backslash.
- #547: Fix font-lock regex for character literals for uppercase chars and other symbols.
- #556: Fix renaming of ns aliases containing regex characters.
- #555: Fix ns detection for ns forms with complex metadata.
- #550: Fix
outline-regexp
sooutline-insert-heading
behaves correctly. - #551: Indent
clojure-align
region before aligning. - #520: Fix allow
clojure-align-cond-forms
to recognize qualified forms. - #404/#528: Fix syntax highlighting for multiple consecutive comment reader macros (
#_#_
).
Changes
- Inline definition of
clojure-mode-syntax-table
and support'
quotes in symbols. - Enhance add arity refactoring to support a
defn
inside a reader conditional. - Enhance add arity refactoring to support new forms:
letfn
,fn
,defmacro
,defmethod
,defprotocol
,reify
andproxy
.
clojure-mode 5.11
New features
- #496: Highlight
[[wikilinks]]
in comments. - #366: Add support for renaming ns aliases (
clojure-rename-ns-alias
, default bindingC-c C-r n r
). - #410: Add support for adding an arity to a function (
clojure-add-arity
, default bindingC-c C-r a
).
Bugs fixed
- Dynamic vars whose names contain non-alphanumeric characters are now font-locked correctly.
- #445 (comment): Proper font-locking for namespaced keywords like for example
(s/def ::keyword)
. - #508: Fix font-locking for namespaces with metadata.
- #506:
clojure-mode-display-version
correctly displays the package's version. - #445, #405, #469: Correct font-locking on string definitions with docstrings, e.g:
(def foo "doc" "value")
. Correct indentation as well. - #518: Fix
clojure-find-ns
when there's anns
form inside a string. - #530: Prevent electric indentation within inlined docstrings.
Changes
- #524: Add proper indentation rule for
delay
(same as forfuture
). - #538: Refactor
clojure-unwind
to take numeric prefix argument for unwinding N steps, and universal argument for unwinding completely. The dedicatedC-c C-r a
binding forclojure-unwind-all
is now removed and replaced with the universal arg conventionC-u C-c C-r u
.
clojure-mode 5.10
New features
- Recognize Gradle projects using the new Kotlin DSL (
build.gradle.kts
). - #481: Support vertical alignment even in the presence of blank lines, with the new
clojure-align-separator
user option. - #483: Support alignment for reader conditionals, with the new
clojure-align-reader-conditionals
user option. - #497: Indent "let", "when" and "while" as function form if not at start of a symbol.
Bugs fixed
Changes
- Change the accepted values of
clojure-indent-style
from keywords to symbols.
clojure-mode 5.7.0
New features
- 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.
- #471: Support tagged maps (new in Clojure 1.9) in paredit integration.
- Consider
deps.edn
a project root. - #467: Make
prog-mode-map
the parent keymap forclojure-mode-map
.
Changes
- Drop support for CLJX.
- Remove special font-locking of Java interop methods & constants: There is no semantic distinction between interop methods, constants and global vars in Clojure.
Bugs fixed
- #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
. - Fix namespace font-locking: namespaces may also contain non alphanumeric chars.
clojure-mode 5.6.0
New features
- 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
.
Changes
clojure-mode
now requires Emacs 24.4.
clojure-mode 5.5.0
New features
- 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.
clojure-mode 5.4
New features
- 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
.
clojure-mode 5.3
Bugs fixed
- #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.
New features
- #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
.