Releases: clojure-emacs/clojure-mode
Releases · clojure-emacs/clojure-mode
clojure-mode 5.14
New features
- Allow additional directories, beyond the default
clj[sc], to be correctly formulated byclojure-expected-nsvia newdefcustomentitledclojure-directory-prefixes - Recognize babashka projects (identified by the presence of
bb.edn). - #601: Add new command
clojure-promote-fn-literalfor converting #() function literals tofnform
Changes
- #604: Add
bb(babashka) tointerpreter-mode-alist.
Bugs fixed
- #608 Fix alignment issue involving margin comments at the end of nested forms.
clojure-mode 5.13
New features
- #590: Extend
clojure-rename-ns-aliasto work on selected regions. - #567: Add new commands
clojure-toggle-ignore,clojure-toggle-ignore-surrounding-form, andclojure-toggle-defunfor inserting/deleting #_ ignore forms. - #582: Add
clojure-special-arg-indent-factorto control special argument indentation.
Bugs fixed
- #588: Fix font-lock for character literals.
- Stop
clojure-sort-nsfrom callingredisplay.
Changes
clojure-mode 5.12.0
New features
- #556:
clojure-rename-ns-aliaspicks 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-regexpsooutline-insert-headingbehaves correctly. - #551: Indent
clojure-alignregion before aligning. - #520: Fix allow
clojure-align-cond-formsto recognize qualified forms. - #404/#528: Fix syntax highlighting for multiple consecutive comment reader macros (
#_#_).
Changes
- Inline definition of
clojure-mode-syntax-tableand support'quotes in symbols. - Enhance add arity refactoring to support a
defninside a reader conditional. - Enhance add arity refactoring to support new forms:
letfn,fn,defmacro,defmethod,defprotocol,reifyandproxy.
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-versioncorrectly 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-nswhen there's annsform inside a string. - #530: Prevent electric indentation within inlined docstrings.
Changes
- #524: Add proper indentation rule for
delay(same as forfuture). - #538: Refactor
clojure-unwindto take numeric prefix argument for unwinding N steps, and universal argument for unwinding completely. The dedicatedC-c C-r abinding forclojure-unwind-allis 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-separatoruser option. - #483: Support alignment for reader conditionals, with the new
clojure-align-reader-conditionalsuser 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-stylefrom 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-regexpfor 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.edna project root. - #467: Make
prog-mode-mapthe 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-modeis 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-sexpandclojure-backward-logical-sexpwith 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-defmore 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-modenow 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/deflike adefform. - #367:
clojure-alignno 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.