Compare commits

...

2 Commits

Author SHA1 Message Date
tgrosinger 044f392526 Neovim: Add helper to open claude plan file 2026-05-13 11:53:39 -07:00
tgrosinger 521e199ff6 Neovim: Add code-review plugin
Allows easily marking up code and exporting comments to be copied into
an AI agent for acting on.
2026-05-13 11:49:20 -07:00
3 changed files with 80 additions and 0 deletions
+1
View File
@@ -4,6 +4,7 @@
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" }, "catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" },
"code-review.nvim": { "branch": "main", "commit": "ed91462e20bd08c3be71efb11a4a7d00459f0b47" },
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" }, "conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
"diffview.nvim": { "branch": "main", "commit": "fe01c7c3f11575c8d732fc0c1d52890d33ce41c0" }, "diffview.nvim": { "branch": "main", "commit": "fe01c7c3f11575c8d732fc0c1d52890d33ce41c0" },
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
+7
View File
@@ -1,3 +1,10 @@
-- Keymaps are automatically loaded on the VeryLazy event -- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here -- Add any additional keymaps here
vim.keymap.set("n", "<leader>aP", function()
Snacks.picker.files({
cwd = vim.fn.expand("~/.claude/plans"),
title = "Claude plans",
})
end, { desc = "Find Claude plan" })
@@ -0,0 +1,72 @@
-- Cheatsheet
--
-- Workflow: open a plan/diff from Claude Code, mark it up, copy, paste back.
-- Works inside Diffview buffers as well.
--
-- Keymaps:
-- <leader>rc Add comment at cursor or visual selection
-- <leader>rp Preview all comments (editable buffer)
-- <leader>ry Copy review to clipboard (paste into Claude Code)
-- <leader>rs Show comments at cursor
-- <leader>rl List all comments (Telescope/fzf/quickfix)
-- <leader>rd Delete comment at cursor
-- <leader>rx Clear all comments
-- <leader>rw Save review to file
--
-- Inside the comment input window: <C-s> submits, <Esc> or q cancels.
-- (Terminals can't distinguish <C-CR> from <CR>, so we bind <C-s> instead.)
return {
{
"folke/which-key.nvim",
opts = {
spec = {
{ "<leader>r", group = "review" },
},
},
},
{
"choplin/code-review.nvim",
cmd = {
"CodeReviewComment",
"CodeReviewShowComment",
"CodeReviewList",
"CodeReviewPreview",
"CodeReviewSave",
"CodeReviewCopy",
"CodeReviewClear",
"CodeReviewDeleteComment",
},
keys = {
{ "<leader>rc", mode = { "n", "v" }, desc = "Code review: add comment" },
{ "<leader>rp", desc = "Code review: preview" },
{ "<leader>ry", desc = "Code review: copy to clipboard" },
{ "<leader>rs", desc = "Code review: show at cursor" },
{ "<leader>rl", desc = "Code review: list comments" },
{ "<leader>rd", desc = "Code review: delete at cursor" },
{ "<leader>rx", desc = "Code review: clear all" },
{ "<leader>rw", desc = "Code review: save to file" },
},
opts = {
ui = {
input_window = {
title = " Add Comment (C-s to submit) ",
},
},
output = {
-- Flat format optimized for pasting into AI assistants like Claude Code:
-- path/to/file.lua:L42: comment text
format = "minimal",
},
},
init = function()
vim.api.nvim_create_autocmd("User", {
pattern = "CodeReviewInputEnter",
callback = function(ev)
local funcs = require("code-review").get_input_buffer_functions(ev.data.buf)
vim.keymap.set({ "i", "n" }, "<C-s>", funcs.submit, { buffer = ev.data.buf })
end,
})
end,
},
}