Commit graph

91 commits

Author SHA1 Message Date
jaremko
247830ab40 fix links 2019-11-10 16:13:13 +02:00
Didier A
58dcd6320b [clojure] Added support for joker linter and having mutliple active linters
The variable clojure-enable-linters can now be set to a list of linters:

'(clj-kondo joker)
  or
'(joker squiggly)
  or any other combination of the available linters.

In which case, all linters in the list will be active if they are
available to be. In that flycheck is configured so that each linter
in the list has as next-checker the next linter in the list.

The variable can also now be set to:

'joker

If only the newly added joker linter should be used.

This will pull down flycheck-joker and add Joker as a checker for
Clojure modes.

--

Implementation Details

The way it works is that for each Clojure linting mode, clj, cljc,
cljs and edn, a primary linter is chosen based on the order the
user specifies in clojure-enable-linters which support that mode.
It is made the primary linter for flycheck to use by being promoted
to the front of the flycheck-checkers list. All other linters specified
by the user which the mode also supports get added to it as a
next-checker.

Tested with clj-kondo, joker and squiggly. The only issue I saw was that
the way flycheck-clojure works, and the way I currently have setup the
logic for multiple checkers mean that we can't add to a mode multiple
checkers for the same linter. flycheck-clojure has eastwood, kibit and
core.typed. If you have it configured to use eastwood linter, then it
will all work, as eastwood gets added as the next-checker. But if you
have it disabled in flycheck-clojure, there won't be any
flycheck-clojure linters to activate. I'm not sure as of now how to best
support that. Ideally, we would not clubber linters into a single packge
like that, and so the layer would have instead of squiggly: eastwood,
kibit, core.typed. But that's not how flycheck-clojure works. Future
commit might be able to do something smarter about this.
2019-10-20 00:23:58 +02:00
Jonathan Chen
a326913a9e docs: fix spelling 2019-09-11 18:40:40 +02:00
emacspace
1299f262ca documentation formatting: Sun Sep 1 21:18:40 UTC 2019 2019-09-01 23:08:29 -04:00
John Stevenson
7afa22e1d0 [Clojure] Update Clojure layer linter documentation
Enhancement to Clojure layer documentation for the clj-kondo linter added via
pul request #12611

Moved instructions to install section as clj-kondo and squiqgly can be added as
Clojure layer variables, just like clj-refactor and sayid.

Changed the install instructions to make them specific and to use clojure layer
variables, which is consistent with other Clojure layer options.

Elaborated on the install instructions to clarify requirements, constraints and
recommended linting tool.

Added credits to the changelog.
2019-09-01 23:07:12 +02:00
emacspace
592fb5863c documentation formatting: Sat Aug 31 19:04:38 UTC 2019 2019-08-31 22:15:53 +02:00
Luo Tianj
b71c78655f add flycheck-clj-kondo as an optional package 2019-08-31 20:58:30 +02:00
Sam Hedin
62ea30b479 Add cider clojuredocs keybind, remove grimoire 2019-08-27 21:31:59 +02:00
John Stevenson
cc43d5c898 [Clojure] keybinding spacemacs/clj-find-var
Update the existing `SPC m g g` keybinding to use the command
`spacemacs/clj-find-var`.  This makes finding a function definition a much
better experience as you dont have to have the REPL running to find a
definition, but when it is you can use a CIDER specific function.

`spacemacs/clj-find-var` is a wrapper that calls `cider-find-var` if the REPL is
running, otherwise it uses `dump-jump-go`.

Wrapper added in #9792
2019-07-13 15:12:55 +02:00
John Stevenson
8fd218f1e8 [Clojure] keybinding for updated repl jack-in commands
Latest CIDER release uses the following commands for starting the REPL from
within Emacs

`cider-jack-in-clj` to start a Clojure REPL
`cider-jack-in-clj&cljs` to start a Clojure and ClojureScript REPL
`cider-jack-in-cljs` to start a ClojureScript repl

The older aliases are deprecated and are being removed in the latest beta
release of CIDER

`cider-jack-in`
`cider-jack-in-clojurescript`

Keybindings for these jack-in commands have been updated and as there are three
options they have been moved under the repl > jack-in

The top level of the Clojure mode menu has the existing keybindings updated to
use the new commands.  A third top-level keybinding `&` has been added for
`cider-jack-in-clj&cljs`
2019-07-13 14:41:06 +02:00
duianto
e12278a323 Revert "[Clojure] Keybinding require Clojure repl utils in current namespace"
This reverts commit 034ee0c311.

It was rebased with the previous commits message.
2019-07-13 14:40:44 +02:00
John Stevenson
034ee0c311 [Clojure] Keybinding require Clojure repl utils in current namespace
Although the Clojure repl utils (clojure.repl) are including in the user
namespace in Clojure projects, they are not available in your application
namespace.

The existing CIDER function cider-repl-require-repl-utils adds the Clojure
repl utils into the current namespace, so you can use functions such as doc
and source.

This is often a source of confusion for those new to Clojure / CIDER.
2019-07-13 12:50:11 +02:00
John Stevenson
cd95789170 [Clojure] Keybinding require Clojure repl utils in current namespace
Although the Clojure repl utils (clojure.repl) are including in the user
namespace in Clojure projects, they are not available in your application
namespace.

The existing CIDER function cider-repl-require-repl-utils adds the Clojure
repl utils into the current namespace, so you can use functions such as doc
and source.

This is often a source of confusion for those new to Clojure / CIDER.
2019-07-13 11:52:32 +02:00
JAremko
6c12121cec fix links 2019-07-08 23:56:07 +03:00
Jonathan Chen
28adf374fe feat(clojure-lang): add cider-eval-sexp-at-point
Adds a useful CIDER command that doesn't have an idiomatic Spacemacs command.

Ref:
https://cider.readthedocs.io/en/latest/interactive_programming/#using-cider-mode
2019-07-06 00:17:03 +02:00
John Stevenson
bb34374818 Add keybinding for cider-interupt
Interrupt longer running evaluations without having to kill or reset the REPL
connection.

Placed in the evaluate section, as it is specific to the currently running
evaluation.
2019-06-13 15:27:02 +02:00
duianto
47f83609d5 [clojure][doc] markdown inline code to org verbatim
Change surrounding characters: markdown inline code to org verbatim.
2019-06-13 01:27:48 +02:00
Liu Chong
bd61f2e8a0 Remove cider.nrepl/cider-middleware in lein quick start setting
Don't need this `cider.nrepl/cider-middleware` in lein profiles.clj.

It will result in error, the `cider.nrepl/cider-middleware` not middleware but a vector of all cider-nrepl middlewares:

> https://github.com/clojure-emacs/cider-nrepl/blob/master/src/cider/nrepl.clj#L483
2019-06-12 19:31:16 +02:00
emacspace
c7c348a676 documentation formatting: Sun May 26 20:58:52 UTC 2019 2019-05-27 01:23:35 +03:00
JAremko
5cc823cc0f add flycheck-clojure 2019-05-18 02:17:43 +03:00
Anton-Latukha
f6660f82d4
Switch to the new layers generator 2019-05-15 21:08:21 +03:00
Anton-Latukha
2ee74f55da layers: lang: new structure: add DSL (&markup), framework, util
layers: lang: mv framework -> programming/framework

layers: programming: framework: upd
2019-05-15 21:05:09 +03:00
JAremko
77c680160e Add placeholder tags 2019-05-05 20:40:47 +03:00
John Stevenson
831107f478 [clojure] keybinding - cider-undef - remove symbol from current ns
Adds `SPC m e u` to the Clojure layer to call `cider-undef`, removing an
existing definition from the current namespace.

This provides a Spacemacs style keybinding for the existing Emacs style
keybinding `C-c C-u`
2019-04-20 15:26:55 +02:00
emacspace
18a998b675 documentation formatting: Thu Apr 4 16:29:54 UTC 2019 2019-04-04 23:19:59 +02:00
John Stevenson
074588475b Clojure Layer - Updated docs for Cider manual quick start
Updated documentation for Clojure layer to currently recommended versions of
build tools and `cider-nrepl`, ensuring that connecting to a manually run
Clojure REPL works correctly with the current version of CIDER.

Leiningen version 2.9.0
Boot version 2.8.2
`cider-nrepl` 0.21.1
2019-04-03 18:31:17 +02:00
emacspace
45276bd96f documentation formatting: Wed Dec 5 03:03:03 UTC 2018 2018-12-04 22:06:14 -05:00
emacspace
db0dd6d945 documentation formatting: Fri Nov 16 19:57:10 UTC 2018 2018-11-16 20:21:32 +00:00
yuhan0
f13f99d967 Enable clojure-mode refactorings without clj-refactor
- Add clojure-mode refactorings and which-key prefixes in default layer
configuration.

