feat(sidebar): Add option and keymap to start a new chat directly (#2004)
This commit is contained in:
@@ -111,8 +111,9 @@ function M.ask(opts)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local has_question = opts.question ~= nil and opts.question ~= ""
|
local has_question = opts.question ~= nil and opts.question ~= ""
|
||||||
|
local new_chat = opts.new_chat == true
|
||||||
|
|
||||||
if Utils.is_sidebar_buffer(0) and not has_question then
|
if Utils.is_sidebar_buffer(0) and not has_question and not new_chat then
|
||||||
require("avante").close_sidebar()
|
require("avante").close_sidebar()
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
@@ -127,7 +128,7 @@ function M.ask(opts)
|
|||||||
sidebar:close({ goto_code_win = false })
|
sidebar:close({ goto_code_win = false })
|
||||||
end
|
end
|
||||||
require("avante").open_sidebar(opts)
|
require("avante").open_sidebar(opts)
|
||||||
if opts.new_chat then sidebar:new_chat() end
|
if new_chat then sidebar:new_chat() end
|
||||||
if opts.without_selection then
|
if opts.without_selection then
|
||||||
sidebar.code.selection = nil
|
sidebar.code.selection = nil
|
||||||
sidebar.file_selector:reset()
|
sidebar.file_selector:reset()
|
||||||
|
|||||||
@@ -435,6 +435,7 @@ M._defaults = {
|
|||||||
},
|
},
|
||||||
-- NOTE: The following will be safely set by avante.nvim
|
-- NOTE: The following will be safely set by avante.nvim
|
||||||
ask = "<leader>aa",
|
ask = "<leader>aa",
|
||||||
|
new_ask = "<leader>an",
|
||||||
edit = "<leader>ae",
|
edit = "<leader>ae",
|
||||||
refresh = "<leader>ar",
|
refresh = "<leader>ar",
|
||||||
focus = "<leader>af",
|
focus = "<leader>af",
|
||||||
|
|||||||
@@ -57,6 +57,12 @@ end
|
|||||||
|
|
||||||
function H.keymaps()
|
function H.keymaps()
|
||||||
vim.keymap.set({ "n", "v" }, "<Plug>(AvanteAsk)", function() require("avante.api").ask() end, { noremap = true })
|
vim.keymap.set({ "n", "v" }, "<Plug>(AvanteAsk)", function() require("avante.api").ask() end, { noremap = true })
|
||||||
|
vim.keymap.set(
|
||||||
|
{ "n", "v" },
|
||||||
|
"<Plug>(AvanteAskNew)",
|
||||||
|
function() require("avante.api").ask({ new_chat = true }) end,
|
||||||
|
{ noremap = true }
|
||||||
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
{ "n", "v" },
|
{ "n", "v" },
|
||||||
"<Plug>(AvanteChat)",
|
"<Plug>(AvanteChat)",
|
||||||
@@ -88,6 +94,12 @@ function H.keymaps()
|
|||||||
function() require("avante.api").ask() end,
|
function() require("avante.api").ask() end,
|
||||||
{ desc = "avante: ask" }
|
{ desc = "avante: ask" }
|
||||||
)
|
)
|
||||||
|
Utils.safe_keymap_set(
|
||||||
|
{ "n", "v" },
|
||||||
|
Config.mappings.new_ask,
|
||||||
|
function() require("avante.api").ask({ new_chat = true }) end,
|
||||||
|
{ desc = "avante: create new ask" }
|
||||||
|
)
|
||||||
Utils.safe_keymap_set(
|
Utils.safe_keymap_set(
|
||||||
"v",
|
"v",
|
||||||
Config.mappings.edit,
|
Config.mappings.edit,
|
||||||
|
|||||||
Reference in New Issue
Block a user