This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-02-23
Channels
- # announcements (11)
- # architecture (14)
- # babashka (34)
- # bangalore-clj (8)
- # beginners (108)
- # calva (10)
- # cider (19)
- # circleci (9)
- # clj-kondo (19)
- # clojars (4)
- # clojure (62)
- # clojure-australia (2)
- # clojure-europe (62)
- # clojure-italy (14)
- # clojure-nl (8)
- # clojure-poland (1)
- # clojure-spec (14)
- # clojure-uk (59)
- # clojurescript (14)
- # community-development (5)
- # conjure (2)
- # core-async (10)
- # cryogen (1)
- # cursive (11)
- # data-science (1)
- # datahike (13)
- # datomic (21)
- # deps-new (4)
- # ethereum (1)
- # events (4)
- # fulcro (34)
- # helix (2)
- # jobs (2)
- # juxt (33)
- # kaocha (4)
- # lsp (18)
- # malli (4)
- # membrane (2)
- # off-topic (23)
- # re-frame (3)
- # reitit (4)
- # remote-jobs (1)
- # reveal (6)
- # shadow-cljs (47)
- # slack-help (2)
- # spacemacs (5)
- # sql (45)
- # startup-in-a-month (6)
- # testing (4)
- # tools-deps (21)
- # xtdb (4)
Hi, I'm considering trying clojure-lsp and I'm wondering how well it plays with Cider and possibly other packages, particularly in Spacemacs. E.g. auto-completion looks like the thing that could clash. Are you using them together? If so are there any issues? And what's your most favorite lsp feature missing in Cider that you cannot live without? ๐
1. In cider you always must eval the code before you can jump to the definition, but with lsp it's there as you type it 2. cider's refactor, clj-refactor doesn't work well in my environ, not sure why, but lsp-clojure's refactor works out of the box (I mostly use ns/function level rename) 3. If you connect to a repl running in a remote machine cider's jump to definition may not work depending on the project location in remote v.s local path. But with lsp it doesn't matter.
I use cljr-add-import-to-ns
, cljr-add-require-to-ns
, and cljr-add-missing-libspec
all the time and they work well.
But things that require whole project evaluation break - e.g. cljr-rename-symbol
yeah, lsp code actions should handle the add-* ๐ and the LSP rename works perfect
Mine is probably this one: https://clojurians.slack.com/archives/CPABC1H61/p1613996419114800
As for conflicts: I am using both but Iโm not aware of any conflicts, there might be but they havenโt interrupted with my dev yet
I can't get over how well this all works. Seriously guys, marriage of clj-condo and lsp is the best thing since sliced bread.
@jumar Yeah, they work together, at least for doom-emacs, completion will use LSP and when Cider is on, it'll use Cider completions. You can control to use LSP completion instead of Cider with (setq lsp-enable-completion-at-point t)
. For more information https://emacs-lsp.github.io/lsp-mode/tutorials/clojure-guide/.
BTW My favorite feature are the https://clojure-lsp.github.io/clojure-lsp/features/#code-actions๐, especially clean-ns
and add-missing-*
Doesn't that do the opposite? Doesn't that disable LSP completion?
This is probably also one of my favorites: find the definition for a local: https://twitter.com/borkdude/status/1364194077105872896
1. In cider you always must eval the code before you can jump to the definition, but with lsp it's there as you type it 2. cider's refactor, clj-refactor doesn't work well in my environ, not sure why, but lsp-clojure's refactor works out of the box (I mostly use ns/function level rename) 3. If you connect to a repl running in a remote machine cider's jump to definition may not work depending on the project location in remote v.s local path. But with lsp it doesn't matter.