Skip to content

CIDER 0.9

Compare
Choose a tag to compare
@bbatsov bbatsov released this 16 Jun 14:07
· 4200 commits to master since this release

New features

  • #1109 New defcustom cider-auto-mode.
    On by default, when nil don't automatically enable cider-mode in all Clojure buffers.
  • #1061 New command cider-find-ns, bound to C-c C-., which prompts for an ns and jumps to the corresponding source file.
  • #1019: New file, cider-debug.el.
    Provides a new command, cider-debug-defun-at-point, bound to C-u C-M-x.
    Interactively debug top-level clojure forms.
  • New defcustom, cider-auto-select-test-report-buffer (boolean).
    Controls whether the test report buffer is selected after running a test. Defaults to true.
  • Trigger Grimoire doc lookup from doc buffers by pressing g (in Emacs) and G (in browser).
  • #903: Isolate
    nrepl-client connection logic from CIDER. New hooks cider-connected-hook
    and cider-disconnected-hook.
  • #920: Support cider-jack-in for boot-based projects.
  • #949: New custom var: cider-default-repl-command.
  • New code formatting commands - cider-format-buffer, cider-format-region and cider-format-defun.
  • New data formatting commands - cider-format-edn-buffer and cider-format-edn-region.
  • New insert region in REPL command - cider-insert-region-in-repl.
  • Pretty printing functionality moved to middleware, adding support for ClojureScript.
    • New command to eval and pprint result: cider-interactive-pprint-eval.
    • cider-format-pprint-eval has been removed.
  • Warn when used with incompatible nREPL server.
  • Allow the prompt to be tailored by adding cider-repl-prompt-function and cider-repl-default-prompt.
  • Support for middleware-annotated completion candidates.
    • cider-annotate-completion-function controls how the annotations are formatted.
    • cider-completion-annotations-alist controls the abbreviations used in annotations.
    • cider-completion-annotations-include-ns controls when to include the candidate namespace in annotations.
  • Inspector middleware now relies on eval middleware, adding support for ClojureScript.
  • Better printing of large amounts of exception cause data in the error buffer.
    • New defcustom, cider-stacktrace-print-length (boolean).
  • #958: Reuse existing repl
    buffers with dead processes. Users are now informed about existing zombie repl
    buffers and are offered the choice to reuse those for new connections.
  • New defcustom, cider-prompt-for-symbol. Controls whether to prompt for
    symbol when interactive commands require one. Defaults to t, which always
    prompts. Currently applies to all documentation and source lookup commands.
  • #1032: New functions, cider-find-dwim and
    cider-find-dwim-other-window. These functions combine the functionality of cider-jump-to-var and
    cider-jump-to-resource. Which are now renamed to cider-find-var and cider-find-resource respectively.
  • #1014: A prefix of - causes cider-find-var and
    cider-find-resource to show results in other window. Additionally, a double prefix argument C-u C-u
    inverts the meaning of cider-prompt-for-symbol and shows the results in other window.
  • #1062: Added completion candidates to cider-find-resource.
  • Middleware support for Piggieback 0.2.x.
  • In the namespace browser, d and s are now bound to show the documentation
    or the source respectively for the symbol at point.
  • #1090: New defcustom,
    cider-macroexpansion-print-metadata (boolean). Controls whether metadata of
    forms is included in macroexpansion results. Defaults to nil.

Changes

  • Display the current connection instead of the current namespace in cider-mode's modeline.
  • #1078: Removed
    cider-load-fn-into-repl-buffer, previously bound to C-c M-f in the REPL.
  • #1019:
    C-u C-M-x no longer does eval-defun+print-result. Instead it debugs the form at point.
  • #854: Error navigation now
    favors line information reported by the stacktrace, being more detailed than
    the info reported by info middleware.
  • #854: Add nrepl-dict constructor.
  • #934: Remove
    cider-turn-on-eldoc-mode in favor of simply using eldoc-mode.
  • #953: Use sshx instead of ssh in cider-select-endpoint.
  • #956: Eval full ns form only when needed.
  • Enable annotated completion candidates by default.
  • #1031: Interactive functions prompt with
    symbol at point as a default value.
  • Remapped cider-grimoire to C-c C-d r & C-c C-d C-r
    to avoid conflicts with C-g.
  • #1088: Kill the
    source-tracking evaluation hack as it wasn't compatible with ClojureScript.
  • Removed clojure-enable-cider and clojure-disable-cider.

Bugs fixed

  • #921: Fixed
    non-functioning cider-test-jump from test reports.
  • #962: On error don't auto-jump to tooling files.
  • #909: Fixed
    cider-repl-set-ns's behavior for ClojureScript.
  • #950: Eval ns form in the
    user namespace when using cider-interactive-eval.
  • #954: Detect properly a project's root
    when in buffer that's not visiting a file (e.g. a REPL buffer).
  • #977: cider-format-region now respects indentation of the region start position.
  • #979: Fixed the inspector buffer popping up needlessly.
  • #981: Updated cider-find-file to use find-buffer-visiting instead of get-file-buffer.
  • #1004: :repl-env key is now filtered from exception causes, as it contains unprintably large strings of compiled javascript when using ClojureScript.
  • Tunneled ssh connection now deals correctly with the ssh password request.
  • #1026: The full (ns ...) form for the current buffer is now sent with all source-tracking eval requests, to fix ClojureScript compatibility.
  • #1033: Removed erroneous underlining from stacktrace frames and disabled frame filters in the error buffer.
  • The error buffer no longer pops up when there is no error to display.
  • cider-find-resource now correctly throws an error when no path is provided.
  • #946: cider-stacktrace-mode is now enabled before the error buffer is displayed.
  • #1077: Respect cider-repl-display-in-current-window in cider-switch-to-last-clojure-buffer.