The Clojure Interactive Development Environment that Rocks for Emacs
Emacs Lisp Other
Clone or download
Permalink
Failed to load latest commit information.
.github Try to fix the broken links in the PR template Jul 5, 2018
doc Follow up on the keymap changes Jul 13, 2018
docker [Fix #2144] Create a docker image to mimic the TravisCI environment (#… Dec 20, 2017
logo Update logo; add favicon files Feb 21, 2014
test Rename the cider-refresh.el to cider-ns.el Jul 10, 2018
travis-ci Drop install-gnutls.sh from builds Mar 10, 2018
.dir-locals.el Remove duplicated elisp section in .dir-locals.el Jun 19, 2018
.gitattributes Make it easier to deal with changelog conflicts Oct 20, 2016
.gitignore Make elpa target understand emacs versions Aug 5, 2017
.projectile Add a .projectile file Oct 30, 2013
.travis.yml New connection API and jack-in rewrite (#2324) Jun 17, 2018
CHANGELOG.md Follow up on the keymap changes Jul 13, 2018
Cask [Fix #2199] Implement elisp-lint.el in CI Mar 5, 2018
Dockerfile Update base image in Dockerfile Feb 4, 2018
Makefile [Fix #2199] Implement elisp-lint.el in CI Mar 5, 2018
README.md Update the manual links to use our new domain cider.mx Jun 17, 2018
ROADMAP.md Update the roadmap document Jun 25, 2018
Vagrantfile Update ubuntu version - Fix vagrant provision failure Aug 24, 2015
cider-apropos.el [Fix #2347] Remove direct manipulations of cider-ancillary-buffers Jun 24, 2018
cider-browse-ns.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-browse-spec.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-cheatsheet.el [#2199] Indentation adjustments, per elisp-lint Mar 5, 2018
cider-classpath.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-client.el Fix classpath libs functionality on Windows (#2356) Jun 29, 2018
cider-common.el Add a missing require Jul 11, 2018
cider-compat.el Trim cider-compat.el down to just if-let* and when-let* Jun 18, 2018
cider-completion.el Clean up the requires in cider-interaction.el Jun 25, 2018
cider-connection.el Fix a broken call to cider-popup-buffer Jul 17, 2018
cider-debug.el [Fix #2203] Rename cider-interaction.el to cider-eval.el Jun 25, 2018
cider-doc.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-eldoc.el Revert "Remove cider-compat.el" Jun 18, 2018
cider-eval.el Remove `cider-visit-error-buffer` in favour of using `cider-selector` Jul 7, 2018
cider-find.el [Fix #2367] Add missing autoload for cider-find-var Jul 1, 2018
cider-format.el [#2203] Extract the formatting functionality in its own source file Jun 23, 2018
cider-grimoire.el Revert "Remove cider-compat.el" Jun 18, 2018
cider-inspector.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-macroexpansion.el Move the cider-find-var functionality to cider-find.el Jun 26, 2018
cider-mode.el Add `cider-ns-map` and bind to `C-c M-n` Jul 13, 2018
cider-ns.el Add some version info the deprecation messages Jul 10, 2018
cider-overlays.el Revert "Remove cider-compat.el" Jun 18, 2018
cider-popup.el [Fix #2347] Remove direct manipulations of cider-ancillary-buffers Jun 24, 2018
cider-profile.el [Fix #2203] Rename cider-interaction.el to cider-eval.el Jun 25, 2018
cider-repl-history.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-repl.el [Fix #2337] Add `cider-start-map` and bind to `C-c C-x` Jul 13, 2018
cider-resolve.el New connection API and jack-in rewrite (#2324) Jun 17, 2018
cider-scratch.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-selector.el Kill a redundant declare-function Jul 8, 2018
cider-stacktrace.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-test.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
cider-tracing.el [#2203] Extract the tracing functionality in its own source file Jun 22, 2018
cider-util.el Rename the cider-refresh.el to cider-ns.el Jul 10, 2018
cider.el Implement uniform jack-in and connect parameter handling Jul 14, 2018
mkdocs.yml [Fix #2341] Update connection management section in the manual (#2364) Jun 30, 2018
nrepl-client.el Initialize `sesman-system` in all CIDER modes Jul 13, 2018
nrepl-dict.el Bump the copyright years Jan 1, 2018

README.md

License GPL 3 MELPA MELPA Stable Build Status Gitter

Liberapay OpenCollective OpenCollective Patreon 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.

Please consider supporting financially 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

The recommended way to install CIDER is via package.el - 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 -s 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.

If you're into video lessons, you might also check out this intro to CIDER demo as well.

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 @tapeinosyne. You can find the logo in various formats here.

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

Funding

While CIDER is free software and will always be, the project would benefit immensely from some funding. Raising a monthly budget of a couple of thousand dollars would make it possible to pay people to work on certain complex features, fund other development related stuff (e.g. hardware, conference trips) and so on. Raising a monthly budget of over $5000 would open the possibility of someone working full-time on the project which would speed up the pace of development significantly.

We welcome both individual and corporate sponsors! We also offer a wide array of funding channels to account for your preferences (although currently Open Collective is our preferred funding platform).

If you're working in a company that's making significant use of CIDER we'd appreciate it if you suggest to your company to become a CIDER sponsor.

You can support the development of CIDER, clojure-mode and inf-clojure via Open Collective, Salt, Patreon, Liberapay and PayPal.

Paypal

Open Collective Backers

Open Collective Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

License

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

Distributed under the GNU General Public License, version 3