diffs.nvim/lua
Barrett Ruth d7ee488ef3
refactor(highlight): unified per-line extmark builder in highlight_hunk
Problem: highlight_hunk applied DiffsClear extmarks across 5 scattered
sites with ad-hoc column arithmetic. highlight_hunk_vim_syntax duplicated
the inline vim syntax path, and the deferred pass in init.lua double-called
it, creating duplicate scratch buffers and extmarks.

Solution: reorganize highlight_hunk into two clean phases:
- Phase 1: multi-line syntax computation (treesitter, vim syntax, diff
  grammar, header context text) — sets syntax extmarks only
- Phase 2: per-line chrome (DiffsClear, backgrounds, gutter, overlays,
  intra-line) — all non-syntax extmarks in one unified pass

Hoist new_code to function scope (needed by highlight_text outside the
use_ts block). Hoist at_raw_line so Phase 1d and Phase 2b share it.

Delete highlight_hunk_vim_syntax (redundant with inline path). Remove
the double-call from the deferred pass in init.lua.
2026-03-04 13:16:28 -05:00
..
diffs refactor(highlight): unified per-line extmark builder in highlight_hunk 2026-03-04 13:16:28 -05:00