- #671: Syntax highlighting for digits after the first in % args
- #653: Don't highlight vars with colons as keywords.
- cider#2903: Avoid
No comment syntax is definedprompts.
- Declare indentation for the
asyncClojureScript macro.
- Improve support for multiple forms in the same line by replacing
beginning-of-defunfn.
-
#656: Fix clojure-find-ns when ns form is preceded by other forms.
-
#593: Fix clojure-find-ns when ns form is preceded by whitespace or inside comment form.
clojure-find-ns: add an option to never raise errors, returning nil instead on unparseable ns forms.
- Font-lock Lein's
defprojectas a keyword.
- #645: Fix infinite loop when sorting a ns with comments in the end.
- #586: Fix infinite loop when opening file containing
commentwithclojure-toplevel-inside-comment-formset tot.
- #641: Recognize nbb projects (identified by the presence of
nbb.edn). - #629: Set
add-log-current-defun-functionto new functionclojure-current-defun-name(this is used bywhich-function-modeandeasy-kill).
- #581: Fix font locking not working for keywords starting with a number.
- #377: Fix everything starting with the prefix
defbeing highlighted as a definition form. Now definition forms are enumerated explicitly in the font-locking code, like all other forms. - #638: Fix imenu with Clojure code in string or comment.
- #625: Fix metadata being displayed in
imenuinstead of var name.
- 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.
- #604: Add
bb(babashka) tointerpreter-mode-alist.
- #608 Fix alignment issue involving margin comments at the end of nested forms.
- #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.
- #588: Fix font-lock for character literals.
- Stop
clojure-sort-nsfrom callingredisplay.
- #589: Improve font-locking performance on strings with escaped characters.
- #571: Remove
project.elintegration. - #574: Remove
clojure-view-grimoirecommand. - #584: Align to recent
pcasechanges on Emacs master.
- #556:
clojure-rename-ns-aliaspicks up existing aliases for minibuffer completion.
- #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 (
#_#_).
- 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.
- #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).
- 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.
- #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.
- 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.
- #489: Inserting parens before comment form doesn't move point.
- #500: Fix project.el integration.
- #513: Fix incorrect indentation of namespaced map.
- Change the accepted values of
clojure-indent-stylefrom keywords to symbols. - #503: Fix Makefile so that we can compile again.
- #485: Fix a regression in
end-f-defun.
- Add
clojure-toplevel-inside-comment-formto make forms inside of(comment ...)forms appear as top level forms for evaluation and navigation. - Require Emacs 25.1+.
- Disable ns caching by default.
- Fix the project.el integration.
- New interactive commands
clojure-show-cacheandclojure-clear-cache. - Add basic integration with
project.el. - The results of
clojure-project-dirare cached by default to optimize performance. - #478: Cache the result of
clojure-find-nsto optimize performance.
- Indent
fdef(clojure.spec) like adef. - Add
shadow-cljs.ednto the default list of build tool files.
- 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.
- 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.
- #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.
- Make
clojure--read-let-bindingsmore robust soletrelated 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-modenow 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
definterfaceto match that ofdefprotocol. - #389: Fixed the indentation of
defrecordanddeftypemultiple airity protocol forms. - #393:
imenu-generic-expressionis 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/deflike adefform. - #367:
clojure-alignno 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-alignnow reindents after aligning, which also fixes an issue with nested alignings.
- #362: New custom option
clojure-indent-styleoffers 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-faceto 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
specifyandspecify!. - Fixed the docstring indentation for
defprotocol.
- Don't treat the symbol
default-(something)as def* macro. cider-find-nsnow returns the closestnsinstead of the first one.- #344: Fixed the indentation of
extend-type.
- #302: Add new sexp navigation commands.
clojure-forward-logical-sexpandclojure-backward-logical-sexpconsider^hintsand#reader.macrosto be part of the sexp that follows them. - #303: Handle
bootprojects 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-nsin multi-source projects. - #307: Don't highlight
handleandhandler-caseas keywords. - Fix font-locking for def with special chars such as:
defn*,defspecial!. - Numerous indentation issues.
- Add
.cljctoauto-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-commandat 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
aremacro.
- Indent properly
as->. - Revert the indentation settings for
->,->>,some->andsome->>.
- Removed
inferior-lispintegration in favor ofinf-clojure. - Indented the body of
condwith 2 spaces. - Removed special indentation settings for
defstruct,struct-mapandassoc. - 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-setuptoclojure-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.