Skip to content

CIDER 0.10 (a.k.a. CIDERX)

Compare
Choose a tag to compare
@bbatsov bbatsov released this 03 Dec 16:26
· 3314 commits to master since this release

New features

  • #1406: When running tests, report test ns in minibuffer messages.
  • #1402: When tests pass after previously failing, update the test-report buffer to show success.
  • #1373: Add gradle support for cider-jack-in.
  • Indentation of macros (and functions) can be specified in the var's metadata, via indent specs.
  • Abbreviated printing for functions multimethods. Instead of seeing #object[clojure.core$_PLUS_ 0x4e648e99 "clojure.core$_PLUS_@4e648e99"] you'll see #function[clojure.core/+].
  • #1376: Anything printed to *out* outside an eval scope is also forwarded to all nREPL sessions connected from CIDER. Normally it would only be sent to the server's out.
  • #1371: Font-lock deprecated vars with a background color.
  • #1232: Add cider-load-buffer-and-switch-to-repl-buffer.
  • #1325: Jump to error location when clicking on the error message in the stack-trace pop-up.
  • #1301: CIDER can do dynamic font-locking of defined variables, functions, and macros. This is controlled by the cider-font-lock-dynamically custom option.
  • #1271: New possible value (always-save) for cider-prompt-save-file-on-load.
  • #1197: Display some indication that we're waiting for a result for long-running evaluations.
  • #1127: Make it possible to associate a buffer with a connection (via cider-assoc-buffer-with-connection).
  • #1217: Add new command cider-assoc-project-with-connection to associate a project directory with a connection.
  • #1248: Add TAB and RET keys to the test-report buffer.
  • #1245: New variable, cider-overlays-use-font-lock controls whether results overlay should be font-locked or just use a single face.
  • #1235: Add support for syntax-quoted forms to the debugger.
  • #1212: Add pagination of long collections to inspector.
  • #1237: Add two functions for use with cider-repl-prompt-function, cider-repl-prompt-lastname and repl-prompt-abbreviated.
  • #1201: Integrate overlays with interactive evaluation. cider-use-overlays can be used to turn this on or off.
  • #1195: CIDER can create cljs REPLs.
  • #1191: New custom variables cider-debug-print-level and cider-debug-print-length.
  • #1188: New debugging tool-bar.
  • #1187: The list of keys displayed by the debugger can be configured with cider-debug-prompt.
  • #1187: While debugging, there is a menu on the menu-bar listing available commands.
  • #1184: When the user kills the repl buffer, CIDER will offer to kill the nrepl buffer and process too. Also, when the client (repl) process dies, the server (nrepl) process is killed too.
  • #1182: New command cider-browse-instrumented-defs, displays a buffer listing all defitions currently instrumented by the debugger.
  • #1182: Definitions currently instrumented by the debugger are marked with a red box in the source buffer.
  • #1174: New command cider-run, runs the project's -main function.
  • #1176: While debugging, cider's usual eval commands will evaluate code in the current lexical context. Additionally, the l key now inspects local variables.
  • #1149: Two new ways to debug code, the #break and #dbg reader macros.
  • #1219: The output of cider-refresh is now sent to a dedicated *cider-refresh-log* buffer.
  • #1219: New custom variables cider-refresh-before-fn and cider-refresh-after-fn.
  • #1220: Treat keywords as symbols in lookup commands like cider-find-var.
  • #1241: Passing a double prefix argument to cider-refresh will now clear the state of the namespace tracker used by the refresh middleware. This is useful for recovering from errors that a normal reload would not otherwise recover from, but may cause stale code in any deleted files to not be completely unloaded.
  • New defcustom cider-result-use-clojure-font-lock allows you disable the use of Clojure font-locking for interactive results.
  • #1239: New defcustom cider-refresh-show-log-buffer, controls the behaviour of the *cider-refresh-log* buffer when calling cider-refresh. When set to nil (the default), the log buffer will still be written to, but not displayed automatically. Instead, the most relevant information will be displayed in the echo area. When set to non-nil, the log buffer will be displayed every time cider-refresh is called.
  • #1328: Auto-scroll the *nrepl-server* buffer on new output.
  • #1300: Add the ability to replicate an existing connection with cider-replicate-connection.
  • #1330: Leverage nREPL 0.2.11's source-tracking feature.
  • #1392: Track definitions made in the REPL.
  • #1337: Added a command to switch between the Clojure and ClojureScript REPLs in the same project (bound to C-c M-o in cider-repl-mode).

Changes

  • #1299 C-c C-k and C-c C-l now dispatch to both the Clojure and ClojureScript REPL (in the same project) when called from a .cljc or .cljx file.
  • #1397 C-c M-n now changes the ns of both the Clojure and ClojureScript REPL (in the same project) when called from a cljc or cljx file.
  • #1348: Drop the dash dependency.
  • The usage of the default connection has been reduced significantly. Now evaluations & related commands will be routed via the connection matching the current project automatically unless there's some ambiguity when determining the connection (like multiple or no matching connections). Simply put you'll no longer have to mess around much with connecting-setting commands (e.g. nrepl-connection-browser, cider-rotate-default-connection).
  • #732: cider-quit and cider-restart now operate on the current connection only. With a prefix argument they operate on all connections.
  • nrepl-log-messages is now set to t by default.
  • Renamed cider-repl-output-face to cider-repl-stdout-face and cider-repl-err-output-face to cider-repl-stderr-face.
  • Clearing the REPL buffer is now bound to C-u C-C C-o.
  • #1422: Don't display mismatching parens error on incomplete expressions in REPL buffers.
  • #1412: nREPL messages for separate sessions are tracked in separate buffers.
  • Removed cider-switch-to-repl-command.

Bugs fixed

  • #1384: Match windows file names in cider-compilation-regexp.
  • #1252 cider-repl-clear-buffer stops working in certain circumstances.
  • #1164: Fix an error in cider-browse-ns--doc-at-point.
  • #1189: Don't show result from automatic ns form evaluation.
  • #1079: Don't try to font-lock very long results. The maximum font-lockable result length is controlled by cider-font-lock-max-length.