Skip to content

feat: display lines numbers in diff#308

Merged
sudo-tee merged 3 commits intomainfrom
feat/diff-line-nums
Mar 6, 2026
Merged

feat: display lines numbers in diff#308
sudo-tee merged 3 commits intomainfrom
feat/diff-line-nums

Conversation

@sudo-tee
Copy link
Owner

@sudo-tee sudo-tee commented Mar 6, 2026

No description provided.

Copy link
Contributor

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

Adds diff gutter line numbers to the UI diff formatter output (rendered via extmarks), and updates test fixtures accordingly.

Changes:

  • Update formatter.format_diff to compute per-line old/new line numbers from hunk headers and render a gutter via overlay extmarks.
  • Add new diff gutter highlight groups for neutral/add/delete gutters.
  • Update unit tests and expected JSON fixtures to reflect the new gutter/extmark output.

Reviewed changes

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

Show a summary per file
File Description
lua/opencode/ui/formatter.lua Parses diff hunks to compute line numbers and renders a line-number gutter via extmarks.
lua/opencode/ui/highlight.lua Adds highlight groups for the new diff gutter styling.
tests/unit/formatter_spec.lua Adds a unit test validating diff line numbers are rendered as extmarks.
tests/data/shifting-and-multiple-perms.expected.json Updates expected extmarks/lines output to include gutter changes.
tests/data/redo-once.expected.json Updates expected output for diff gutter and resulting display/action ranges.
tests/data/redo-all.expected.json Updates expected output structure/ordering to match new rendered lines and gutter extmarks.
tests/data/markdown-codefence.expected.json Updates expected extmarks/lines to include gutter rendering in diffs.
tests/data/diff.expected.json Updates expected extmarks/lines for diff gutter behavior.
tests/data/apply-patch.expected.json Expands and reorders expected JSON output to include gutter extmarks and formatted lines.

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

@sudo-tee sudo-tee force-pushed the feat/diff-line-nums branch from e5e4baa to 4cd3aa9 Compare March 6, 2026 13:40
@sudo-tee sudo-tee force-pushed the feat/diff-line-nums branch from 4cd3aa9 to 8494070 Compare March 6, 2026 13:43
@sudo-tee sudo-tee merged commit 8a66ab1 into main Mar 6, 2026
10 checks passed
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