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
This is because of Shopify/ruby-lsp#1981. We need to re-think the way we locate nodes as targets and how addons can accurately declare the ones they are interested in.
To correctly identify targets, there are many cases where you need two layers of information: a surrounding parent node (like the before_save call node) and the symbol argument.
Currently, if you register for call nodes, you can identify the callback properly, but it assigns the go to definition behaviour to the method call identifier. However, if you register for handling symbol nodes (or arguments node), then you don't have access to the surrounding call node.
I think we need to create a specialized Prism::Dispatcher that not only allows you to register for events, but keeps track of the "current context" of where a node is inserted.
When using Go To Definition on code such as:
before_save :foo
It works fine on the callback name
before_save
, but try it on the symbol name:foo
fails. Both should jump to thefoo
method definition.I don't think it behaved like that previously, so this may be a regression.
The text was updated successfully, but these errors were encountered: