lsp

sheluchin 2025-05-13T17:38:33.328539Z

If I create a new folder and start editing an empty bb.edn within it, the Analyzing external classpath step takes quite a long time. I'm using neovim. Is there some config I'm missing that would eliminate this long startup time on an empty project?

ericdallo 2025-05-13T17:52:27.688959Z

there are plans to show feedback about that, but in the end is a command in the shell taking time

ericdallo 2025-05-13T17:52:41.819159Z

in this case bb print-deps --format classpath

ericdallo 2025-05-13T17:52:58.179689Z

you can try run in your project too see

Ovi Stoica 2025-05-13T19:43:25.818989Z

Here’s an area where clojurescript needs improvement and where clojure is better: Go to definition of interop import In clj

(ns  
  (:import java.time Date))
...
If I right click “Go to Definition” on Date, in most editors I can explore the Java date package But in cljs
(ns 
  (:require ["react" :as r])

(r/renderElement "div")
If I right click “Go to definition” for r nothing happens so cljs devs are kinda forced to operate in the dark in that sense or you learn to explore with the REPL or you actually go manually to node_modules and inspect the typescript declaration files or javascript to understand what is there Is there anything on the roadmap to support cljs interop static analysis in node_modules? a.k.a borrow from typescript/javascript LSP?

ericdallo 2025-05-13T19:46:10.688679Z

Yes, I'm aware of that, and https://github.com/clojure-lsp/clojure-lsp/issues/2040 to improve clojure-lsp to be able to support that easier, this is the same problem of cljd interop, since we don't have analysis about other langs. Having a way to extend clojure-lsp to support other analysis providers would help both cljs and cljd to use other libs that provide analysis about that, although there is a lot of work for that happen yet

🚀 2
Ovi Stoica 2025-05-13T19:55:05.874099Z

THank you! That is awesome news!

🚀 1
ericdallo 2025-05-13T19:55:42.878599Z

It's something I want to take a closer look next month :)

Ovi Stoica 2025-05-13T19:56:25.087099Z

Eager to see this development

ericdallo 2025-05-13T19:57:53.709219Z

It can be split into 2 stages: • refactor clojure-lsp to support multi analysis providers • Find / create a lib that provide analysis about js packages. I did something similar with https://github.com/clj-easy/stub, which starts a clojure process and export data as analysis