neoclide / coc.nvim

Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Other
24.15k stars 953 forks source link

feat(inlayHint): add document enable/disable inlayHint commands. #5025

Open nodech opened 1 month ago

nodech commented 1 month ago

Add {enable,disable}InlayHint commands. The base is toggleInlayHint, but this allows more control.

I wanted to disable inlay hints in insert mode, but without knowing the state of the inlayHints, calling toggle was not option. Additionally, just disabling (regardless of whether it's on) or enabling may be useful for other autocommands.

Unfortunately, I could not find a way to get configuration or state of the display hints, which is also critical to more advanced autocommands. This PR is based on toggleInlayHint, but I could not find examples of how either configuration can be exposed to Lua/Autocommands nor current state whether it's displayed or not. This is the reason this is a draft, I would love to hear feedback about getting the configuration and current state from the Lua and how to make it happen.