- Improve discoverability of the refactoring features which are not enabled
by default. When clj-refactor is installed, "SPC mr?" runs
cljr-describe-refactoring

- Refactor out repeated dolist clauses into `forall-clojure-modes` macro
which executes body forms for all clojure derived modes, and adds missing
functionality of parinfer, fancify-symbols and evil-cleverparens to
cider-repl-mode and cider-clojure-interaction-mode.
2018-11-16 19:51:21 +00:00
emacspace
901f35849a documentation fixes: Tue Oct 23 14:18:21 UTC 2018 2018-10-23 23:38:16 +03:00
JAremko
12b4fdb1fe fix sayid url 2018-10-13 23:56:28 +03:00
JAremko
cd39f80c24 Reformat documentation 2018-10-11 00:13:43 +03:00
Arne Brasseur
80baa130cf Make clj-refactor off by default, update Clojure README
Document how to use the newly introduced variables to enable sayid and
clj-refactor.

Also update the documentation on adding CIDER-related dependencies. CIDER 0.10
is three years old now, so I think the case where cider middleware isn't
injected automatically is getting rare. However there is still a good use case
for running your Clojure process outside of Emacs/CIDER, meaning you don't get
to benefit from `cider-jack-in`'s magic insjections, so I have focused more on
that case, adding information for clj-refactor's and sayid's middleware, as well
as CIDER's.
2018-10-09 22:18:51 +01:00
JAremko
6946e255e6 Reformat docs 2018-07-20 02:45:21 +03:00
Alex Argunov
c1bde286e4 clojure: move browse to help submenu, add cider-find-ns under gn 2018-07-11 00:26:33 +03:00
JAremko
7ce071b4be Format documentation 2018-02-28 03:29:48 +02:00
syl20bnr
fd90547908 clojure: fix key bindings location in README.org 2018-02-25 12:44:25 -05:00
syl20bnr
a40b79a781 clojure: sort key bindings alphabetically 2018-02-24 19:49:39 -05:00
Luo Tianj
280c7b4cef add key bindings for profiling and spec browsing 2018-02-24 19:49:38 -05:00
Adam Frey
5da932541b Fix typo in clojure/README 2018-02-17 16:09:06 -05:00
syl20bnr
5700fc5b0a Fix typos in doc for safe structural editing 2018-01-04 01:55:54 -05:00
syl20bnr
2cb98447af Move evil-cleverparens to spacemacs-evil with major mode toggle
Delete layer evil-cleverparens and move the package to spacemacs-evil layer.

The feature is called "Safe structurral editing" for lisp dialects. Support for
it is added via pre-init functions in each of the concerned layer and proper
documentation is added to their README.org files.

This also removes the recently added package evil-smartparens. The goal is
to choose the best package for evil safe structural editing. For now we use
evil-cleverparens as we supported it first, if evil-smartparens is shown to be
a better package we will be able to switch to it.
2018-01-04 01:40:52 -05:00
syl20bnr
19b42377bb clojure: document clojure-cheatsheet in README.org 2017-12-17 19:51:13 -05:00
Michael van der Nest
e3e94b8568 Added clojure-cheatsheet to clojure documentation.
see https://github.com/clojure-emacs/clojure-cheatsheet
2017-12-17 19:43:59 -05:00
J. Patrick Lanigan
df7af0ad20 Fix features format in misc README.org's
See #9346
2017-08-22 21:27:13 +03:00
JAremko
06301b2212 Improve exporting/testing 2017-08-18 20:50:21 +03:00
John Stevenson
2ecfbef20a Add keybinding to toggle between a keyword & a string
The function `clojure-toggle-keyword-string` will convert a string to a keyword,
or keyword to a string.

The keybinding is added under the Clojure refactor menu, in the
"cycle/clean/convert" section.

`SPC m r c :`

As this is a `clojure-mode` function, it is defined in the clojure-mode
refactoring keybinding section of packages.el.
2017-07-21 14:46:12 +03:00
Tim Jäger
2985a26901 Add keybinding for cider-pprint-eval-last-sexp 2017-06-21 09:34:37 +02:00
Eivind Fonn
9014197722 clojure: fix spacefmt tests 2017-05-30 12:34:31 +02:00
James Conroy-Finn
c56c927641 Bind <leader>msX to restart Cider 2017-05-30 12:00:35 +02:00