Description
Did you check the docs?
- I have read all the docs
Is your feature request related to a problem? Please describe.
for things like lsp diagnostics, list of buffers, hover infor for symbols, and probably some others, I think the best UX would be to provide expandable commands in the input buffer, rather than tool use or pinned context.
Especially for something like lsp diagnostics, the state is pretty ephemeral, something that's a snapshot in time, so it makes sense to just include them once.
Describe the solution you'd like
I think the basic feature would be to look for key phrases like @diag
in the input buffer, and to replace them with the full list of diagnostics in the message that's sent to the provider.
I think this is a bit "magic" and isn't super transparent...
another option is to detect the command as you type and place the content into the input buffer itself. This might be tricky as it's an editable buffer and so might feel a bit counterintuitive.
I think maybe something like a slash command / autocomplete might be the most ideal... so when you press @, a window pops up where you can select among things to include. Then when you make the selection, a placeholder is put into the chat. You can maybe interact with the placeholder somehow (like with a keybinding) to see the expanded view.
I think this would be the best flow for things like including files, buffers, symbol definitions. It's similar to how windsurf works. I'm not totally sure the best way to go about implementing this. Maybe as a custom completion source for nvim-cmp or blink?
Describe alternatives you've considered
.
Additional context
No response