Skip to content

Rewrote the docs in a warmer voice, added 'kbd' key markup, switched to US spelling, and completed the key-bindings reference.#116

Merged
AlexSkrypnyk merged 3 commits into
mainfrom
feature/docs-steve-voice
Jul 23, 2026
Merged

Rewrote the docs in a warmer voice, added 'kbd' key markup, switched to US spelling, and completed the key-bindings reference.#116
AlexSkrypnyk merged 3 commits into
mainfrom
feature/docs-steve-voice

Conversation

@AlexSkrypnyk

Copy link
Copy Markdown
Member

Summary

This PR overhauls the documentation site and README for tone, accessibility and completeness. Every page under docs/content/ is rewritten into a warmer, more direct technical-writing voice that addresses the reader as "you" instead of "the consumer" or "the caller". Keyboard keys are marked up with <kbd> tags across every docs page and the README's widget cards, replacing bare backticks or plain key names. The docs and README switch to US English spelling throughout prose, while identifiers, URLs and code samples stay exactly as the code spells them. The key-bindings reference page gets a completeness pass verified against src/Input/: a full Action inventory, every KeyName case, all scope forms including the multiple: variant, tables of the actual default and vim preset bindings, the Key::char() binding form, and a correction on the calendar page distinguishing fixed keys from remappable ones.

Changes

Voice rewrite

  • Rewrote prose across all docs/content/*.mdx pages and README.md into a warmer, more direct voice: second person ("you" / "your code") replaces "the consumer" / "the caller", contractions appear naturally, and long clause-stacked sentences are split into shorter ones (for example architecture.mdx and panels.mdx, each broken into multiple paragraphs).

Keyboard key markup

  • Wrapped every keyboard key reference in <kbd> tags across the docs key-bindings tables, the panels/widgets prose, and the README's widget-card key hints, replacing bare backticks or plain text (for example "Space picks an item up" becomes "Space picks an item up").

US English spelling

  • Switched British spellings to American throughout docs prose and the README: behaviour to behavior, colour to color, centre to center, grey to gray, labelled to labeled, normalisation to normalization, acknowledgement to acknowledgment, and matching updates to page titles, frontmatter descriptions and keywords (for example field-behaviour.mdx's title changes from "Field behaviour" to "Field behavior").
  • Left identifiers, URLs and code untouched where the code itself uses the British spelling (for example the field-behaviour.mdx filename and its /field-behaviour route are unchanged).

Key-bindings reference completeness

  • Added an "Actions" section listing every Action enum case with its meaning, plus every KeyName case.
  • Added a "The default bindings" table enumerating the actual default preset bindings scope by scope (base, navigation, number, text, textarea, confirm, toggle, password, pause, select/search including the multiple: scope, file picker, reorder).
  • Documented the vim preset's additions and the Key::char() binding form (for example how Ctrl-E is bound).
  • Noted which widget keys are fixed and never routed through the key map, versus which are remappable.
  • Corrected docs/content/widgets/calendar.mdx: replaced the blanket claim "Every move key can be remapped" with an accurate split - day/week moves and the vim letters resolve through the key map and can be remapped, while the month and edge jumps (PageUp/PageDown, Home/End) are fixed keys with no action behind them.

Screenshots

N/A - this change touches only Markdown/MDX documentation prose and the README; no templates, styles, or rendered UI changed.

Before / After

┌────────────────────────────────────────────────────────────────┐
│ BEFORE - docs prose                                            │
├────────────────────────────────────────────────────────────────┤
│ "...arrows carry it through the list, Enter accepts."          │
│                                                                │
│ British spelling: behaviour, colour, labelled, acknowledgement │
│ Third person: "the consumer", "the caller"                     │
│ Keys as bare text or backticks: Space, Enter                   │
└────────────────────────────────────────────────────────────────┘

        │
        ▼

┌──────────────────────────────────────────────────────────────────┐
│ AFTER - docs prose                                               │
├──────────────────────────────────────────────────────────────────┤
│ "...arrows carry it through the list, <kbd>Enter</kbd> accepts." │
│                                                                  │
│ US spelling: behavior, color, labeled, acknowledgment            │
│ Direct voice: "you", "your code"                                 │
│ Keys as rendered badges: <kbd>Space</kbd>, <kbd>Enter</kbd>      │
└──────────────────────────────────────────────────────────────────┘


┌──────────────────────────────────────────────────────┐
│ BEFORE - key-bindings.mdx outline                    │
├──────────────────────────────────────────────────────┤
│ # Key bindings                                       │
│   intro + preset example                             │
│   ## Per-widget-type overrides                       │
│   ## Presets and validation                          │
│                                                      │
│ (no Actions section, no KeyName list, no default/vim │
│  binding tables, no fixed-vs-remappable note)        │
└──────────────────────────────────────────────────────┘

        │
        ▼

┌─────────────────────────────────────────────────────────┐
│ AFTER - key-bindings.mdx outline                        │
├─────────────────────────────────────────────────────────┤
│ # Key bindings                                          │
│   intro + preset example                                │
│   ## Actions                                            │
│     - every Action case + every KeyName case            │
│   ## The default bindings                               │
│     - scope-by-scope table (base, navigation, number,   │
│       text, textarea, confirm, toggle, password, pause, │
│       select/search multiple:, filepicker, reorder)     │
│     - vim preset additions + fixed-vs-remappable note   │
│   ## Per-widget-type overrides                          │
│     - all 3 key forms: KeyName, char, Key::char()       │
│   ## Presets and validation                             │
└─────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│ BEFORE - widgets/calendar.mdx                           │
├─────────────────────────────────────────────────────────┤
│ ## Keyboard                                             │
│   table: arrows, PageUp/PageDown, Home/End, Enter, Esc  │
│                                                         │
│ "Every move key can be remapped through the key map."   │
│ (wrong: implies PageUp/PageDown and Home/End remap too) │
└─────────────────────────────────────────────────────────┘

        │
        ▼

┌────────────────────────────────────────────────────────┐
│ AFTER - widgets/calendar.mdx                           │
├────────────────────────────────────────────────────────┤
│ ## Keyboard                                            │
│   table: arrows, PageUp/PageDown, Home/End, Enter, Esc │
│                                                        │
│ Day/week moves and vim letters resolve through the key │
│ map and can be remapped; PageUp/PageDown and Home/End  │
│ are fixed keys with no action behind them.             │
└────────────────────────────────────────────────────────┘

…g and completed the key-bindings reference with the full action, key and default-binding surface.
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 19 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 100a688f-7b4e-4a77-abe7-b94c2acba54d

📥 Commits

Reviewing files that changed from the base of the PR and between 4da0f18 and 2c075c8.

📒 Files selected for processing (31)
  • README.md
  • docs/content/ai-agents.mdx
  • docs/content/architecture.mdx
  • docs/content/configuration.mdx
  • docs/content/contributing.mdx
  • docs/content/display-modes.mdx
  • docs/content/field-behaviour.mdx
  • docs/content/headless-collection.mdx
  • docs/content/index.mdx
  • docs/content/installation.mdx
  • docs/content/key-bindings.mdx
  • docs/content/panels.mdx
  • docs/content/playground.mdx
  • docs/content/testing.mdx
  • docs/content/themes.mdx
  • docs/content/translations.mdx
  • docs/content/widgets/calendar.mdx
  • docs/content/widgets/confirm.mdx
  • docs/content/widgets/filepicker.mdx
  • docs/content/widgets/index.mdx
  • docs/content/widgets/number.mdx
  • docs/content/widgets/option-groups.mdx
  • docs/content/widgets/password.mdx
  • docs/content/widgets/pause.mdx
  • docs/content/widgets/reorder.mdx
  • docs/content/widgets/search.mdx
  • docs/content/widgets/select.mdx
  • docs/content/widgets/suggest.mdx
  • docs/content/widgets/text.mdx
  • docs/content/widgets/textarea.mdx
  • docs/content/widgets/toggle.mdx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/docs-steve-voice

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

@github-actions

This comment has been minimized.

@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.21%. Comparing base (4da0f18) to head (2c075c8).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #116   +/-   ##
=======================================
  Coverage   98.21%   98.21%           
=======================================
  Files         100      100           
  Lines        3358     3358           
=======================================
  Hits         3298     3298           
  Misses         60       60           

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

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

🎉 Published on https://tui-docs.netlify.app as production
🚀 Deployed on https://6a61c520b798d9fbe4b51460--tui-docs.netlify.app

@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Jul 23, 2026
@AlexSkrypnyk
AlexSkrypnyk merged commit 9878aca into main Jul 23, 2026
12 checks passed
@AlexSkrypnyk
AlexSkrypnyk deleted the feature/docs-steve-voice branch July 23, 2026 07:35
@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Jul 23, 2026
@github-actions

Copy link
Copy Markdown
Code Coverage Report:
  2026-07-23 07:39:29

 Summary:
  Classes: 83.00% (83/100)
  Methods: 96.12% (768/799)
  Lines:   98.21% (3298/3358)

DrevOps\Tui\Answers\Answer
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Answers\Answers
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 20/ 20)
DrevOps\Tui\Answers\Provenance
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Answers\SummaryFormatter
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 20/ 20)
DrevOps\Tui\Answers\ValueFormatter
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  6/  6)
DrevOps\Tui\Builder\FieldBuilder
  Methods: 100.00% (38/38)   Lines: 100.00% (138/138)
DrevOps\Tui\Builder\Form
  Methods:  92.31% (12/13)   Lines:  98.39% ( 61/ 62)
DrevOps\Tui\Builder\LayoutGuard
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Builder\PanelBuilder
  Methods: 100.00% (20/20)   Lines: 100.00% ( 37/ 37)
DrevOps\Tui\Condition\CompositeCondition
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 19/ 19)
DrevOps\Tui\Condition\Condition
  Methods: 100.00% (10/10)   Lines: 100.00% ( 38/ 38)
DrevOps\Tui\Derive\Derive
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 14/ 14)
DrevOps\Tui\Derive\Deriver
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 13/ 13)
DrevOps\Tui\Derive\Transform
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Discovery\AbstractDiscover
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Discovery\Dotenv
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 19/ 19)
DrevOps\Tui\Discovery\JsonValue
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Discovery\PathExists
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\Tui\Discovery\Scan
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 20/ 20)
DrevOps\Tui\Engine\Engine
  Methods: 100.00% (18/18)   Lines: 100.00% (115/115)
DrevOps\Tui\Handler\HandlerRegistry
  Methods:  85.71% ( 6/ 7)   Lines:  95.45% ( 21/ 22)
DrevOps\Tui\Input\Binding
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Input\DefaultKeyMap
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 38/ 38)
DrevOps\Tui\Input\Hint
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  2/  2)
DrevOps\Tui\Input\Key
  Methods:  87.50% ( 7/ 8)   Lines:  63.64% (  7/ 11)
DrevOps\Tui\Input\KeyMap
  Methods: 100.00% (11/11)   Lines: 100.00% ( 61/ 61)
DrevOps\Tui\Input\KeyMapManager
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  8/  8)
DrevOps\Tui\Input\KeyParser
  Methods:  85.71% ( 6/ 7)   Lines:  98.95% ( 94/ 95)
DrevOps\Tui\Input\Scope
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 17/ 17)
DrevOps\Tui\Input\ScopedKeyMap
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% (  4/  4)
DrevOps\Tui\Input\VimKeyMap
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Model\Buttons
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Model\DateBounds
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 28/ 28)
DrevOps\Tui\Model\Field
  Methods:  84.62% (11/13)   Lines:  89.33% ( 67/ 75)
DrevOps\Tui\Model\FieldType
  Methods:  66.67% ( 2/ 3)   Lines:  31.82% (  7/ 22)
DrevOps\Tui\Model\FormDefinition
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Model\Modal
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  2/  2)
DrevOps\Tui\Model\NumberBounds
  Methods:  83.33% ( 5/ 6)   Lines:  95.24% ( 20/ 21)
DrevOps\Tui\Model\Option
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 14/ 14)
DrevOps\Tui\Model\Panel
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\Tui\Model\Weekday
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Render\Ansi
  Methods:  83.33% ( 5/ 6)   Lines:  76.47% ( 13/ 17)
DrevOps\Tui\Render\Box
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Render\ExternalEditor
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 27/ 27)
DrevOps\Tui\Render\HelpSection
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Render\Navigator
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Render\Overlay
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 24/ 24)
DrevOps\Tui\Render\PanelController
  Methods: 100.00% (47/47)   Lines: 100.00% (309/309)
DrevOps\Tui\Render\Scroller
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 14/ 14)
DrevOps\Tui\Render\Terminal
  Methods:  95.24% (20/21)   Lines:  96.88% ( 62/ 64)
DrevOps\Tui\Render\TerminalControl
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% (  9/  9)
DrevOps\Tui\Render\Viewport
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Resolver\InputResolver
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 29/ 29)
DrevOps\Tui\Schema\AgentHelp
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 47/ 47)
DrevOps\Tui\Schema\SchemaGenerator
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 33/ 33)
DrevOps\Tui\Schema\SchemaValidator
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 32/ 32)
DrevOps\Tui\Testing\ArrayKeyStream
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Testing\BufferedTerminal
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Testing\KeyEncoder
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 22/ 22)
DrevOps\Tui\Testing\TuiTester
  Methods: 100.00% (13/13)   Lines: 100.00% ( 34/ 34)
DrevOps\Tui\Testing\WidgetRunner
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  5/  5)
DrevOps\Tui\Theme\DefaultTheme
  Methods:  95.79% (91/95)   Lines:  98.66% (441/447)
DrevOps\Tui\Theme\DosTheme
  Methods:  80.00% (12/15)   Lines:  82.35% ( 14/ 17)
DrevOps\Tui\Theme\EmberTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\FrostTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\MidnightTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\MonoTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\Sgr
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Theme\ThemeManager
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  8/  8)
DrevOps\Tui\Translation\Translator
  Methods: 100.00% (18/18)   Lines: 100.00% ( 87/ 87)
DrevOps\Tui\Tui
  Methods: 100.00% (23/23)   Lines: 100.00% ( 72/ 72)
DrevOps\Tui\Utils\Strings
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% (  9/  9)
DrevOps\Tui\Widget\AbstractWidget
  Methods: 100.00% (18/18)   Lines: 100.00% ( 49/ 49)
DrevOps\Tui\Widget\CalendarWidget
  Methods: 100.00% (13/13)   Lines: 100.00% ( 52/ 52)
DrevOps\Tui\Widget\Capability\CompletionCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 14/ 14)
DrevOps\Tui\Widget\Capability\FilterCapableTrait
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Widget\Capability\OptionsCapableTrait
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 34/ 34)
DrevOps\Tui\Widget\Capability\PagingCapableTrait
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Widget\Capability\SearchCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\Tui\Widget\Capability\SelectionCapableTrait
  Methods: 100.00% (13/13)   Lines: 100.00% ( 85/ 85)
DrevOps\Tui\Widget\Capability\TextEditCapableTrait
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 34/ 34)
DrevOps\Tui\Widget\ConfirmWidget
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 22/ 22)
DrevOps\Tui\Widget\FilePickerWidget
  Methods: 100.00% (31/31)   Lines: 100.00% (180/180)
DrevOps\Tui\Widget\MatchResult
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Widget\MatchTier
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  6/  6)
DrevOps\Tui\Widget\Matcher
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 73/ 73)
DrevOps\Tui\Widget\NumberWidget
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 36/ 36)
DrevOps\Tui\Widget\PasswordDisplay
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  5/  5)
DrevOps\Tui\Widget\PasswordWidget
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 45/ 45)
DrevOps\Tui\Widget\PauseWidget
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 11/ 11)
DrevOps\Tui\Widget\ReorderWidget
  Methods: 100.00% (10/10)   Lines: 100.00% ( 54/ 54)
DrevOps\Tui\Widget\SearchWidget
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 11/ 11)
DrevOps\Tui\Widget\SelectWidget
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Widget\SuggestWidget
  Methods: 100.00% (12/12)   Lines: 100.00% ( 45/ 45)
DrevOps\Tui\Widget\TextWidget
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Widget\TextareaWidget
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 49/ 49)
DrevOps\Tui\Widget\ToggleWidget
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 30/ 30)
DrevOps\Tui\Widget\WidgetFactory
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 36/ 36)

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