This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-09
Channels
- # announcements (1)
- # architecture (20)
- # aws (22)
- # babashka (41)
- # beginners (191)
- # chlorine-clover (66)
- # cider (19)
- # clj-kondo (54)
- # cljs-dev (15)
- # cljsrn (78)
- # clojars (1)
- # clojure (148)
- # clojure-android (4)
- # clojure-europe (7)
- # clojure-gamedev (15)
- # clojure-germany (6)
- # clojure-losangeles (46)
- # clojure-nl (23)
- # clojure-survey (3)
- # clojure-uk (46)
- # clojurescript (24)
- # conjure (21)
- # cursive (21)
- # data-science (11)
- # datomic (5)
- # events (2)
- # fulcro (28)
- # garden (32)
- # joker (2)
- # kaocha (6)
- # lambdaisland (4)
- # mount (2)
- # off-topic (11)
- # pathom (10)
- # pedestal (13)
- # re-frame (7)
- # shadow-cljs (15)
- # spacemacs (21)
- # specmonstah (1)
- # wasm (1)
- # windows (1)
- # xtdb (37)
Reload or revert any buffer in the same project as the .dir-locals.el file
No, REPL is very different from your typical LSP server. Forgetting LSP, because that's more of a protocol interface, but it comes into play because its protocol isn't designed for REPL.
It lives as a separate entity. LSP servers and other such static analysis tools are meant to provide feedback based on the source code, and are never out of sync and shouldn't be.
This is because anything trying to not only understand the code, but actually run it faces all kind of additional issues, the code can be broken and fail to evaluate for example, it can perform side effects, etc. And it might not be possible to perfectly synchronized the loaded environment of a REPL with source code as it's changing
Might also not be desired to do so (like when you want to keep state around in the REPL)
I'll give a little example. In Cursive, auto-complete is driven by the source code. In Cider, it is driven by the REPL.
So in Cider, until I send a form to the REPL to be evaluated it can't auto-complete it, even if it appears in my source code. In Cursive, if I send a form to the REPL that isn't in my source code, because I typed it in the REPL input and not on a source file, or.because I've deleted it, it can't auto-complete it.
The "dream" editor would do both in my mind. It would understand the source code itself and provide features based on that, and it would complement those with a live REPL if one is connected and add all the send to repl evaluation and loading logic.
Cider + clj-kondo/joker gets pretty close to this. There's a bit more that Emacs could do from just the source code, but still it's very good.
@didibus This tool uses clj-kondo to generate a TAGS file which you can then use in emacs: https://github.com/sogaiu/alc.index-defs