Skip to content

fix(inline): stack tree-sitter captures so @spell doesn't drop @comment's fg#159

Merged
dlyongemallo merged 1 commit intomainfrom
deletion_highlight_scope
May 6, 2026
Merged

fix(inline): stack tree-sitter captures so @spell doesn't drop @comment's fg#159
dlyongemallo merged 1 commit intomainfrom
deletion_highlight_scope

Conversation

@dlyongemallo
Copy link
Copy Markdown
Owner

Relates to #156 (comment).

Copilot AI review requested due to automatic review settings May 6, 2026 09:05
@dlyongemallo dlyongemallo merged commit 2086ca2 into main May 6, 2026
9 checks passed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Diffview’s inline deletion rendering to keep Tree-sitter highlight attributes composable when multiple captures overlap (notably ensuring decoration-only captures like @spell don’t clobber earlier captures’ foreground like @comment). This fits into the inline diff rendering path by improving how virt_line highlight group stacks are constructed for deleted text.

Changes:

  • Change captured_chunks to preserve the full per-byte capture stack (instead of reducing to a single “latest” capture).
  • Coalesce runs by comparing stacked capture lists, and forward { del_hl, cap1, cap2, ... } to let Neovim merge attributes correctly.
  • Extend functional tests to cover overlapping capture stacking and the @comment + @spell regression scenario.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
lua/diffview/scene/inline_diff.lua Reworks captured_chunks to build/compare per-byte capture stacks and forward the full hl-group list for correct attribute composition.
lua/diffview/tests/functional/inline_diff_spec.lua Updates/extends tests to assert stacked capture behavior, including @spell not dropping @comment fg.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dlyongemallo dlyongemallo deleted the deletion_highlight_scope branch May 6, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants