• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / revdiff
90%
master: 90%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v1.6.1
DEFAULT BRANCH: master
Repo Added 01 Apr 2026 08:15AM UTC
Token zpy25XdTlXkHx5U3syYGatR9U5X0sk8oe regen
Build 747 Last
Files 71
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH feat/scrollbar-thumb
branch: feat/scrollbar-thumb
CHANGE BRANCH
x
Reset
Sync Branches
  • feat/scrollbar-thumb
  • add-collapsed-flag
  • all-files-mode
  • annotation-list-popup
  • annotation-rowcache
  • ci-shellcheck-yaml
  • code-smells-cleanup
  • codex-plugin
  • collapsed-diff-mode
  • commit-info-popup
  • community-themes
  • compact-diff-mode
  • compact-improve
  • compare-flag
  • custom-keybindings
  • daulet/new_file
  • daulet/word_highlight
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.24.1
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.25.0
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.26.1
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.11.7
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.23
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.24
  • diff-search
  • discard-quit
  • docs/pi-package-review-fixes
  • eager-commit-fetch
  • exit-code-on-annotations
  • external-editor-annotations
  • feat/annotation-marker
  • feat/cmux-support
  • feat/history-skill-fallback
  • feat/jj-support
  • feat/launch-script-improvements
  • feat/navigation-scrollbar
  • feat/one-light-chroma-style
  • feat/open-editor-keymap
  • feat/opencode-config-docs
  • feat/overlay-mouse-support
  • feat/preload-annotations
  • feat/review-info-overlay
  • feat/reviewed-files-and-status-indicators
  • feat/scroll-indicators
  • feat/stdin-scratch-buffer
  • feat/toggle-tree-pane
  • feat/tree-focus-diff-scroll
  • feat/untracked-flag
  • feat/wheel-scroll-viewport-only
  • feat/word-diff-highlighting
  • feat/word-diff-opt-in
  • feat/zed-revdiff-task
  • feature/annotation-navigation
  • feature/binary-file-detection
  • feature/layout-agnostic-keys
  • feature/layout-agnostic-keys-v2
  • feature/new-file-and-untracked-support
  • feature/range-hunk-annotations
  • fix-ctrl-du-half-page
  • fix-file-annotation-bugs
  • fix-initial-loading-flash
  • fix-marketplace-name-in-docs
  • fix-prefix-fg-on-highlighted-lines
  • fix-tmux-title-compat
  • fix-tree-wheel-single-step
  • fix-wheel-scroll-coalesce
  • fix-wrap-right-padding
  • fix/124-page-cursor-relative-position
  • fix/center-hunk-in-viewport
  • fix/cmux-close-surface-recycled-ref
  • fix/cmux-ghostty-detection
  • fix/cmux-send-stdout-leak
  • fix/diff-viewport-visual-height-scroll
  • fix/ghostty-improvements
  • fix/issue-203-zellij-popup-size
  • fix/kitty-ssh-remote-launch
  • fix/launcher-argument-quoting
  • fix/only-dot-prefix
  • fix/overlay-path-inheritance
  • fix/pi-revdiff-review-trigger
  • fix/staged-only-empty-diff
  • fix/subdirectory-support
  • fix/theme-persist-ini-section
  • global-hunk-navigation
  • hunk-keyword-expansion
  • include-filter
  • intraline-word-diff
  • iterm2-osascript
  • launcher-override-chain
  • leader-chord-keybindings
  • line-numbers
  • markdown-toc-navigation
  • master
  • mercurial-support
  • mouse-support
  • move-code-to-app
  • only-filter
  • overlay-extraction
  • pi-revdiff-claude-workflow
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.10.0
  • refs/tags/v0.11.0
  • refs/tags/v0.12.0
  • refs/tags/v0.13.0
  • refs/tags/v0.14.0
  • refs/tags/v0.14.1
  • refs/tags/v0.15.0
  • refs/tags/v0.15.1
  • refs/tags/v0.15.2
  • refs/tags/v0.15.3
  • refs/tags/v0.16.0
  • refs/tags/v0.16.1
  • refs/tags/v0.17.0
  • refs/tags/v0.18.0
  • refs/tags/v0.18.1
  • refs/tags/v0.19.0
  • refs/tags/v0.19.1
  • refs/tags/v0.19.2
  • refs/tags/v0.2.0
  • refs/tags/v0.2.1
  • refs/tags/v0.2.2
  • refs/tags/v0.2.3
  • refs/tags/v0.2.4
  • refs/tags/v0.20.0
  • refs/tags/v0.21.0
  • refs/tags/v0.22.0
  • refs/tags/v0.23.0
  • refs/tags/v0.24.0
  • refs/tags/v0.25.0
  • refs/tags/v0.25.1
  • refs/tags/v0.26.0
  • refs/tags/v0.26.1
  • refs/tags/v0.27.0
  • refs/tags/v0.27.1
  • refs/tags/v0.28.0
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.4.2
  • refs/tags/v0.5.0
  • refs/tags/v0.6.0
  • refs/tags/v0.7.0
  • refs/tags/v0.7.1
  • refs/tags/v0.7.2
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.2.0
  • refs/tags/v1.2.1
  • refs/tags/v1.3.0
  • refs/tags/v1.4.0
  • refs/tags/v1.4.1
  • refs/tags/v1.5.0
  • refs/tags/v1.5.1
  • refs/tags/v1.6.0
  • refs/tags/v1.6.1
  • reload
  • rename-aware-diffs
  • revert/197-opencode-symlink
  • revert/opencode-setup-symlink
  • review-findings
  • review-history
  • search-history
  • shell-completions
  • sidepane-extraction
  • single-column-line-numbers-full-context
  • single-file-mode
  • skill-opencode-timeout-fix
  • skill-scripts-hg-jj
  • skill-use-claude-skill-dir
  • status-bar-line-number
  • status-line-help-overlay
  • structural-refactor
  • style-extraction
  • theme-support
  • two-ref-diff
  • ui-package-split
  • update-pi-extension-agent-tool
  • vim-motion-preset
  • widen-annot-list-popup
  • word-wrap
  • worddiff-extraction
  • worktree-bugfix
  • worktree-no-git-file-review
  • wrap-marker-style

