Files
2026-06-01 00:26:19 +08:00

104 lines
1.8 KiB
Lua

return {
"folke/sidekick.nvim",
enabled = true,
opts = {
cli = {
win = {
layout = "right",
split = {
width = 0,
height = 20,
},
config = function(terminal)
terminal.opts.split.width = math.floor(vim.o.columns * 0.6)
end,
keys = {
buffers = false,
},
},
mux = {
backend = vim.env.ZELLIJ and "zellij" or "tmux",
enabled = true,
},
},
},
keys = {
{
"<C-\\>",
function()
require("sidekick.cli").toggle()
end,
mode = { "n", "i", "t" },
desc = "Sidekick Toggle",
},
{
"<leader>ao",
function()
require("sidekick.cli").toggle({ focus = true })
end,
desc = "Sidekick Open",
},
{
"<leader>ax",
function()
require("sidekick.cli").hide()
end,
desc = "Sidekick Close",
},
{
"<leader>aa",
function()
require("sidekick.cli").toggle()
end,
desc = "Sidekick Toggle",
},
{
"<leader>as",
function()
require("sidekick.cli").select()
end,
-- Or to select only installed tools:
-- require("sidekick.cli").select({ filter = { installed = true } })
desc = "Select CLI",
},
{
"<leader>ad",
function()
require("sidekick.cli").close()
end,
desc = "Detach a CLI Session",
},
{
"<leader>at",
function()
require("sidekick.cli").send({ msg = "{this}" })
end,
mode = { "x", "n" },
desc = "Send This",
},
{
"<leader>af",
function()
require("sidekick.cli").send({ msg = "{file}" })
end,
desc = "Send File",
},
{
"<leader>av",
function()
require("sidekick.cli").send({ msg = "{selection}" })
end,
mode = { "x" },
desc = "Send Visual Selection",
},
{
"<leader>ap",
function()
require("sidekick.cli").prompt()
end,
mode = { "n", "x" },
desc = "Sidekick Select Prompt",
},
},
}