Skip to content

Rewrote the README feature, field and theme sections as scannable lists and sections. - #160

Merged
AlexSkrypnyk merged 2 commits into
mainfrom
feature/readme-sections
Aug 12, 2026
Merged

Rewrote the README feature, field and theme sections as scannable lists and sections.#160
AlexSkrypnyk merged 2 commits into
mainfrom
feature/readme-sections

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

The README's three gallery sections each presented their content in a shape that fought the content: Features packed API detail - method names, argument shapes, enum cases - into a dense table cell, Fields squeezed every demo recording to half width inside a raw HTML table, and Themes stated each palette twice. All three are now scannable lists and sections instead of tables: 23 feature bullets that describe what a feature lets you do rather than how to call it, 16 field sections with the recording at full width below its own heading and description, and 6 theme sections that state the palette once. Rendering was verified through GitHub's markdown API in markdown mode (the mode a README actually renders in, unlike gfm comment mode where soft newlines double up) - confirming 23 feature bullets, 22 field-and-theme sections, exactly one <br> per bullet, every local asset path resolving, and every phptui.dev link pointing at a page that exists. One tradeoff worth flagging: the page is now roughly 17 screens tall, about 4 more than before, because the 16 field recordings run about 440px each at full width instead of about 230px at half width.

Changes

  • Features: replaced the four-column table (Feature / Summary / Docs / Example) with a bullet list of 23 items; each item puts the icon, bold feature name, and the docs/playground links on the first line and a plain sentence or two underneath explaining what the feature lets you do and why that helps, with the API-signature detail removed from the README entirely since it already lives on the linked reference page - for example, Discovery went from "Update mode detects defaults from an existing directory: dotenv keys, JSON dot-paths, path checks, directory scans" to "Run it again on an existing project and the answers arrive pre-filled from what is already there, turning an update into a review rather than a re-entry."
  • Fields: replaced the raw HTML two-column table (recording at 50% width beside a blurb) with one section per field: an ### heading linking to the field's reference page, the description underneath as its own paragraph, and the recording at full width below that; inline <code> and <strong> markup became plain markdown backticks and headings, while <kbd> stayed since GitHub renders it.
  • Themes: replaced the names-and-palettes table plus the separate bold-label repeat above each screenshot pair with one section per theme: the theme name as an ### heading, the palette description underneath, and the dark and light renders below that; default joins the list with a note saying why it carries no render of its own - render-theme-svgs.php covers only the four adaptive themes plus dos, and every recording on the README, both demos at the top and all sixteen fields, is already drawn in default.
  • Icon fix: Layouts no longer shares the compass icon with Full-screen TUI - it now uses a map icon.

Screenshots

Features section as a scannable bullet list

Fields section as individual full-width entries

Themes section stating each palette once

Before / After

BEFORE                                           AFTER
┌───────────────────────────────────────┐        ┌───────────────────────────────────────┐
│ Features                               │        │ Features                               │
│ ┌──────┬──────────┬──────┬──────────┐  │        │ • icon  Name · docs · example          │
│ │ Icon │ Summary   │ Docs │ Example │  │  --->   │     plain sentence: what & why         │
│ │      │ (API text,│      │         │  │        │ • icon  Name · docs · example          │
│ │      │  60 words)│      │         │  │        │     plain sentence: what & why         │
│ └──────┴──────────┴──────┴──────────┘  │        │   (23 bullets, no API detail)          │
├───────────────────────────────────────┤        ├───────────────────────────────────────┤
│ Fields                                 │        │ Fields                                 │
│ ┌────────────────┬──────────────────┐  │        │ ### Calendar                           │
│ │ recording @50%  │ blurb (caption)  │  │  --->  │ description paragraph                  │
│ │ recording @50%  │ blurb (caption)  │  │        │ [ recording, full width ]              │
│ │       ...       │       ...        │  │        │ ### Confirm ...  (16 sections)         │
│ └────────────────┴──────────────────┘  │        └───────────────────────────────────────┘
├───────────────────────────────────────┤        ├───────────────────────────────────────┤
│ Themes                                 │        │ Themes                                 │
│ | Name     | Palette |                 │        │ ### midnight                           │
│ | midnight | ...     |     **midnight**│  --->  │ palette description                    │
│ | frost    | ...     |   [dark][light] │        │ [ dark render ][ light render ]        │
│   (palette stated twice)               │        │   (6 sections, palette stated once)    │
└───────────────────────────────────────┘        └───────────────────────────────────────┘

