Skip to content

Commit 195be5e

Browse files
committed
fix: resolve test failures and complete diff keymap refactor
Fixes #44 - test failures were caused by missing vim.b mock in test environment. Changes: - Add vim.b metatable mock to handle buffer-local variables in tests - Update dev config diff keymaps to avoid conflicts (<leader>aa/<leader>ad) - Remove outdated keymap comments from diff.lua - Fix minor formatting issues in README.md Tests now pass: 278 successes / 0 failures / 0 errors Change-Id: I3af59441d9940869e3ed0f7566a09892908bd16b Signed-off-by: Thomas Kosiewski <[email protected]>
1 parent 0c5aaeb commit 195be5e

File tree

4 files changed

+23
-9
lines changed

4 files changed

+23
-9
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,11 @@ The diff keymaps are configured in the LazyVim spec and can be customized by mod
170170
config = true,
171171
keys = {
172172
-- ... other keymaps ...
173-
173+
174174
-- Customize diff keymaps to avoid conflicts (e.g., with debugger)
175175
{ "<leader>ya", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
176176
{ "<leader>yn", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
177-
177+
178178
-- Or disable them entirely by omitting them from the keys table
179179
},
180180
}

dev-config.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ return {
3333
{ "<leader>aQ", "<cmd>ClaudeCodeStop<cr>", desc = "Stop Claude Server" },
3434

3535
-- Diff management (buffer-local, only active in diff buffers)
36-
{ "<leader>da", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
37-
{ "<leader>dq", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
36+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
37+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
3838
},
3939

4040
-- Development configuration - all options shown with defaults commented out

lua/claudecode/diff.lua

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -583,11 +583,6 @@ function M._create_diff_view_from_window(target_window, old_file_path, new_buffe
583583
vim.b[new_buffer].claudecode_diff_new_win = new_win
584584
vim.b[new_buffer].claudecode_diff_target_win = target_window
585585

586-
-- Note: Keymaps for diff accept/deny are now configured in the LazyVim spec
587-
-- Users can customize them by adding to their plugin configuration:
588-
-- { "<leader>da", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff", buffer = true }
589-
-- { "<leader>dq", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff", buffer = true }
590-
591586
-- Return window information for later storage
592587
return {
593588
new_window = new_win,

tests/mocks/vim.lua

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,25 @@ local vim = {
582582
end,
583583
}),
584584

585+
b = setmetatable({}, {
586+
__index = function(_, bufnr)
587+
-- Return buffer-local variables for the given buffer
588+
if vim._buffers[bufnr] then
589+
if not vim._buffers[bufnr].b_vars then
590+
vim._buffers[bufnr].b_vars = {}
591+
end
592+
return vim._buffers[bufnr].b_vars
593+
end
594+
return {}
595+
end,
596+
__newindex = function(_, bufnr, vars)
597+
-- Set buffer-local variables for the given buffer
598+
if vim._buffers[bufnr] then
599+
vim._buffers[bufnr].b_vars = vars
600+
end
601+
end,
602+
}),
603+
585604
deepcopy = function(tbl)
586605
if type(tbl) ~= "table" then
587606
return tbl

0 commit comments

Comments
 (0)