diff --git a/lazy-lock.json b/lazy-lock.json index f8f364a..d8dc14f 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -4,6 +4,7 @@ "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, "catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" }, + "claudecode.nvim": { "branch": "main", "commit": "288c9bf8834e5d7e401d1485fb5f684b1c2d7c72" }, "conform.nvim": { "branch": "master", "commit": "18aeab3d63d350dcf44d64c462cc489a3412af40" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, diff --git a/lazyvim.json b/lazyvim.json index ed7118c..e405ea5 100644 --- a/lazyvim.json +++ b/lazyvim.json @@ -1,5 +1,6 @@ { "extras": [ + "lazyvim.plugins.extras.ai.claudecode", "lazyvim.plugins.extras.lang.docker", "lazyvim.plugins.extras.lang.git", "lazyvim.plugins.extras.lang.go", diff --git a/lua/plugins/claudecode.lua b/lua/plugins/claudecode.lua new file mode 100644 index 0000000..22cd4a1 --- /dev/null +++ b/lua/plugins/claudecode.lua @@ -0,0 +1,44 @@ +return { + "coder/claudecode.nvim", + dependencies = { "folke/snacks.nvim" }, + config = true, + -- `cmd` lets lazy.nvim create command stubs that load the plugin on first use, + -- so `:ClaudeCode` and friends work on a fresh start. Without it, a keys-only + -- spec defers loading until a a* mapping is pressed and the commands + -- would not exist yet. + cmd = { + "ClaudeCode", + "ClaudeCodeFocus", + "ClaudeCodeSelectModel", + "ClaudeCodeAdd", + "ClaudeCodeSend", + "ClaudeCodeTreeAdd", + "ClaudeCodeStatus", + "ClaudeCodeStart", + "ClaudeCodeStop", + "ClaudeCodeOpen", + "ClaudeCodeClose", + "ClaudeCodeDiffAccept", + "ClaudeCodeDiffDeny", + "ClaudeCodeCloseAllDiffs", + }, + keys = { + { "a", nil, desc = "AI/Claude Code" }, + { "ac", "ClaudeCode", desc = "Toggle Claude" }, + { "af", "ClaudeCodeFocus", desc = "Focus Claude" }, + { "ar", "ClaudeCode --resume", desc = "Resume Claude" }, + { "aC", "ClaudeCode --continue", desc = "Continue Claude" }, + { "am", "ClaudeCodeSelectModel", desc = "Select Claude model" }, + { "ab", "ClaudeCodeAdd %", desc = "Add current buffer" }, + { "as", "ClaudeCodeSend", mode = "v", desc = "Send to Claude" }, + { + "as", + "ClaudeCodeTreeAdd", + desc = "Add file", + ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw", "snacks_picker_list" }, + }, + -- Diff management + { "aa", "ClaudeCodeDiffAccept", desc = "Accept diff" }, + { "ad", "ClaudeCodeDiffDeny", desc = "Deny diff" }, + }, +}