feat: add sidekick.nvim and haunt.nvim with AI and bookmark integration
- Add sidekick.nvim: Next Edit Suggestions (NES) via Copilot LSP, integrated AI CLI terminal, and Snacks picker send action (<Alt-a>) - Add haunt.nvim: in-buffer annotation/bookmark manager with Snacks picker and 6 keymaps (<leader>ha/ht/hd/hn/hp/hl) - Wire blink.cmp <Tab> to chain snippet_forward -> NES -> inline completion - Expose haunt_all and haunt_buffer as Sidekick prompt contexts - Suppress lua_ls "Loading workspace" progress bar via Noice route - Update README to document all new plugins, keymaps, and post-install steps
This commit is contained in:
+50
-1
@@ -56,6 +56,7 @@ Config.plugins.snacks = {
|
||||
keys = {
|
||||
["<a-s>"] = { "flash", mode = { "n", "i" } },
|
||||
["s"] = { "flash" },
|
||||
["<a-a>"] = { "sidekick_send", mode = { "n", "i" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -78,6 +79,9 @@ Config.plugins.snacks = {
|
||||
end,
|
||||
})
|
||||
end,
|
||||
sidekick_send = function(...)
|
||||
return require("sidekick.cli.picker.snacks").send(...)
|
||||
end,
|
||||
},
|
||||
},
|
||||
notifier = { enabled = true },
|
||||
@@ -281,7 +285,19 @@ lazyload.on_vim_enter(function()
|
||||
|
||||
-- 3. Blink.cmp setup
|
||||
require("blink.cmp").setup({
|
||||
keymap = { preset = "default" },
|
||||
keymap = {
|
||||
preset = "default",
|
||||
["<Tab>"] = {
|
||||
"snippet_forward",
|
||||
function()
|
||||
return require("sidekick").nes_jump_or_apply()
|
||||
end,
|
||||
function()
|
||||
return vim.lsp.inline_completion.get()
|
||||
end,
|
||||
"fallback",
|
||||
},
|
||||
},
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
nerd_font_variant = "mono",
|
||||
@@ -445,10 +461,43 @@ lazyload.on_vim_enter(function()
|
||||
inc_rename = true, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
},
|
||||
routes = {
|
||||
{
|
||||
filter = {
|
||||
event = "lsp",
|
||||
kind = "progress",
|
||||
find = "Loading workspace",
|
||||
},
|
||||
opts = { skip = true },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Kitty Scrollback
|
||||
vim.pack.add({ { src = "https://github.com/mikesmithgh/kitty-scrollback.nvim", name = "kitty-scrollback" } })
|
||||
Config.plugins.kitty_scrollback = {}
|
||||
require("kitty-scrollback").setup(Config.plugins.kitty_scrollback)
|
||||
|
||||
-- Haunt.nvim
|
||||
vim.pack.add({ { src = "https://github.com/TheNoeTrevino/haunt.nvim", name = "haunt" } })
|
||||
Config.plugins.haunt = {
|
||||
picker = "snacks",
|
||||
}
|
||||
require("haunt").setup(Config.plugins.haunt)
|
||||
|
||||
-- Sidekick.nvim
|
||||
vim.pack.add({ { src = "https://github.com/folke/sidekick.nvim", name = "sidekick" } })
|
||||
Config.plugins.sidekick = {
|
||||
cli = {
|
||||
prompts = {
|
||||
haunt_all = function()
|
||||
return require("haunt.sidekick").get_locations()
|
||||
end,
|
||||
haunt_buffer = function()
|
||||
return require("haunt.sidekick").get_locations({ current_buffer = true })
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
require("sidekick").setup(Config.plugins.sidekick)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user