So, yep, you definitely need code actions here.
/aside
One of the hardest problems when building an IDE is teaching your users that a particular feature exists. IDEs have ton of smart thing, but users don’t use them because they don’t even realize such things are possible.
Intention(IntelliJ terminology) or code action (lsp term) are perfect for solving this problem: as soon as you cursor is at something which can be interacted with in a smart way, you get shown a lightbulb, which signifies “hey, I can do something smart here”
/aside
For showing arbitrary info about holes, take a look at hover an code lens.
Showing a lot of content in a separate pane is not really supported by the protocol per se, but it’s easy to extend it to do just that. See how “show syntax tree” thing is implemented in the vscode plugin for rust analyzer.