refactor(nvim): simplify lazy loading configuration

This commit is contained in:
Prad Nukala committed 2025-10-20 23:09:15 -04:00
1 parent be6d52c586
commit f0851b44de
2 files changed
+41 -14

No files matched your search

+13 -1
View File
@@ -402,7 +402,17 @@ return {
end, end,
desc = "Find Service files", 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" }, ["<C-t><C-t>"] = { terminals.mk_toggle, desc = "Taskfile Toggle" },
}, },
i = { i = {
@@ -413,6 +423,8 @@ return {
["<C-e>"] = { "<Cmd>Neotree toggle<CR>", desc = "Open Explorer" }, ["<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-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 ["<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"] = { ["D"] = {
function() function()
-- Yank the visual selection to register v -- Yank the visual selection to register v
+28 -13
View File
@@ -1,24 +1,39 @@
return { return {
"coder/claudecode.nvim", "coder/claudecode.nvim",
dependencies = { "folke/snacks.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 = { 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>", "<C-a>",
"<cmd>ClaudeCodeTreeAdd<cr>", "<cmd>ClaudeCodeTreeAdd<cr>",
desc = "Add file", desc = "Add file from explorer",
ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw" }, 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" },
}, },
} }