25 Apr 2026 07:53PM UTC coverage: 89.532% (+0.09%) from 89.446%
24939288252

Pull #151

github

umputun
docs: clarify ANSI envelope preservation reasoning in scrollbar

Copilot review on PR #151 flagged the byte-width claim as misleading.
The current text said "both track and thumb share the same UTF-8 byte
width" / "Both glyphs are 3-byte UTF-8 so the slice replacement
preserves the surrounding ANSI envelope" — but scrollbarThumbRune is
the bold-wrapped string "\x1b[1m┃\x1b[22m" (12 bytes), not 3, so the
implied byte-equality argument was wrong.

Reword both spots (godoc on applyScrollbar, CLAUDE.md gotcha entry) to
state the actual mechanism: the slice operation finds the rune via
LastIndex and replaces only that rune, leaving prefix/suffix bytes
(border fg/bg ANSI) intact regardless of the thumb's added SGR wrap.
The 1-cell display width of ┃ and │ is what keeps geometry stable —
that's separate from envelope preservation.

Related to #151.
Pull Request #151: feat(ui): vertical scrollbar thumb on diff pane right border

120 of 121 new or added lines in 2 files covered. (99.17%)

8527 of 9524 relevant lines covered (89.53%)

549.16 hits per line

Relevant lines Covered
Build:
Build:
9524 RELEVANT LINES 8527 COVERED LINES
549.16 HITS PER LINE
Source Files on feat/scrollbar-thumb
  • Tree
  • List 61
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
24939288252 feat/scrollbar-thumb docs: clarify ANSI envelope preservation reasoning in scrollbar Copilot review on PR #151 flagged the byte-width claim as misleading. The current text said "both track and thumb share the same UTF-8 byte width" / "Both glyphs are 3-byte UTF-8 so ... Pull #151 25 Apr 2026 07:54PM UTC umputun github
89.53
24939101884 feat/scrollbar-thumb fix(review-loop): iteration 3 addressed 10 findings - [critical] [app/ui/view.go] apply sanitizeFilenameForDisplay to status-bar filename segments (statusBarText, statusSegmentsNoSearch, statusSegmentsMinimal). previously the sanitizer was sc... Pull #151 25 Apr 2026 07:44PM UTC umputun github
89.53
24939076071 feat/scrollbar-thumb fix(review-loop): iteration 3 addressed 10 findings - [critical] [app/ui/view.go] apply sanitizeFilenameForDisplay to status-bar filename segments (statusBarText, statusSegmentsNoSearch, statusSegmentsMinimal). previously the sanitizer was sc... push 25 Apr 2026 07:43PM UTC umputun github
89.53
See All Builds (653)

Badge your Repo: revdiff

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc