Replies: 2 comments
-
Additional note, while conceptually there's an overlap between clj-refactor.el and clojure-lsp, in practice practically there aren't conflicts because any given action requires invoking some specific command, and of course each package's commands have unique names. Only one conflict comes to mind, namely when one creates an empty .clj file - I heard that it can get filled twice. |
Beta Was this translation helpful? Give feedback.
-
Yeah, not sure the best approach to handle those conflicts and try to avoid then besides user manually choosing which one. |
Beta Was this translation helpful? Give feedback.
-
clojure-lsp and CIDER have significant overlap. While it can make sense to use both, having both try to cover the same areas concurrently doesn't, and their conflict has been observed to be the cause of multiple reported 'bugs' and performance issues.
Because generally people install these packages separately, perhaps managed by some distro which might be too big to fully comprehend, it's easy for the related defcustoms to not follow a cohesive design.
In face of these considerations I'd propose that CIDER is a little more 'proactive' and tries to prevent issues by disabling a select subset of lsp's defcustoms if:
M-x customize
shows this state.Some usual suspects would be formatting, completion, jump-to-definition...
Interestingly, starting to have some 'lsp awareness' could open some interesting doors, e.g. choosing lsp for completion only if there isn't an active cider connection.
cc/ing @ericdallo in case he has something to add!
Beta Was this translation helpful? Give feedback.
All reactions