• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

fyne-io / terminal / 23718147220
50%
master: 51%

Build:
Build:
LAST BUILD BRANCH: feature/fontstyles
DEFAULT BRANCH: master
Ran 05 Apr 2026 07:17PM UTC
Jobs 1
Files 17
Run time 1min
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

29 Mar 2026 08:16PM UTC coverage: 52.449% (-2.6%) from 55.021%
23718147220

Pull #144

github

pneumaticdeath
Add curses/fullscreen app support: alt buffer, missing CSI sequences, parsing fix

Curses-based applications (e.g. NetHack, vim, htop) rely on several CSI
escape sequences and terminal features that were not previously handled,
causing rendering artifacts such as old screen content showing through
popup windows and garbled escape sequences displayed as literal text.

New escape sequences:
- ECH (CSI Ps X): Erase Character — blanks Ps characters from cursor
- DL (CSI Ps M): Delete Line — removes lines within scroll region
- SD (CSI Ps T): Scroll Down — scrolls region down, inserts blanks
- REP (CSI Ps b): Repeat — repeats preceding graphic character Ps times
- Window ops (CSI Ps;..t): title save/restore — accepted as no-op

Alternate screen buffer:
- Implement enterAltBuffer/exitAltBuffer for CSI ?1049h/l and ?47h/l
- Deep-copies grid content on enter, restores on exit
- Prevents curses app content from corrupting the main screen

Fix cross-buffer escape sequence parsing:
- Replace position-based ESC detection (t.state.esc == i-1) with a
  boolean flag (escNext) that persists correctly across read buffer
  boundaries. Previously, when ESC was the last byte of one read and
  '[' was the first byte of the next, the CSI sequence was not
  recognised, causing the parameters (e.g. "0;33H") to render as
  literal text on screen.

Other fixes:
- CSI 2K (erase entire line) now clears the row instead of filling
  with zero-valued cells
- Always call Refresh() after processing output, not only when there
  is no leftover data — fixes missed redraws during data bursts
- Handle private modes: DECCKM (?1), blink (?12), empty mode

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pull Request #144: Add curses/fullscreen app support: alt buffer, missing CSI sequences, parsing fix

5 of 103 new or added lines in 3 files covered. (4.85%)

1028 of 1960 relevant lines covered (52.45%)

1130.09 hits per line

Uncovered Changes

Lines Coverage ∆ File
98
42.92
-11.57% escape.go
Jobs
ID Job ID Ran Files Coverage
1 23718147220.1 05 Apr 2026 07:17PM UTC 17
52.45
GitHub Action Run
Source Files on build 23718147220
  • Tree
  • List 17
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #144
  • PR Base - master (#20899909056)
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