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
Essentially, NeoVim added an additional call codeAction/resolve after calling textDocument/codeAction.
Resolve call fails with:
.rbenv/versions/3.4.2/lib/ruby/3.4.0/uri/common.rb:871:in 'Kernel#URI': bad argument (expected URI object or URI string) (ArgumentError)
from .rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/ruby-lsp-0.23.11/lib/ruby_lsp/server.rb:855:in 'RubyLsp::Server#code_action_resolve'
from .rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/ruby-lsp-0.23.11/lib/ruby_lsp/server.rb:59:in 'RubyLsp::Server#process_message'
from .rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/ruby-lsp-0.23.11/lib/ruby_lsp/base_server.rb:163:in 'block in RubyLsp::BaseServer#new_worker'
The text was updated successfully, but these errors were encountered:
Currently code_action_resolve method fails because it tries to unconditionally parse URI from the missing key params.data.uri.
My understanding from the spec is that only code actions that do not include the edit attribute are eagerly resolved and all others should be resolved lazily.
We include the data.uri attribute for all code actions we want lazy resolution, which are the refactor related actions.
The only code actions we include the edit attribute for are quickfixes for RuboCop / Standard. If we're trying access a non existent data.uri, then I suspect the editor is trying to lazily resolve the quickfixes, which shouldn't be happening as they are eagerly resolved.
Description
I initially reported this error it to NeoVim.
Please check neovim/neovim#32757
Essentially, NeoVim added an additional call
codeAction/resolve
after callingtextDocument/codeAction
.Resolve call fails with:
The text was updated successfully, but these errors were encountered: