diffs.nvim/spec
Barrett Ruth f948982848 fix(commands): handle :e on diffs:// buffers via BufReadCmd
Problem: running :e on a :Gdiff buffer cleared all content because
diffs:// buffers had no BufReadCmd handler. Neovim tried to read the
buffer name as a file path, found nothing on disk, and emptied the
buffer. This affected all three buffer creation paths (gdiff,
gdiff_file, gdiff_section).

Solution: register a BufReadCmd autocmd for diffs://* that parses the
URL and regenerates diff content from git. Change buffer options from
nofile/wipe to nowrite/delete (matching fugitive's approach) so
buffer-local autocmds and variables survive across unload/reload
cycles. Store old filepath as buffer variable for rename support.
2026-02-06 22:21:33 -05:00
..
commands_spec.lua feat(fugitive): line position tracking for keymaps 2026-02-05 00:27:35 -05:00
diff_spec.lua feat(config): replace algorithm 'auto'/'native' with 'default'/'vscode' 2026-02-06 21:23:40 -05:00
fugitive_spec.lua feat(fugitive): line position tracking for keymaps 2026-02-05 00:27:35 -05:00
git_spec.lua feat: add :Gdiff, :Gvdiff, :Ghdiff commands for unified diff view 2026-02-04 19:52:17 -05:00
helpers.lua fix(parser): detect filetype from file content (shebang/modeline) 2026-02-05 01:08:43 -05:00
highlight_spec.lua feat(config): replace algorithm 'auto'/'native' with 'default'/'vscode' 2026-02-06 21:23:40 -05:00
init_spec.lua feat(config): use vim.g over .setup() 2026-02-03 16:18:55 -05:00
minimal_init.lua feat(test): testing infrastructure 2026-02-01 23:09:05 -05:00
parser_spec.lua fix(parser): detect filetype from file content (shebang/modeline) 2026-02-05 01:08:43 -05:00
read_buffer_spec.lua fix(commands): handle :e on diffs:// buffers via BufReadCmd 2026-02-06 22:21:33 -05:00