feat(file_selector): add @buffers mention to add open buffers to chat context (#1303)
This commit is contained in:
@@ -404,4 +404,18 @@ function FileSelector:add_quickfix_files()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@return nil
|
||||||
|
function FileSelector:add_buffer_files()
|
||||||
|
local buffers = vim.api.nvim_list_bufs()
|
||||||
|
for _, bufnr in ipairs(buffers) do
|
||||||
|
if vim.api.nvim_buf_is_loaded(bufnr) then
|
||||||
|
local filepath = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
if filepath and filepath ~= "" and not vim.startswith(filepath, "avante://") then
|
||||||
|
local relative_path = Utils.relative_path(filepath)
|
||||||
|
self:add_selected_file(relative_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
return FileSelector
|
return FileSelector
|
||||||
|
|||||||
@@ -2474,6 +2474,13 @@ function Sidebar:create_input_container(opts)
|
|||||||
callback = function() self.file_selector:add_quickfix_files() end,
|
callback = function() self.file_selector:add_quickfix_files() end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
table.insert(mentions, {
|
||||||
|
description = "buffers",
|
||||||
|
command = "buffers",
|
||||||
|
details = "add open buffers to the chat context",
|
||||||
|
callback = function() self.file_selector:add_buffer_files() end,
|
||||||
|
})
|
||||||
|
|
||||||
cmp.register_source(
|
cmp.register_source(
|
||||||
"avante_commands",
|
"avante_commands",
|
||||||
require("cmp_avante.commands"):new(self:get_commands(), self.input_container.bufnr)
|
require("cmp_avante.commands"):new(self:get_commands(), self.input_container.bufnr)
|
||||||
|
|||||||
Reference in New Issue
Block a user