The Clojure Interactive Development Environment that Rocks for Emacs
Emacs Lisp Other
Permalink
Failed to load latest commit information.
.github Fix broken link to contribution guidelines May 27, 2016
doc Add new command `cider-toggle-request-dispatch` Sep 28, 2016
logo Update logo; add favicon files Feb 21, 2014
test [Fix #1824] Add support for cider-jack-in dependency exclusions (#1844) Sep 14, 2016
vagrant Bump the cask version to 0.7.4 Apr 30, 2016
.dir-locals.el [#1352] Documentation complies with checkdoc style Apr 6, 2016
.gitignore Ignore some refcard-related artifacts Feb 23, 2016
.projectile Add a .projectile file Oct 30, 2013
.travis.yml [Fix #1650] Migrate cider tests from ert to buttercup Apr 29, 2016
CHANGELOG.md Add new command `cider-toggle-request-dispatch` Sep 28, 2016
Cask Remove redundant noflet dependency Apr 30, 2016
Makefile [Fix #1650] Migrate cider tests from ert to buttercup Apr 29, 2016
README.md Fix the Gratipay badge May 29, 2016
Vagrantfile Update ubuntu version - Fix vagrant provision failure Aug 24, 2015
cider-apropos.el Show default action in apropos act on symbol prompt (#1800) Jul 10, 2016
cider-browse-ns.el Fix usage of RET in several keymaps (#1852) Sep 26, 2016
cider-classpath.el Fix usage of RET in several keymaps (#1852) Sep 26, 2016
cider-client.el Add new command `cider-toggle-request-dispatch` Sep 28, 2016
cider-common.el Fix tramp compile warnings May 1, 2016
cider-compat.el [Fix #1712] Check if when-let is defined even when if-let is May 2, 2016
cider-debug.el Update all inspector operations to use nREPL sync requests (#1821) Aug 16, 2016
cider-doc.el [Fix #1769] Display fn spec in the doc buffers (#1833) Sep 15, 2016
cider-eldoc.el Make cider-eldoc-thing-type consistent with cider-propertize Jul 17, 2016
cider-grimoire.el Move dictionary manipulation to its own file, nrepl-dict.el Apr 30, 2016
cider-inspector.el Fix usage of RET in several keymaps (#1852) Sep 26, 2016
cider-interaction.el Tweak the eval keymap a bit Jul 17, 2016
cider-macroexpansion.el Keyboard shortcuts for macroexpansion mode (#1704) Apr 25, 2016
cider-mode.el Move eval commands to a single keymap (#1805) Jul 16, 2016
cider-overlays.el Remove a reference to cider-inspect-read-and-inspect (#1703) Apr 21, 2016
cider-popup.el Move dictionary manipulation to its own file, nrepl-dict.el Apr 30, 2016
cider-repl.el Fix a typo (#1830) Aug 25, 2016
cider-resolve.el Move dictionary manipulation to its own file, nrepl-dict.el Apr 30, 2016
cider-scratch.el Update a few copyright headers Mar 27, 2016
cider-selector.el Migrate cider-selector-tests to buttercup Apr 22, 2016
cider-stacktrace.el Relabel stacktrace suppression button (#1836) Aug 30, 2016
cider-test.el [Fix #1825] Show generated test input (#1826) Aug 20, 2016
cider-util.el Add one more inspirational quote Jun 29, 2016
cider.el [Fix #1824] Add support for cider-jack-in dependency exclusions (#1844) Sep 14, 2016
mkdocs.yml Fix CIDER expansion in the docs (#1754) May 19, 2016
nrepl-client.el [#1677] Handle lone carriage returns as newline (#1814) Jul 27, 2016
nrepl-dict.el Move dictionary manipulation to its own file, nrepl-dict.el Apr 30, 2016

README.md

License GPL 3 MELPA MELPA Stable Build Status Gitter Gratipay Team Paypal

CIDER Logo

CIDER is the Clojure(Script) Interactive Development Environment that Rocks!

CIDER extends Emacs with support for interactive programming in Clojure. The features are centered around cider-mode, an Emacs minor-mode that complements clojure-mode. While clojure-mode supports editing Clojure source files, cider-mode adds support for interacting with a running Clojure process for compilation, debugging, definition and documentation lookup, running tests and so on.

CIDER is the successor to the now deprecated combination of using SLIME + swank-clojure for Clojure development.

If you like the project, please consider supporting its ongoing development.

Quickstart

The instructions that follow are meant to get you from zero to a running CIDER REPL in under 5 minutes. See the official manual for (way) more details.

Installation

package.el is the built-in package manager in Emacs.

CIDER is available on the two major package.el community maintained repos - MELPA Stable and MELPA.

You can install CIDER with the following command:

M-x package-install [RET] cider [RET]

Launch an nREPL server and client from Emacs

Simply open in Emacs a file belonging to your lein or boot project (like foo.clj) and type M-x cider-jack-in. This will start an nREPL server with all the project dependencies loaded in and CIDER will automatically connect to it.

Alternatively you can use C-u M-x cider-jack-in to specify the name of a lein or boot project, without having to visit any file in it.

In Clojure(Script) buffers the command cider-jack-in is bound to C-c M-j.

Connect to a running nREPL server

You can go to your project's directory in a terminal and type there (assuming you're using Leiningen that is):

$ lein repl

Or with Boot:

$ boot repl wait

Alternatively you can start nREPL either manually or by the facilities provided by your project's build tool (Gradle, Maven, etc).

After you get your nREPL server running go back to Emacs. Typing there M-x cider-connect will allow you to connect to the running nREPL server.

In Clojure(Script) buffers the command cider-connect is bound to C-c M-c.

Diving Deeper

CIDER packs a ton of functionality and you really want to be familiar with it, so you can fully empower your workflow. The best way to get acquainted with all available features is to go over the entire CIDER manual.

Changelog

An extensive changelog is available here.

Team

The Core Team

The direction of the project is being stewarded by the CIDER core team. This group of long-term contributors manage releases, evaluate pull-requests, and does a lot of the groundwork on major new features.

CIDER Alumni

In addition, we'd like to extend a special thanks the following retired CIDER core team members. Lovingly known as The Alumni:

Release policy

We’re following SemVer (as much as one can be following it when the major version is 0). At this point bumps of the minor (second) version number are considered major releases and always include new features or significant changes to existing features. API compatibility between major releases is not a (big) concern (although we try to break the API rarely and only for a good reason).

The development cycle for the next major release starts immediately after the previous one has been shipped. Bugfix/point releases (if any) address only serious bugs and never contain new features.

The versions of CIDER and cider-nrepl are always kept in sync. If you're tracking the master branch of CIDER, you should also be tracking the master branch of cider-nrepl.

Logo

CIDER's logo was created by @ndr-qef. You can find the logo in various formats here.

The logo is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Donations

You can support the development of CIDER, clojure-mode and inf-clojure via Salt, Gratipay and PayPal.

Support via Gratipay

Paypal

License

Copyright © 2012-2016 Tim King, Phil Hagelberg, Bozhidar Batsov, Artur Malabarba and contributors.

Distributed under the GNU General Public License, version 3