• Stars
    star
    673
  • Rank 67,060 (Top 2 %)
  • Language
    Clojure
  • Created about 11 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A collection of nREPL middleware to enhance Clojure editors with common functionality like definition lookup, code completion, etc.

CircleCI Clojars Project Dependencies Status Coverage cljdoc badge downloads badge

CIDER nREPL

A collection of nREPL middleware, originally designed to enhance CIDER. cider-nrepl is also used by vim-fireplace, iced-vim, Calva and other Clojure development tools based on nREPL.

If you're just a user trying to get started with CIDER, then you probably don't want to read this. You should follow the steps in CIDER's user manual instead.

People who are new to nREPL might benefit from reading its user manual.

Documentation

Please refer to the documentation site for information on how to setup cider-nrepl or how to leverage its nREPL API.

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.

Note: Prior to cider-nrepl 0.18, CIDER and cider-nrepl releases were always done in sync. As most editors started relying on cider-nrepl this was eventually changed and now cider-nrepl releases happen on their own schedule.

Contributing

Issues

Report issues and suggest features and improvements on the GitHub issue tracker. Don't ask questions on the issue tracker - the mailing list and the IRC channel are the places for questions.

Patches

Patches in any form are always welcome! GitHub pull requests are even better! :-)

Before submitting a patch or a pull request make sure all tests are passing and that your patch is in line with the contribution guidelines.

Working with mranderson (inlining runtime dependencies)

mranderson is used to avoid classpath collisions.

To work with mranderson the first thing to do is:

lein do clean, inline-deps

This creates the munged local dependencies in target/srcdeps directory.

After that you can run your tests or your REPL with:

lein with-profile +plugin.mranderson/config repl
lein with-profile +plugin.mranderson/config test

Note the + sign before the leiningen profile. For this leiningen profile to work you need leiningen version 2.5.0+! If you want to use mranderson while developing locally with the REPL the source has to be modified in the target/srcdeps directory. When you want to release locally:

lein with-profile plugin.mranderson/config install

Using the Makefile

...Or you can use the Makefile as:

PROJECT_VERSION=0.31.0 make install

Releasing to Clojars

Note: Make sure you've updated the changelog, docs/antora.yml, etc before cutting a new release.

Release to clojars by tagging a new release:

git tag -a v0.31.0 -m "Release 0.31.0"
git push --tags

The CI will take it from there.

Hall of Fame

Special credit goes to the following people for their contributions:

And a big thanks to all other contributors who have helped so far.

Let's also acknowledge some of the projects leveraged by cider-nrepl:

  • orchard - extracted from cider-nrepl, so that non-nREPL clients can leverage the generic tooling functionality (like inspect, apropos, var-info, etc
  • compliment - for Clojure code completion
  • clj-suitable - for ClojureScript code completion using runtime inspection
  • tools.trace - for tracing
  • tools.namespace - for namespace reloading
  • cljfmt - for code formatting

License

Copyright © 2013-2023 Bozhidar Batsov

Distributed under the Eclipse Public License, the same as Clojure.

More Repositories

1

cider

The Clojure Interactive Development Environment that Rocks for Emacs
Emacs Lisp
3,539
star
2

clojure-mode

Emacs support for the Clojure(Script) programming language
Emacs Lisp
909
star
3

clj-refactor.el

A CIDER extension that provides powerful commands for refactoring Clojure code.
Emacs Lisp
771
star
4

sayid

A debugger for Clojure
Clojure
406
star
5

orchard

A fertile ground for Clojure tooling
Clojure
326
star
6

refactor-nrepl

nREPL middleware to support refactorings in an editor agnostic way
Clojure
257
star
7

inf-clojure

Basic interaction with a Clojure subprocess
Emacs Lisp
249
star
8

squiggly-clojure

Flycheck checker for Clojure, using eastwood and core.typed.
Emacs Lisp
204
star
9

clomacs

Simplifies Emacs Lisp interaction with Clojure and vice versa.
Emacs Lisp
200
star
10

clojure-cheatsheet

[DEPRECATED] The Clojure Cheatsheet for Emacs
Emacs Lisp
193
star
11

clojure-ts-mode

The next generation Clojure major mode for Emacs, powered by TreeSitter
Emacs Lisp
129
star
12

clj-suitable

ClojureScript "IntelliSense" support for JS objects and their properties/methods. Via figwheel and Emacs CIDER.
Clojure
114
star
13

ac-cider

[DEPRECATED] Emacs auto-complete backend for CIDER
Emacs Lisp
80
star
14

ac-nrepl

[DEPRECATED] Emacs auto-complete backend for nrepl completions
Emacs Lisp
74
star
15

helm-cider

Helm interface to CIDER
Emacs Lisp
66
star
16

parseclj

Clojure Parser for Emacs Lisp
Emacs Lisp
60
star
17

cljs-tooling

[DEPRECATED] Tooling support for ClojureScript
Clojure
60
star
18

parseedn

EDN parser for Emacs Lisp
Emacs Lisp
59
star
19

example-config

A sample Emacs config for Clojure development to ease your pain
Emacs Lisp
37
star
20

haystack

Let's make the most of Clojure's infamous stacktraces!
Clojure
34
star
21

enrich-classpath

Enriches Lein/deps.edn dependency trees with Java sources, JDK sources, javadocs, etc
Clojure
32
star
22

cider-decompile

An extension to CIDER which provides a decompilation command
Emacs Lisp
27
star
23

cider-hydra

Hydras for CIDER
Emacs Lisp
24
star
24

cider-eval-sexp-fu

eval-sexp-fu.el extensions for CIDER.
Emacs Lisp
12
star
25

hackingcider

HTML
10
star
26

clojuredocs-export-edn

Daily EDN exports of ClojureDocs's database.
Clojure
9
star
27

logjam

An interactive, nrepl-oriented logging backend
Clojure
1
star
28

docs.cider.mx

CIDER's documentation site
Handlebars
1
star