Summary by CodeRabbit

  • Documentation
    • Reformatted feature documentation into clearer, more readable sections.
    • Improved the fields catalog with linked headings, descriptions, and responsive light/dark visuals.
    • Expanded theme documentation to cover all six themes, including the default and DOS themes.

…ts and sections.

The Features table crammed a full technical description of each feature into a cell, so the column ran to several lines and the reader had to parse an API signature to learn what the feature was for. It is now a list: an icon, the name, and the two links on the first line, then a plain sentence or two saying what it lets you do and why that helps. No method names, no argument shapes - those are on the reference page each entry links to.

The Fields gallery was a two-column table of demo beside blurb, which squeezed every recording to half width and put the description where it read as a caption. Each field now has a heading that links to its reference, its description under it, and the recording at full width below that.

The Themes section stated each palette twice - once in a table of names and once as a bold label over its screenshots. Each theme now has one section: the name as a heading, the palette description under it, and the dark and light renders below. The default theme joins them, noting that the demos at the top of the page are what it looks like.

Two icons were both a compass; layouts takes a map instead.
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: cc8722c1-634f-4729-a247-a3eb9af72bf8

📥 Commits

Reviewing files that changed from the base of the PR and between 80ae964 and fa699bf.

📒 Files selected for processing (1)
  • README.md

📝 Walkthrough

Walkthrough

The README was reformatted to replace feature, field, and theme tables with expanded Markdown sections. The update adds linked feature bullets, responsive light/dark field images, and dedicated descriptions for all six themes.

Changes

README Documentation

Layer / File(s) Summary
README content restructuring
README.md
Feature documentation now uses linked emoji bullets. Field documentation uses individual sections with responsive light/dark images. Theme documentation uses dedicated headings and expanded descriptions.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the README changes by identifying the feature, field, and theme sections and their conversion to scannable content.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/readme-sections

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 398-400: Update the README’s `default` theme section to include
previews for both its dark and light renders, matching the preview format used
by the other theme sections and preserving the existing description.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 867c3d28-8918-4e5f-98a7-c6d7a57a7eda

📥 Commits

Reviewing files that changed from the base of the PR and between b1e7a52 and 80ae964.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
@github-actions

This comment has been minimized.

@codecov

codecov Bot commented Aug 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.05%. Comparing base (b1e7a52) to head (fa699bf).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #160   +/-   ##
=======================================
  Coverage   98.05%   98.05%           
=======================================
  Files         150      150           
  Lines        6054     6054           
=======================================
  Hits         5936     5936           
  Misses        118      118           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@github-actions

Copy link
Copy Markdown
Code Coverage Report:
  2026-08-12 05:13:03

 Summary:
  Classes: 80.67% (121/150)
  Methods: 95.76% (1492/1558)
  Lines:   98.05% (5936/6054)

DrevOps\PhpTui\Answers\Answer
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Answers\Answers
  Methods: 100.00% (11/11)   Lines: 100.00% ( 23/ 23)
DrevOps\PhpTui\Answers\Provenance
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  7/  7)
DrevOps\PhpTui\Answers\SummaryFormatter
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 22/ 22)
DrevOps\PhpTui\Answers\ValueFormatter
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  6/  6)
DrevOps\PhpTui\Block\AbstractBlock
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  3/  3)
DrevOps\PhpTui\Block\Actions
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 25/ 25)
DrevOps\PhpTui\Block\Breadcrumb
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  6/  6)
DrevOps\PhpTui\Block\Buttons
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Block\Capability\BindCapableTrait
  Methods:  80.00% ( 4/ 5)   Lines:  90.00% (  9/ 10)
DrevOps\PhpTui\Block\Capability\DependCapableTrait
  Methods: 100.00% (10/10)   Lines: 100.00% ( 19/ 19)
DrevOps\PhpTui\Block\Capability\FocusCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  5/  5)
DrevOps\PhpTui\Block\DateBounds
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 28/ 28)
DrevOps\PhpTui\Block\Field
  Methods:  97.69% (127/130)   Lines:  95.74% (382/399)
DrevOps\PhpTui\Block\FieldType
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 24/ 24)
DrevOps\PhpTui\Block\FilePickerConstraints
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 53/ 53)
DrevOps\PhpTui\Block\Legend
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 34/ 34)
DrevOps\PhpTui\Block\Markup
  Methods: 100.00% (10/10)   Lines: 100.00% ( 27/ 27)
DrevOps\PhpTui\Block\NumberBounds
  Methods:  83.33% ( 5/ 6)   Lines:  95.24% ( 20/ 21)
DrevOps\PhpTui\Block\Option
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 18/ 18)
DrevOps\PhpTui\Block\Panel
  Methods:  91.89% (34/37)   Lines:  95.73% (112/117)
DrevOps\PhpTui\Block\Progress
  Methods: 100.00% (13/13)   Lines: 100.00% ( 37/ 37)
DrevOps\PhpTui\Block\Prose
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 16/ 16)
DrevOps\PhpTui\Block\SelectionBounds
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 23/ 23)
DrevOps\PhpTui\Block\TableSpec
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  9/  9)
DrevOps\PhpTui\Block\Template
  Methods: 100.00% (19/19)   Lines: 100.00% ( 69/ 69)
DrevOps\PhpTui\Block\Tree
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 52/ 52)
DrevOps\PhpTui\Block\Weekday
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
DrevOps\PhpTui\Builder\FieldBuilder
  Methods:  98.41% (62/63)   Lines:  99.08% (216/218)
DrevOps\PhpTui\Builder\Fixup
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Builder\Form
  Methods:  87.50% (21/24)   Lines:  96.27% (129/134)
DrevOps\PhpTui\Builder\PanelBuilder
  Methods:  96.97% (32/33)   Lines:  98.86% ( 87/ 88)
DrevOps\PhpTui\Condition\CompositeCondition
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 19/ 19)
DrevOps\PhpTui\Condition\Condition
  Methods: 100.00% (10/10)   Lines: 100.00% ( 38/ 38)
DrevOps\PhpTui\Derive\Derive
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 10/ 10)
DrevOps\PhpTui\Derive\Deriver
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 13/ 13)
DrevOps\PhpTui\Derive\Transform
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  7/  7)
DrevOps\PhpTui\Discovery\AbstractDiscover
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Discovery\Dotenv
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 19/ 19)
DrevOps\PhpTui\Discovery\JsonValue
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 16/ 16)
DrevOps\PhpTui\Discovery\PathExists
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\PhpTui\Discovery\Scan
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 20/ 20)
DrevOps\PhpTui\Field\AbstractField
  Methods:  91.30% (21/23)   Lines:  96.88% ( 62/ 64)
DrevOps\PhpTui\Field\Calendar
  Methods: 100.00% (13/13)   Lines: 100.00% ( 52/ 52)
DrevOps\PhpTui\Field\Capability\CompletionCapableTrait
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 16/ 16)
DrevOps\PhpTui\Field\Capability\FilterCapableTrait
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
DrevOps\PhpTui\Field\Capability\OptionsCapableTrait
  Methods: 100.00% (10/10)   Lines: 100.00% ( 36/ 36)
DrevOps\PhpTui\Field\Capability\PagingCapableTrait
  Methods:  80.00% ( 4/ 5)   Lines:  94.74% ( 18/ 19)
DrevOps\PhpTui\Field\Capability\PlaceholderCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  7/  7)
DrevOps\PhpTui\Field\Capability\QueryOptionsCapableTrait
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 36/ 36)
DrevOps\PhpTui\Field\Capability\SearchCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  4/  4)
DrevOps\PhpTui\Field\Capability\SelectionBoundedTrait
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  4/  4)
DrevOps\PhpTui\Field\Capability\SelectionCapableTrait
  Methods: 100.00% (14/14)   Lines: 100.00% ( 95/ 95)
DrevOps\PhpTui\Field\Capability\TextEditCapableTrait
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 36/ 36)
DrevOps\PhpTui\Field\Confirm
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 24/ 24)
DrevOps\PhpTui\Field\FieldFactory
  Methods: 100.00% (12/12)   Lines: 100.00% ( 59/ 59)
DrevOps\PhpTui\Field\FilePicker
  Methods: 100.00% (32/32)   Lines: 100.00% (180/180)
DrevOps\PhpTui\Field\MatchResult
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Field\MatchTier
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  6/  6)
DrevOps\PhpTui\Field\Matcher
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 75/ 75)
DrevOps\PhpTui\Field\Number
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 31/ 31)
DrevOps\PhpTui\Field\Password
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 45/ 45)
DrevOps\PhpTui\Field\PasswordDisplay
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  5/  5)
DrevOps\PhpTui\Field\Pause
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 11/ 11)
DrevOps\PhpTui\Field\Rating
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 25/ 25)
DrevOps\PhpTui\Field\Reorder
  Methods: 100.00% (11/11)   Lines: 100.00% ( 58/ 58)
DrevOps\PhpTui\Field\Search
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 17/ 17)
DrevOps\PhpTui\Field\Select
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  8/  8)
DrevOps\PhpTui\Field\Suggest
  Methods: 100.00% (19/19)   Lines: 100.00% ( 75/ 75)
DrevOps\PhpTui\Field\Template
  Methods: 100.00% (14/14)   Lines: 100.00% ( 63/ 63)
DrevOps\PhpTui\Field\Text
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 18/ 18)
DrevOps\PhpTui\Field\Textarea
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 48/ 48)
DrevOps\PhpTui\Field\Toggle
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 30/ 30)
DrevOps\PhpTui\Handler\HandlerRegistry
  Methods:  85.71% ( 6/ 7)   Lines:  95.45% ( 21/ 22)
DrevOps\PhpTui\Input\Binding
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Input\DefaultKeyMap
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 48/ 48)
DrevOps\PhpTui\Input\Hint
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  2/  2)
DrevOps\PhpTui\Input\Key
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 11/ 11)
DrevOps\PhpTui\Input\KeyMap
  Methods: 100.00% (11/11)   Lines: 100.00% ( 61/ 61)
DrevOps\PhpTui\Input\KeyMapManager
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  8/  8)
DrevOps\PhpTui\Input\KeyParser
  Methods:  85.71% ( 6/ 7)   Lines:  98.95% ( 94/ 95)
DrevOps\PhpTui\Input\Scope
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 17/ 17)
DrevOps\PhpTui\Input\ScopedKeyMap
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% (  4/  4)
DrevOps\PhpTui\Input\VimKeyMap
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 12/ 12)
DrevOps\PhpTui\Primitive\Output
  Methods: 100.00% (17/17)   Lines: 100.00% ( 25/ 25)
DrevOps\PhpTui\Primitive\Progress
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 29/ 29)
DrevOps\PhpTui\Primitive\ProgressReporter
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  2/  2)
DrevOps\PhpTui\Resolver\EnvNameResolver
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% (  9/  9)
DrevOps\PhpTui\Resolver\InputResolver
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 30/ 30)
DrevOps\PhpTui\Schema\AgentHelp
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 75/ 75)
DrevOps\PhpTui\Schema\DefaultResolver
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  8/  8)
DrevOps\PhpTui\Schema\OptionsResolver
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  6/  6)
DrevOps\PhpTui\Schema\SchemaGenerator
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 51/ 51)
DrevOps\PhpTui\Schema\SchemaValidator
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 41/ 41)
DrevOps\PhpTui\Screen\Assembler
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 21/ 21)
DrevOps\PhpTui\Screen\Capability\BorderCapableTrait
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  9/  9)
DrevOps\PhpTui\Screen\Capability\ScrollCapableTrait
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  9/  9)
DrevOps\PhpTui\Screen\Collector
  Methods: 100.00% (30/30)   Lines: 100.00% (195/195)
DrevOps\PhpTui\Screen\ExternalEditor
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 27/ 27)
DrevOps\PhpTui\Screen\KeyRouter
  Methods:  90.91% (30/33)   Lines:  97.92% (188/192)
DrevOps\PhpTui\Screen\Layout\AbstractLayout
  Methods: 100.00% (15/15)   Lines: 100.00% ( 79/ 79)
DrevOps\PhpTui\Screen\Layout\DefaultLayout
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  4/  4)
DrevOps\PhpTui\Screen\Layout\GridLayout
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 28/ 28)
DrevOps\PhpTui\Screen\Layout\LayoutManager
  Methods:  75.00% ( 6/ 8)   Lines:  59.38% ( 19/ 32)
DrevOps\PhpTui\Screen\Layout\TwoColumnLayout
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  3/  3)
DrevOps\PhpTui\Screen\Overlay
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 24/ 24)
DrevOps\PhpTui\Screen\Region
  Methods:  94.44% (17/18)   Lines:  93.94% ( 31/ 33)
