X-Git-Url: https://git.cweiske.de/bdrem.git/blobdiff_plain/83afda94b7d5fc2be341712e2661f6095f608e0d..d8ce92efb0f457051ba4cdaaa11fe938697282d8:/src/bdrem/Cli.php diff --git a/src/bdrem/Cli.php b/src/bdrem/Cli.php index f108e8e..3ecd4ea 100644 --- a/src/bdrem/Cli.php +++ b/src/bdrem/Cli.php @@ -1,14 +1,55 @@ + * @copyright 2014 Christian Weiske + * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3 + * @link http://cweiske.de/bdrem.htm + */ namespace bdrem; +/** + * Command line user interface for the terminal/shell. + * Renders an ASCII table by default. + * + * @category Tools + * @package Bdrem + * @author Christian Weiske + * @copyright 2014 Christian Weiske + * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3 + * @version Release: @package_version@ + * @link http://cweiske.de/bdrem.htm + */ class Cli extends UserInterface { + /** + * Load parameters for the CLI option parser. + * Set the default renderer to "console" and adds some CLI-only commands + * like "readme" and "config". + * + * @return \Console_CommandLine CLI option parser + */ protected function loadParameters() { $parser = parent::loadParameters(); //set default renderer to console $parser->options['renderer']->default = 'console'; + $parser->addOption( + 'ansi', + array( + 'long_name' => '--no-color', + 'description' => 'Do not output ANSI color codes', + 'action' => 'StoreFalse', + 'default' => true + ) + ); + //only on CLI $parser->addCommand( 'readme', array( @@ -24,6 +65,13 @@ class Cli extends UserInterface return $parser; } + /** + * Handle any commands given on the CLI + * + * @param object $res Command line parameters and options + * + * @return void + */ protected function handleCommands($res) { if ($res->command_name == '') { @@ -37,12 +85,22 @@ class Cli extends UserInterface } } + /** + * Handle the "readme" command and output the readme. + * + * @return void + */ protected function showReadme() { readfile(__DIR__ . '/../../README.rst'); exit(); } + /** + * Handle the "config" command and output the default configuration + * + * @return void + */ protected function extractConfig() { readfile(__DIR__ . '/../../data/bdrem.config.php.dist');