HEX
Server: Apache
System: Linux ecngx285.inmotionhosting.com 4.18.0-553.79.1.lve.el8.x86_64 #1 SMP Wed Oct 15 17:59:35 UTC 2025 x86_64
User: zeusxp5 (3862)
PHP: 8.3.28
Disabled: NONE
Upload Files
File: /home/zeusxp5/tour.kamille.us/wp-content/themes/solace/vendor/wp-cli/php-cli-tools/README.md
PHP Command Line Tools
======================

[![Build Status](https://travis-ci.org/wp-cli/php-cli-tools.png?branch=master)](https://travis-ci.org/wp-cli/php-cli-tools)

A collection of functions and classes to assist with command line development.

Requirements

 * PHP >= 5.3

Suggested PHP extensions
 
 * mbstring - Used for calculating string widths.

Function List
-------------

 * `cli\out($msg, ...)`
 * `cli\out_padded($msg, ...)`
 * `cli\err($msg, ...)`
 * `cli\line($msg = '', ...)`
 * `cli\input()`
 * `cli\prompt($question, $default = false, $marker = ':')`
 * `cli\choose($question, $choices = 'yn', $default = 'n')`
 * `cli\menu($items, $default = false, $title = 'Choose an Item')`

Progress Indicators
-------------------

 * `cli\notify\Dots($msg, $dots = 3, $interval = 100)`
 * `cli\notify\Spinner($msg, $interval = 100)`
 * `cli\progress\Bar($msg, $total, $interval = 100)`

Tabular Display
---------------

 * `cli\Table::__construct(array $headers = null, array $rows = null)`
 * `cli\Table::setHeaders(array $headers)`
 * `cli\Table::setRows(array $rows)`
 * `cli\Table::setRenderer(cli\table\Renderer $renderer)`
 * `cli\Table::addRow(array $row)`
 * `cli\Table::sort($column)`
 * `cli\Table::display()`

The display function will detect if output is piped and, if it is, render a tab delimited table instead of the ASCII
table rendered for visual display.

You can also explicitly set the renderer used by calling `cli\Table::setRenderer()` and giving it an instance of one
of the concrete `cli\table\Renderer` classes.

Tree Display
------------

 * `cli\Tree::__construct()`
 * `cli\Tree::setData(array $data)`
 * `cli\Tree::setRenderer(cli\tree\Renderer $renderer)`
 * `cli\Tree::render()`
 * `cli\Tree::display()`

Argument Parser
---------------

Argument parsing uses a simple framework for taking a list of command line arguments,
usually straight from `$_SERVER['argv']`, and parses the input against a set of
defined rules.

Check `examples/arguments.php` for an example.

Usage
-----

See `examples/` directory for examples.


Todo
----

 * Expand this README
 * Add doc blocks to rest of code