README.md (17825B)
1 <p align="center"> 2 <img src="https://raw.github.com/clojure-emacs/cider/master/logo/cider-logo-w640.png" alt="CIDER Logo"/> 3 </p> 4 5 ----------- 6 [![License GPL 3][badge-license]](http://www.gnu.org/licenses/gpl-3.0.txt) 7 [](https://circleci.com/gh/clojure-emacs/cider) 8 [](https://github.com/clojure-emacs/cider/actions/workflows/spell_checking.yml) 9 [](https://discord.com/invite/nFPpynQPME) 10 [](http://clojurians.net) 11 12 CIDER is the **C**lojure(Script) **I**nteractive **D**evelopment **E**nvironment 13 that **R**ocks! 14 15 CIDER extends Emacs with support for [interactive 16 programming](https://docs.cider.mx/cider/usage/interactive_programming.html) 17 in Clojure. The features are centered around `cider-mode`, an Emacs 18 minor-mode that complements [clojure-mode][]. While `clojure-mode` 19 supports editing Clojure source files, `cider-mode` adds support for 20 interacting with a running Clojure process for compilation, code 21 completion, debugging, definition and documentation lookup, running 22 tests and so on. 23 24 ---------- 25 [](#open-collective-backers) 26 [](#open-collective-sponsors) 27 [](https://www.patreon.com/bbatsov) 28 [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=GRQKNBM6P8VRQ) 29 30 Bozhidar (a.k.a. Bug, CIDER's primary author/maintainer) has spent countless hours working on 31 CIDER and the [numerous related projects](https://metaredux.com/posts/2018/11/09/ciders-orchard-the-heart.html). That's a lot of work and not all of it is fun! 32 33 **Please consider [supporting financially CIDER's ongoing development](#funding).** 34 35 ## Quickstart 36 37 The instructions that follow are meant to get you from zero to a running CIDER 38 REPL in under 5 minutes. See the 39 [online documentation](https://docs.cider.mx) for (way) more 40 details. 41 42 ### Installation 43 44 [](http://melpa.org/#/cider) 45 [](http://stable.melpa.org/#/cider) 46 [](https://elpa.nongnu.org/nongnu/cider.html) 47 48 The recommended way to install CIDER is via `package.el` - the built-in package 49 manager in Emacs. 50 51 CIDER is available on all major `package.el` community 52 maintained repos - [NonGNU ELPA](https://elpa.nongnu.org), 53 [MELPA Stable](http://stable.melpa.org) 54 and [MELPA](http://melpa.org). 55 56 Provided you've enabled one of them in your Emacs setup, you can 57 install CIDER with the following command: 58 59 <kbd>M-x</kbd> `package-install` <kbd>RET</kbd> `cider` <kbd>RET</kbd> 60 61 ### Launch an nREPL server and client from Emacs 62 63 Simply open in Emacs a file belonging to your `lein`, `tools.deps` or `boot` project (like 64 `foo.clj`) and type <kbd>M-x</kbd> `cider-jack-in`. This will start an nREPL 65 server with all the project dependencies loaded in and CIDER will automatically 66 connect to it. 67 68 Alternatively you can use <kbd>C-u M-x</kbd> `cider-jack-in` to specify the path to 69 a Clojure project, without having to visit any file in it. 70 71 **Tip:** In Clojure(Script) buffers the command `cider-jack-in` is bound to 72 <kbd>C-c C-x (C-)j</kbd>. 73 74 ### Connect to a running nREPL server 75 76 You can go to your project's directory in a terminal and type there 77 (assuming you're using Leiningen that is): 78 79 ``` 80 $ lein repl 81 ``` 82 83 Or with Boot: 84 85 ``` 86 $ boot repl -s wait 87 ``` 88 89 Alternatively you can start nREPL either manually or by the facilities provided 90 by your project's build tool (`tools.deps`, Gradle, Maven, etc). 91 92 After you get your nREPL server running go back to Emacs. Typing there <kbd>M-x</kbd> 93 `cider-connect` will allow you to connect to the running nREPL server. 94 95 **Tip:** In Clojure(Script) buffers the command `cider-connect` is bound to 96 <kbd>C-c C-x (C-)c (C-)j</kbd> and the command `cider-connect-cljs` is bound to 97 <kbd>C-c C-x (C-)c (C-)s</kbd>. 98 99 ## Diving Deeper 100 101 CIDER packs a ton of functionality and you really want to be familiar with it, 102 so you can fully empower your workflow. The best way to get acquainted with all 103 available features is to go over the entire 104 [CIDER manual](https://docs.cider.mx/). 105 106 If you're into video lessons, you might also check out 107 this [intro to CIDER demo](https://www.youtube.com/watch?v=aYA4AAjLfT0) as well. 108 109 ## Quick Reference Card 110 111 You'll find all of CIDER's essential commands and their keybindings in its 112 one-page printable [quick reference card](https://github.com/clojure-emacs/cider/blob/master/refcard/cider-refcard.pdf). 113 114 New CIDER users might benefit from keeping a copy close to their keyboard. 115 116 ## Get Help 117 118 Start with CIDER's [discussions board](https://github.com/clojure-emacs/cider/discussions). If it doesn't get the job done consider some of the other available 119 [support channels](https://docs.cider.mx/cider/about/support.html). 120 121 ## Changelog 122 123 An extensive changelog is available [here](CHANGELOG.md). 124 125 ## Team 126 127 ### The Core Team 128 129 The direction of the project is being stewarded by the CIDER core team. This 130 group of long-term contributors manage releases, evaluate pull-requests, and 131 does a lot of the groundwork on major new features. 132 133 * [Bozhidar Batsov](https://github.com/bbatsov) (author & head maintainer) 134 * [Vitalie Spinu](https://github.com/vspinu) 135 * [Michael Griffiths](https://github.com/cichli) 136 * [Lars Andersen](https://github.com/expez) 137 138 ### CIDER Alumni 139 140 In addition, we'd like to extend a special thanks the following retired CIDER 141 core team members. Lovingly known as The Alumni: 142 143 * [Tim King](https://github.com/kingtim) (original author) 144 * [Phil Hagelberg](https://github.com/technomancy) 145 * [Hugo Duncan](https://github.com/hugoduncan) 146 * [Steve Purcell](https://github.com/purcell) 147 * [Artur Malabarba](https://github.com/malabarba) 148 * [Jeff Valk](https://github.com/jeffvalk) 149 150 ## Release policy 151 152 We’re following [SemVer](http://semver.org/). 153 154 You can read more on the subject [here](https://docs.cider.mx/cider/about/release_policy.html). 155 156 ## Logo 157 158 CIDER's logo was created by [@tapeinosyne](https://github.com/tapeinosyne). You can find 159 the logo in various formats 160 [here](https://github.com/clojure-emacs/cider/tree/master/logo). 161 162 The logo is licensed under a 163 [Creative Commons Attribution-NonCommercial 4.0 International License](http://creativecommons.org/licenses/by-nc/4.0/deed.en_GB). 164 165 ## Homepage 166 167 CIDER's homepage <https://cider.mx> is in the `gh-pages` branch of this repository and is deployed 168 automatically when changes are made to it. 169 170 It's just a single `index.html` file and a bit of Bootstrap 4. Contributions to it are very welcome! 171 172 ## Funding 173 174 While CIDER is free software and will always be, the project would benefit immensely from some funding. 175 Raising a monthly budget of a couple of thousand dollars would make it possible to pay people to work on 176 certain complex features, fund other development related stuff (e.g. hardware, conference trips) and so on. 177 Raising a monthly budget of over $5000 would open the possibility of someone working full-time on the project 178 which would speed up the pace of development significantly. 179 180 We welcome both individual and corporate sponsors! We also offer a wide array of funding channels to account 181 for your preferences (although currently [Open Collective](https://opencollective.com/cider) is our preferred funding platform). 182 183 If you're working in a company that's making significant use of CIDER we'd appreciate it if you suggest to your company 184 to become a CIDER sponsor. 185 186 You can support the development of CIDER, [clojure-mode][] and [inf-clojure][] via 187 [Open Collective](https://opencollective.com/cider), 188 [GitHub Sponsors](https://github.com/sponsors/bbatsov), 189 [Patreon](https://www.patreon.com/bbatsov) and 190 [PayPal](https://www.paypal.me/bbatsov). 191 192 ### Open Collective Backers 193 194 <a href="https://opencollective.com/cider/backer/0/website" target="_blank"><img src="https://opencollective.com/cider/backer/0/avatar.svg"></a> 195 <a href="https://opencollective.com/cider/backer/1/website" target="_blank"><img src="https://opencollective.com/cider/backer/1/avatar.svg"></a> 196 <a href="https://opencollective.com/cider/backer/2/website" target="_blank"><img src="https://opencollective.com/cider/backer/2/avatar.svg"></a> 197 <a href="https://opencollective.com/cider/backer/3/website" target="_blank"><img src="https://opencollective.com/cider/backer/3/avatar.svg"></a> 198 <a href="https://opencollective.com/cider/backer/4/website" target="_blank"><img src="https://opencollective.com/cider/backer/4/avatar.svg"></a> 199 <a href="https://opencollective.com/cider/backer/5/website" target="_blank"><img src="https://opencollective.com/cider/backer/5/avatar.svg"></a> 200 <a href="https://opencollective.com/cider/backer/6/website" target="_blank"><img src="https://opencollective.com/cider/backer/6/avatar.svg"></a> 201 <a href="https://opencollective.com/cider/backer/7/website" target="_blank"><img src="https://opencollective.com/cider/backer/7/avatar.svg"></a> 202 <a href="https://opencollective.com/cider/backer/8/website" target="_blank"><img src="https://opencollective.com/cider/backer/8/avatar.svg"></a> 203 <a href="https://opencollective.com/cider/backer/9/website" target="_blank"><img src="https://opencollective.com/cider/backer/9/avatar.svg"></a> 204 <a href="https://opencollective.com/cider/backer/10/website" target="_blank"><img src="https://opencollective.com/cider/backer/10/avatar.svg"></a> 205 <a href="https://opencollective.com/cider/backer/11/website" target="_blank"><img src="https://opencollective.com/cider/backer/11/avatar.svg"></a> 206 <a href="https://opencollective.com/cider/backer/12/website" target="_blank"><img src="https://opencollective.com/cider/backer/12/avatar.svg"></a> 207 <a href="https://opencollective.com/cider/backer/13/website" target="_blank"><img src="https://opencollective.com/cider/backer/13/avatar.svg"></a> 208 <a href="https://opencollective.com/cider/backer/14/website" target="_blank"><img src="https://opencollective.com/cider/backer/14/avatar.svg"></a> 209 <a href="https://opencollective.com/cider/backer/15/website" target="_blank"><img src="https://opencollective.com/cider/backer/15/avatar.svg"></a> 210 <a href="https://opencollective.com/cider/backer/16/website" target="_blank"><img src="https://opencollective.com/cider/backer/16/avatar.svg"></a> 211 <a href="https://opencollective.com/cider/backer/17/website" target="_blank"><img src="https://opencollective.com/cider/backer/17/avatar.svg"></a> 212 <a href="https://opencollective.com/cider/backer/18/website" target="_blank"><img src="https://opencollective.com/cider/backer/18/avatar.svg"></a> 213 <a href="https://opencollective.com/cider/backer/19/website" target="_blank"><img src="https://opencollective.com/cider/backer/19/avatar.svg"></a> 214 <a href="https://opencollective.com/cider/backer/20/website" target="_blank"><img src="https://opencollective.com/cider/backer/20/avatar.svg"></a> 215 <a href="https://opencollective.com/cider/backer/21/website" target="_blank"><img src="https://opencollective.com/cider/backer/21/avatar.svg"></a> 216 <a href="https://opencollective.com/cider/backer/22/website" target="_blank"><img src="https://opencollective.com/cider/backer/22/avatar.svg"></a> 217 <a href="https://opencollective.com/cider/backer/23/website" target="_blank"><img src="https://opencollective.com/cider/backer/23/avatar.svg"></a> 218 <a href="https://opencollective.com/cider/backer/24/website" target="_blank"><img src="https://opencollective.com/cider/backer/24/avatar.svg"></a> 219 <a href="https://opencollective.com/cider/backer/25/website" target="_blank"><img src="https://opencollective.com/cider/backer/25/avatar.svg"></a> 220 <a href="https://opencollective.com/cider/backer/26/website" target="_blank"><img src="https://opencollective.com/cider/backer/26/avatar.svg"></a> 221 <a href="https://opencollective.com/cider/backer/27/website" target="_blank"><img src="https://opencollective.com/cider/backer/27/avatar.svg"></a> 222 <a href="https://opencollective.com/cider/backer/28/website" target="_blank"><img src="https://opencollective.com/cider/backer/28/avatar.svg"></a> 223 <a href="https://opencollective.com/cider/backer/29/website" target="_blank"><img src="https://opencollective.com/cider/backer/29/avatar.svg"></a> 224 225 ### Open Collective Sponsors 226 227 Become a sponsor and get your logo on our README on Github with a link to your 228 site. [[Become a sponsor](https://opencollective.com/cider#sponsor)] 229 230 <a href="https://opencollective.com/cider/sponsor/0/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/0/avatar.svg"></a> 231 <a href="https://opencollective.com/cider/sponsor/1/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/1/avatar.svg"></a> 232 <a href="https://opencollective.com/cider/sponsor/2/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/2/avatar.svg"></a> 233 <a href="https://opencollective.com/cider/sponsor/3/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/3/avatar.svg"></a> 234 <a href="https://opencollective.com/cider/sponsor/4/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/4/avatar.svg"></a> 235 <a href="https://opencollective.com/cider/sponsor/5/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/5/avatar.svg"></a> 236 <a href="https://opencollective.com/cider/sponsor/6/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/6/avatar.svg"></a> 237 <a href="https://opencollective.com/cider/sponsor/7/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/7/avatar.svg"></a> 238 <a href="https://opencollective.com/cider/sponsor/8/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/8/avatar.svg"></a> 239 <a href="https://opencollective.com/cider/sponsor/9/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/9/avatar.svg"></a> 240 <a href="https://opencollective.com/cider/sponsor/10/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/10/avatar.svg"></a> 241 <a href="https://opencollective.com/cider/sponsor/11/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/11/avatar.svg"></a> 242 <a href="https://opencollective.com/cider/sponsor/12/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/12/avatar.svg"></a> 243 <a href="https://opencollective.com/cider/sponsor/13/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/13/avatar.svg"></a> 244 <a href="https://opencollective.com/cider/sponsor/14/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/14/avatar.svg"></a> 245 <a href="https://opencollective.com/cider/sponsor/15/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/15/avatar.svg"></a> 246 <a href="https://opencollective.com/cider/sponsor/16/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/16/avatar.svg"></a> 247 <a href="https://opencollective.com/cider/sponsor/17/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/17/avatar.svg"></a> 248 <a href="https://opencollective.com/cider/sponsor/18/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/18/avatar.svg"></a> 249 <a href="https://opencollective.com/cider/sponsor/19/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/19/avatar.svg"></a> 250 <a href="https://opencollective.com/cider/sponsor/20/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/20/avatar.svg"></a> 251 <a href="https://opencollective.com/cider/sponsor/21/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/21/avatar.svg"></a> 252 <a href="https://opencollective.com/cider/sponsor/22/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/22/avatar.svg"></a> 253 <a href="https://opencollective.com/cider/sponsor/23/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/23/avatar.svg"></a> 254 <a href="https://opencollective.com/cider/sponsor/24/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/24/avatar.svg"></a> 255 <a href="https://opencollective.com/cider/sponsor/25/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/25/avatar.svg"></a> 256 <a href="https://opencollective.com/cider/sponsor/26/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/26/avatar.svg"></a> 257 <a href="https://opencollective.com/cider/sponsor/27/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/27/avatar.svg"></a> 258 <a href="https://opencollective.com/cider/sponsor/28/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/28/avatar.svg"></a> 259 <a href="https://opencollective.com/cider/sponsor/29/website" target="_blank"><img src="https://opencollective.com/cider/sponsor/29/avatar.svg"></a> 260 261 ## License 262 263 CIDER is distributed under the GNU General Public License, version 3. 264 265 Copyright © 2012-2023 Bozhidar Batsov, Artur Malabarba, Tim King, Phil Hagelberg and 266 [contributors](https://github.com/clojure-emacs/cider/contributors). 267 268 [badge-license]: https://img.shields.io/badge/license-GPL_3-green.svg 269 [nREPL]:https://github.com/nrepl/nrepl 270 [Sly]: https://github.com/joaotavora/sly 271 [Geiser]: https://github.com/jaor/geiser 272 [clojure-mode]: https://github.com/clojure-emacs/clojure-mode 273 [inf-clojure]: https://github.com/clojure-emacs/inf-clojure