refactor(nvim): simplify lazy loading configuration
This commit is contained in:
1 parent
be6d52c586
commit
f0851b44de
2 files changed
+41
-14
No files matched your search
@@ -402,7 +402,17 @@ return {
|
||||
end,
|
||||
desc = "Find Service files",
|
||||
},
|
||||
-- AI/Assistant mappings
|
||||
-- AI/Assistant mappings (Claude Code)
|
||||
["<C-a>"] = { nil, desc = "AI/Claude Code" },
|
||||
["<C-a><C-a>"] = { function() _G.claude_at_root("ClaudeCode")() end, desc = "Toggle Claude" },
|
||||
["<C-a>f"] = { function() _G.claude_at_root("ClaudeCodeFocus")() end, desc = "Focus Claude" },
|
||||
["<C-a>C"] = { function() _G.claude_at_root("ClaudeCode --resume")() end, desc = "Resume Claude" },
|
||||
["<C-a>c"] = { function() _G.claude_at_root("ClaudeCode --continue")() end, desc = "Continue Claude" },
|
||||
["<C-a>m"] = { "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" },
|
||||
["<C-a>b"] = { "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" },
|
||||
["<C-a>y"] = { "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
|
||||
["<C-a>n"] = { "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
|
||||
-- Taskfile
|
||||
["<C-t><C-t>"] = { terminals.mk_toggle, desc = "Taskfile Toggle" },
|
||||
},
|
||||
i = {
|
||||
@@ -413,6 +423,8 @@ return {
|
||||
["<C-e>"] = { "<Cmd>Neotree toggle<CR>", desc = "Open Explorer" },
|
||||
["<C-c>"] = { "<Cmd>w<CR><Cmd>bd<CR>", desc = "Save and close buffer" }, -- Modified to save and close buffer
|
||||
["<C-x>"] = { "<Cmd>w<CR><Cmd>bd<CR>", desc = "Save and close buffer" }, -- Added C-x for visual mode
|
||||
-- Claude Code visual mode
|
||||
["<C-a>"] = { "<cmd>ClaudeCodeSend<cr>", desc = "Send to Claude" },
|
||||
["D"] = {
|
||||
function()
|
||||
-- Yank the visual selection to register v
|
||||
|
||||
+28
-13
@@ -1,24 +1,39 @@
|
||||
return {
|
||||
"coder/claudecode.nvim",
|
||||
dependencies = { "folke/snacks.nvim" },
|
||||
config = true,
|
||||
config = function()
|
||||
require("claudecode").setup()
|
||||
|
||||
-- Helper function to get git root and change directory
|
||||
local function ensure_git_root()
|
||||
local git_root = vim.fn.systemlist("git rev-parse --show-toplevel")[1]
|
||||
if git_root and vim.v.shell_error == 0 then
|
||||
vim.api.nvim_set_current_dir(git_root)
|
||||
end
|
||||
end
|
||||
|
||||
-- Wrapper function to run commands at git root
|
||||
_G.claude_at_root = function(cmd)
|
||||
return function()
|
||||
ensure_git_root()
|
||||
vim.cmd(cmd)
|
||||
end
|
||||
end
|
||||
|
||||
-- Create autocommand to ensure we're at git root when opening Claude Code
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "ClaudeCodeOpen",
|
||||
callback = ensure_git_root,
|
||||
desc = "Change to git root when opening Claude Code",
|
||||
})
|
||||
end,
|
||||
-- Filetype-specific keybindings (kept here since they require ft detection)
|
||||
keys = {
|
||||
{ "<C-a>", nil, desc = "AI/Claude Code" },
|
||||
{ "<C-a><C-a>", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" },
|
||||
{ "<C-a>f", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" },
|
||||
{ "<C-a>C", "<cmd>ClaudeCode --resume<cr>", desc = "Resume Claude" },
|
||||
{ "<C-a>c", "<cmd>ClaudeCode --continue<cr>", desc = "Continue Claude" },
|
||||
{ "<C-a>m", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" },
|
||||
{ "<C-a>b", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" },
|
||||
{ "<C-a>", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" },
|
||||
{
|
||||
"<C-a>",
|
||||
"<cmd>ClaudeCodeTreeAdd<cr>",
|
||||
desc = "Add file",
|
||||
desc = "Add file from explorer",
|
||||
ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw" },
|
||||
},
|
||||
-- Diff management
|
||||
{ "<C-a>y", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
|
||||
{ "<C-a>n", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user