The context menu has way to many options. Go to definition, declaration, implementation. I never know which one to use

In theory the context menu should read the context to know which options to show instead of showing all options all the time. For example if I click on an if statement, where should it go if I select the "go to definition"? Shouldn't that option be shown only for variables and constants?
I asked the plugin developer who added those options to the contextual menu and he comment that he only adds them but has no way to get the context to know if they should be added or not.
Is it possible to add more context about where the user right clicked to better filter what options to show/hide in the menu?
Thank you.