Skip to content

Releases: clojure-emacs/clojure-mode

clojure-mode 5.13

05 May 07:13
Compare
Choose a tag to compare

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, and clojure-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 calling redisplay.

Changes

  • #589: Improve font-locking performance on strings with escaped characters.
  • #571: Remove project.el integration.
  • #574: Remove clojure-view-grimoire command.
  • #584: Align to recent pcase changes on Emacs master.

clojure-mode 5.12.0

13 Aug 06:41
Compare
Choose a tag to compare

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 so outline-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 and proxy.

clojure-mode 5.11

16 Jul 09:20
Compare
Choose a tag to compare

New features

  • #496: Highlight [[wikilinks]] in comments.
  • #366: Add support for renaming ns aliases (clojure-rename-ns-alias, default binding C-c C-r n r).
  • #410: Add support for adding an arity to a function (clojure-add-arity, default binding C-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 an ns form inside a string.
  • #530: Prevent electric indentation within inlined docstrings.

Changes

  • #524: Add proper indentation rule for delay (same as for future).
  • #538: Refactor clojure-unwind to take numeric prefix argument for unwinding N steps, and universal argument for unwinding completely. The dedicated C-c C-r a binding for clojure-unwind-allis now removed and replaced with the universal arg convention C-u C-c C-r u.

clojure-mode 5.10

05 Jan 11:22
Compare
Choose a tag to compare

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

  • #489: Inserting parens before comment form doesn't move point.
  • #500: Fix project.el integration.

Changes

  • Change the accepted values of clojure-indent-style from keywords to symbols.

clojure-mode 5.7.0

29 Apr 12:45
Compare
Choose a tag to compare

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 for clojure-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 and clojure-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

29 Apr 12:46
Compare
Choose a tag to compare

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 from clj-refactor. Available features: introduce let, move to let, forward slurp form into let, backward slurp form into let.

Changes

  • clojure-mode now requires Emacs 24.4.

clojure-mode 5.5.0

29 Apr 12:47
Compare
Choose a tag to compare

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

21 May 15:58
Compare
Choose a tag to compare

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

21 May 16:00
Compare
Choose a tag to compare

Bugs fixed

  • #371: Don't font-lock :foo/def like a def 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.

clojure-mode 5.2

21 May 15:59
Compare
Choose a tag to compare

Bugs fixed

  • #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.

New features

  • #362: New custom option clojure-indent-style offers 3 different ways to indent code.