Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: input buffer commands #35

Open
1 task done
dlants opened this issue Jan 20, 2025 · 0 comments
Open
1 task done

feature: input buffer commands #35

dlants opened this issue Jan 20, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@dlants
Copy link
Owner

dlants commented Jan 20, 2025

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

@dlants dlants added the enhancement New feature or request label Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant