Closed fredrikaverpil closed 3 months ago
@fredrikaverpil latest version resolves secrets only when they are used
Great work @Robitx it works! đ
With this change, I'm only prompted when I invoke a :Gp...
command. đ đ
A side-note, I'm noticing an error when using the default gpt4o agent (but claude 3.5 sonnet was fine as comparison):
ï Info 12:42:22 notify.info Gp.nvim Gp.nvim: Command agent: CodeGPT4o
îȘ Error 12:42:33 msg_show.lua_error Error executing vim.schedule lua callback: ...redrik/.local/share/fredrik/lazy/gp.nvim/lua/gp/init.lua:1805: 'start' is higher than 'end'
stack traceback:
[C]: in function 'nvim_buf_set_lines'
...redrik/.local/share/fredrik/lazy/gp.nvim/lua/gp/init.lua:1805: in function 'on_exit'
...redrik/.local/share/fredrik/lazy/gp.nvim/lua/gp/init.lua:1953: in function ''
vim/_editor.lua: in function <vim/_editor.lua:0>
@fredrikaverpil that's a new one, are you able to get this error deterministically?
@Robitx never mind, I can't reproduce this anymore... not sure how come I got this all the time earlier but not now. đ€·
Thanks for you work on all this! Feel free to close this issue.
@fredrikaverpil the only way I managed to get this was by prompting the model to respond with a single opened triple backticks at the start of the file, so that first and last response line would be both zero causing ll-1
to underflow to the end of the buffer and tripping VALIDATE((start <= end), "%s", "'start' is higher than 'end'"
.
vim.api.nvim_buf_set_lines(buf, ll - 1, ll, false, {})
/// Sets (replaces) a line-range in the buffer.
///
/// Indexing is zero-based, end-exclusive. Negative indices are interpreted
/// as length+1+index: -1 refers to the index past the end. So to change
/// or delete the last element use start=-2 and end=-1.
Added fl < ll
check to prevent this. Thanks for the report & closing.
Hi and thanks for making this excellent plugin! đ
I store my API keys in 1Password, and I've configured the secrets to be loaded from a CLI. For example:
This has the unfortunate side-effect of popping up a window every time I start
nvim
, for each provider/secret where I use theop
CLI.:It would be great if you could consider lazy-loading the secret when it is required, so that the window would only pop up, well, when the given agent is requesting to use a certain provider (and its secret). This way, I wouldn't get these popups everytime I start up Neovim.
Or perhaps there's some other way to configure the plugin so that this doesn't get triggered unless I e.g. type
:GpChatNew
or similar?