DrevOps\PhpTui\Screen\Screen
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  9/  9)
DrevOps\PhpTui\Screen\ScreenController
  Methods:  96.83% (61/63)   Lines:  98.83% (424/429)
DrevOps\PhpTui\Screen\ScreenRenderer
  Methods:  90.70% (39/43)   Lines:  98.25% (280/285)
DrevOps\PhpTui\Screen\Scroller
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 14/ 14)
DrevOps\PhpTui\Screen\Viewport
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Terminal\Ansi
  Methods: 100.00% (13/13)   Lines: 100.00% ( 63/ 63)
DrevOps\PhpTui\Terminal\Box
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 15/ 15)
DrevOps\PhpTui\Terminal\Markup
  Methods: 100.00% (10/10)   Lines: 100.00% ( 69/ 69)
DrevOps\PhpTui\Terminal\MarkupSegment
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Terminal\Table
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 64/ 64)
DrevOps\PhpTui\Terminal\Terminal
  Methods:  95.65% (22/23)   Lines:  96.97% ( 64/ 66)
DrevOps\PhpTui\Terminal\TerminalControl
  Methods: 100.00% (11/11)   Lines: 100.00% ( 11/ 11)
DrevOps\PhpTui\Testing\ArrayKeyStream
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 12/ 12)
DrevOps\PhpTui\Testing\BufferedTerminal
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 12/ 12)
DrevOps\PhpTui\Testing\FieldRunner
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  5/  5)
DrevOps\PhpTui\Testing\KeyEncoder
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 22/ 22)
DrevOps\PhpTui\Testing\ScreenTester
  Methods:  91.67% (22/24)   Lines:  94.87% ( 74/ 78)
DrevOps\PhpTui\Testing\TuiTester
  Methods:  76.47% (13/17)   Lines:  86.67% ( 52/ 60)
DrevOps\PhpTui\Theme\AbstractTheme
  Methods:  84.29% (59/70)   Lines:  84.42% ( 65/ 77)
DrevOps\PhpTui\Theme\Capability\ColorSchemeCapableTrait
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% (  9/  9)
DrevOps\PhpTui\Theme\Capability\UnicodeCapableTrait
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  2/  2)
DrevOps\PhpTui\Theme\DefaultTheme
  Methods:  92.19% (118/128)   Lines:  96.68% (349/361)
DrevOps\PhpTui\Theme\DosTheme
  Methods: 100.00% (12/12)   Lines: 100.00% ( 14/ 14)
DrevOps\PhpTui\Theme\EmberTheme
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  5/  5)
DrevOps\PhpTui\Theme\FrostTheme
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  5/  5)
DrevOps\PhpTui\Theme\MidnightTheme
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  5/  5)
DrevOps\PhpTui\Theme\MonoTheme
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% (  6/  6)
DrevOps\PhpTui\Theme\Override\BreadcrumbOverrides
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  3/  3)
DrevOps\PhpTui\Theme\Override\FieldOverrides
  Methods:  85.71% ( 6/ 7)   Lines:  84.62% ( 11/ 13)
DrevOps\PhpTui\Theme\Override\Glyph
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Theme\Override\LegendOverrides
  Methods:  66.67% ( 2/ 3)   Lines:  60.00% (  3/  5)
DrevOps\PhpTui\Theme\Override\Overrides
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% (  6/  6)
DrevOps\PhpTui\Theme\Sgr
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\PhpTui\Theme\ThemeBuilder
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  8/  8)
DrevOps\PhpTui\Theme\ThemeManager
  Methods:  85.71% ( 6/ 7)   Lines:  97.44% ( 38/ 39)
DrevOps\PhpTui\Translation\Translator
  Methods: 100.00% (18/18)   Lines: 100.00% ( 87/ 87)
DrevOps\PhpTui\Tui
  Methods: 100.00% (34/34)   Lines: 100.00% (118/118)
DrevOps\PhpTui\Utils\Strings
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 31/ 31)

@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Aug 12, 2026
@AlexSkrypnyk
AlexSkrypnyk merged commit 5319dd1 into main Aug 12, 2026
12 checks passed
@AlexSkrypnyk
AlexSkrypnyk deleted the feature/readme-sections branch August 12, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs review Pull request needs a review from assigned developers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant