This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-03-19
Channels
- # announcements (52)
- # asami (83)
- # atom-editor (1)
- # babashka (143)
- # beginners (123)
- # calva (18)
- # chlorine-clover (21)
- # cider (7)
- # clj-kondo (57)
- # cljs-dev (4)
- # clojure (209)
- # clojure-boston (1)
- # clojure-europe (27)
- # clojure-germany (12)
- # clojure-italy (17)
- # clojure-nl (3)
- # clojure-serbia (6)
- # clojure-spec (1)
- # clojure-uk (59)
- # clojurescript (82)
- # conjure (9)
- # core-async (6)
- # cursive (20)
- # data-science (1)
- # datahike (1)
- # datascript (1)
- # datomic (86)
- # duct (5)
- # emacs (6)
- # events (6)
- # figwheel-main (4)
- # fulcro (27)
- # graalvm (19)
- # leiningen (14)
- # lsp (30)
- # malli (48)
- # meander (3)
- # off-topic (6)
- # pedestal (2)
- # practicalli (1)
- # rewrite-clj (21)
- # shadow-cljs (18)
- # sql (15)
- # tools-deps (9)
- # vim (3)
- # wasm (3)
- # xtdb (18)
I missed this :) https://emacs-lsp.github.io/lsp-mode/tutorials/debugging-clojure-script/
Is it also on clojure-lsp?
I posted on #emacs :) But no, it's required to have lsp-mode running to use this that is in dap-mode, but clojure-lsp has nothing related with that
Can anybody tell me why is SQLite used in Clojure-LSP?
we could use transit or something simpler, but we would lose the advantage of transaction making sure we always persist correctly the analysis
Here you can find more info as well: https://github.com/clojure-lsp/clojure-lsp/issues/234
@UKFSJSM38 I saw that db/read-deps
and db/save-deps
are being called only in crawler
, which leads up to crawler/initialize-project
being called from handlers/initialize
, which is called from main/server
.
Is there any race condition in main/server
that may require any transactional isolation?
And I can see only one row being persisted in db/save-deps
So, the data being written is not so much, and the read/write could be technically isolated by locking on an interned absolute string filename.
Just trying to think aloud here on how to achieve isolation/safety without using a database.
Yes, it turns out clojure-lsp process can end any time if user restart the server, close project, close editor etc
I discussed that with @U0BUV7XSA other day, we could probably change to use transit and accept this tradeoff, if the data from the file is corrupted/non parseable, we drop the analysis and re analyze
Are there going to be multiple Clojure-LSP processes competing to write to the same file?
Then your summary https://clojurians.slack.com/archives/CPABC1H61/p1616191137029000?thread_ts=1616159334.023200&cid=CPABC1H61 sounds like a good plan to me.
hey I would like to work towards the incoming references
feature in clojure-lsp
this week end. I'm learning Clojure (I write Haskell at my day job), and I'm mostly interested in copying the workflows, tools and thought processes from clojurians, so if someone wants to pair (I can drive) that would be amazing 😀
BTW incoming references are already implemented, you probably meant outcoming call hierarchy?
Hey @UA7E6DU04, are you looking this? https://github.com/clojure-lsp/clojure-lsp/issues/384
Hey @UKFSJSM38, please feel free to start working on it! I'd hate the feature to be delayed on my account! Can't wait to try it!
Thanks 🙂 I already implemented, it was not hard after the work done by incoming call hierarchy 😄 I'm doing some tests and fixing some user cases
If you want to give a try: https://github.com/clojure-lsp/clojure-lsp/pull/387