Fork me on GitHub
#cursive
<
2024-05-16
>
Leo E13:05:10

@cfleming Inspired by the opportunity to find out information first-hand, I will ask another question that has been tormenting me for a long time. Sometimes you come across projects full of records and protocols. And the inability to go back and forth to implementation almost completely deprives you of the ability to navigate the project. Some example

(defprotocol P
  (foo [this])
  (bar-me [this] [this y]))

(defrecord Foo
  [a b c]
  P
  (foo [this] a)
  (bar-me [this y] (+ c y)))

(bar-me (Foo. 1 2 3) 15)
What I do is open the same project in Idea and vscode. And when I need to look at the implementation of protocol, I go through the open in vscode plugin from the idea, look at the implementation there and come back. This is a working solution, but it's a crutch. I want to ask if there are any foreseeable plans to create any, even the most primitive, way of navigation for this case? I also tried to simultaneously use the cursive and clojure-lsp plugins(which can move to/from implementations) in the idea, but they interfere with each other’s functionality and cursive contains functionality better fit for me. See issues on https://github.com/cursive-ide/cursive/issues/1244, but without any information about.

2
cfleming21:05:37

Yes, protocol navigation is on my list to fix ASAP, a lot of people have asked about this recently.

cfleming21:05:13

Again, I have to fix a couple of mistakes I made a long time ago when I didn’t know what I was doing, but I’m hoping this will be in the next Cursive version.

🙏 2
raspasov01:05:00

That would be awesome, esp. for protocol-heavy projects