You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed that ElixirLS does not use ElixirSense.references/3. That means it will not benefit from the latest changes that provide accurate information on function calls references, including the column range and a bunch of other improvements. Those changes are absolutely necessary for the refactoring feature.
@balduncle, maybe this was the problem you were facing?
@JakeBecker be aware that the current ElixirLS implementation is not compatible with the latest version of ElixirSense. There's at least one breaking change regarding ElixirLS.LanguageServer.Providers.References calling functions from the ElixirSense.Core.Introspection module. Usually, in order to avoid more incompatibilities, clients should try as much as possible to only call functions from the public ElixirSense module API, which is the official API.
As far as I could see, the only thing that was implemented in the ElixirLS version that was not implemented in ElixirSense, is the support for references in umbrella projects here.
So, I believe we should, in ElxirSense:
Add umbrella support for "Find references"
Document that only functions from the ElixirSense module are part of the public API.
In ElixirLS:
Use ElixirSense.references/3 instead of own implementation
Search for other modules that are using ElixirSense non-public API and check if they still work.
@axelson and @lukaszsamson I'm not sure if elixir-lsp/elixir-ls is in sync with the upstream version but I believe it would present the same problem.
The text was updated successfully, but these errors were encountered:
@msaraiva yes it certainly was and I didn't have the time to dig into the code and give you a well formulated assessment of how the new functionality was working. Sorry for the delay.
I noticed that ElixirLS does not use
ElixirSense.references/3
. That means it will not benefit from the latest changes that provide accurate information on function calls references, including the column range and a bunch of other improvements. Those changes are absolutely necessary for the refactoring feature.@balduncle, maybe this was the problem you were facing?
@JakeBecker be aware that the current ElixirLS implementation is not compatible with the latest version of ElixirSense. There's at least one breaking change regarding
ElixirLS.LanguageServer.Providers.References
calling functions from theElixirSense.Core.Introspection
module. Usually, in order to avoid more incompatibilities, clients should try as much as possible to only call functions from the publicElixirSense
module API, which is the official API.As far as I could see, the only thing that was implemented in the ElixirLS version that was not implemented in ElixirSense, is the support for references in umbrella projects here.
So, I believe we should, in ElxirSense:
ElixirSense
module are part of the public API.In ElixirLS:
ElixirSense.references/3
instead of own implementation@axelson and @lukaszsamson I'm not sure if
elixir-lsp/elixir-ls
is in sync with theupstream
version but I believe it would present the same problem.The text was updated successfully, but these errors were encountered: