Download the PHP package survos/tui-extras-bundle without Composer
On this page you can find all versions of the php package survos/tui-extras-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package tui-extras-bundle
survos/tui-extras-bundle
Extra TUI widgets and data-source abstractions for symfony/tui — the terminal UI component shipping in Symfony 8.1.
Status: 0.1 — beta. Tracks
symfony/tui ^8.1which is itself experimental. Widgets are usable and the file browser works end-to-end. APIs may shift before 1.0.
What's in the box
Widgets
| Widget | What it does |
|---|---|
DataTableWidget |
Paged, searchable, sortable data table. Live search, FTS5-aware. |
TreeWidget |
Collapsible tree — ▼/► branches, ── leaves. Keyboard navigate. |
DetailPanelWidget |
Read-only text/code pane with title and separator. |
Data sources (TuiTableSourceInterface)
| Source | Backed by |
|---|---|
ArrayTableSource |
Plain PHP array, in-memory filter/sort |
SqliteTableSource |
PDO + SQLite with optional FTS5 full-text search |
FileSource |
Symfony Finder — respects .gitignore by default |
Syntax highlighting (SyntaxHighlighter)
- Uses
bat/batcatif installed (200+ languages, themes) - PHP fallback via
token_get_all()— zero extra deps - JSON fallback via stdlib pretty-print + hand-rolled tokenizer
- Markdown via
MarkdownWidget(league/commonmark + tempest/highlight)
Requirements
- PHP 8.1+
symfony/tui ^8.1(currently8.1.x-dev)league/commonmark ^2.0(for Markdown rendering)tempest/highlight ^2.0(for code blocks within Markdown)
Installation
Register in your config/bundles.php (or let Flex do it):
HTTP-less apps (
AbstractKernel+KernelTrait+ConsoleBundle, noFrameworkBundle): the bundle works without an HTTP kernel. See thedemo/directory for a minimal setup.
The file browser
The fastest way to see the bundle in action:
Keybindings:
| Key | Action |
|---|---|
↑ / ↓ / j / k |
Navigate |
→ |
Expand directory |
← |
Collapse (or jump to parent) |
Enter / Space |
Toggle directory / preview file |
q / ctrl+c |
Quit |
Preview updates instantly as you navigate — no Enter required for files. PHP and JSON files are syntax-highlighted. Markdown files render with full formatting.
FTS5 full-text search demo
Type / then str_ to filter to all string functions instantly. Uses an in-memory
SQLite database with an FTS5 virtual table — the same pattern FolioRowTableSource
uses in survos/folio-bundle.
Building a split-pane browser
Building a DataTable with SQLite FTS5
TuiTableSourceInterface
Implement this to make any data source browsable:
Built-in implementations: ArrayTableSource, SqliteTableSource, FileSource.
Adapters in other bundles: FolioRowTableSource (survos/folio-bundle), JsonlTableSource (survos/jsonl-bundle, planned).
Roadmap
- [ ]
browse:commands—vendor/bin/browsecommand browser (tree of namespaces + full--helpin detail pane) - [ ]
FolioRowTableSource— FTS5-backed browser for survos/folio-bundle - [ ]
MeilisearchTableSource+browse:meili— live Meilisearch browser - [ ] Generic SQLite schema browser (squall-style: table tree + row DataTable)
- [ ] PHAR packaging via humbug/box (
vendor/bin/browse)
License
MIT
All versions of tui-extras-bundle with dependencies
league/commonmark Version ^2.0
survos/kit-bundle Version ^2.8
symfony/finder Version ^8.1
symfony/tui Version ^8.1
tempest/highlight Version ^2.0
symfony/console Version ^8.1