diff --git a/README.md b/README.md index c64a48f..143d259 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Latest Stable Version](https://poser.pugx.org/kristuff/mishell/v/stable)](https://packagist.org/packages/kristuff/mishell) [![License](https://poser.pugx.org/kristuff/mishell/license)](https://packagist.org/packages/kristuff/mishell) -![sample](doc/screenshots/sample-colors.png) +![sample](doc/screenshots/loading.png) - [Features](#features) - [Requirements](#requirements) @@ -43,14 +43,14 @@ Deploy with your project (in `composer.json`): { ... "require": { - "kristuff/mishell": ">=1.1-stable" + "kristuff/mishell": ">=1.2-stable" } } ``` Run the sample -------- -![demo](doc/screenshots/index.png) +![demo](doc/screenshots/demo.gif) - clone this repo on github (*demo* and *doc* folders are excluded from dist) ```bash @@ -72,13 +72,13 @@ Run the sample Documentation -------- -*in progress...* +*still in progress...* 1. [Overview](#1-overview) 1.1 [Working with styles](#11-working-with-styles) 1.2 [Known foreground colors](#12-known-foreground-colors) 1.3 [Known background colors](#13-known-background-colors) - 1.4 [Known options](#14-known-options) + 1.4 [Known formats](#14-known-formats) 2. [Api methods](#2-api-methods) 2.1 [Writing methods](#21-writing-methods) 2.2 [Text/layout builder methods](#22-text-layout-builder-methods) @@ -96,7 +96,11 @@ The lib consists of one class `\Kristuff\Mishell\Console` that contains mainly 3 Basic Example: ```php Use Kristuff\Mishell\Console; + +Console::log(' I will ask you something', 'red'); + $value = Console::askInt('Please enter a number > '); + if ($value !== false){ Console::log('=> The value you entered is [' . Console::text($value, 'yellow') . ']'); } @@ -108,78 +112,88 @@ The arguments are analyzed as follows: - First argument that matchs to a known foreground color is taken as foreground color. - First argument that matchs to a known background color (when a foreground color is already defined) is taken as background color (you cannot use a background color without set explicitly foreground color before). -- Other arguments that match to a known option are taken as options. +- Other arguments that match to a known format are taken as formats. So except for background that should be after foreground, style arguments order does not matter. Just note that the `'none'` argument will reset any previous style arguments. Examples: ```php + white on blue...) -Console::print('some text', 'blue', 'white', 'reverse'); +Console::log('some text', 'blue', 'white', 'reverse'); // prints a blue text on white and style underline // (except background after foreground, args order does not matter) -Console::print('some text', 'blue', 'white', 'underline'); -Console::print('some text', 'underline', 'blue', 'white'); -Console::print('some text', 'blue', 'underline', 'white'); +Console::log('some text', 'blue', 'white', 'underlined'); +Console::log('some text', 'underlined', 'blue', 'white'); +Console::log('some text', 'lightblue', 'underlined', 'white'); // Prints a text with no style at all (note the 'none' argument at the end...) -Console::print('some text', 'blue', 'underline', 'none'); +Console::log('some text', 'lightblue', 'underlined', 'none'); [...] //Got it? ``` ### 1.2 Known foreground colors -Name | ANSI Code ---------------- | -------- -normal | \033[39m -black | \033[30m -grey | \033[1;30m -lightgrey | \033[37m -white | \033[1;37m -blue | \033[34m -lightblue | \033[1;34m -green | \033[32m -lightgreen | \033[1;32m -cyan | \033[36m -lightcyan | \033[1;36m -red | \033[31m -lightred | \033[1;31m -magenta | \033[35m -lightmagenta | \033[1;35m -brown | \033[33m -yellow | \033[1;33m +Name | ANSI Code +------------ | -------- +black | \033[30m +red | \033[31m +green | \033[32m +yellow | \033[33m +blue | \033[34m +magenta | \033[35m +cyan | \033[36m +lightgray | \033[37m +default | \033[39m +darkgray | \033[90m +lightred | \033[91m +lightgreen | \033[92m +lightyellow | \033[93m +lightblue | \033[94m +lightmagenta | \033[95m +lightcyan | \033[96m +white | \033[97m ### 1.3 Known background colors -Name | ANSI Code ---------------- | -------- -black | \033[40m -red | \033[41m -green | \033[42m -yellow | \033[43m -blue | \033[44m -magenta | \033[45m -cyan | \033[46m -white | \033[47m - -### 1.4 Known options +Name | ANSI Code +------------ | -------- +black | \033[40m +red | \033[41m +green | \033[42m +yellow | \033[43m +blue | \033[44m +magenta | \033[45m +cyan | \033[46m +lightgray | \033[47m +default | \033[49m +darkgray | \033[100m +lightred | \033[101m +lightgreen | \033[102m +lightyellow | \033[103m +lightblue | \033[104m +lightmagenta | \033[105m +lightcyan | \033[106m +white | \033[107m + +### 1.4 Known formats Name | ANSI Code --------------- | -------- none | \033[0m bold | \033[1m -underline | \033[4m +underlined | \033[4m blink | \033[5m reverse | \033[7m diff --git a/demo/demo.allstyles.php b/demo/demo.allstyles.php deleted file mode 100644 index 4687382..0000000 --- a/demo/demo.allstyles.php +++ /dev/null @@ -1,49 +0,0 @@ - 15, 'Colors' => 15, 'Style(s)' => 45, 'Output' => 50]; - -$headers = ['Background' => 15]; -foreach (Console::getStyles()['backgrounds'] as $color => $colorValue ){ - $headers[] = [$color => 20]; -} - - -Console::log(' '.Console::tableRowSeparator($headers)); -Console::log(); -Console::log(); - - -$headerStyles = [' ' => 31, - 'none' => 6, - 'bold' => 6, - 'underline' => 12, - 'blink' => 7, - 'reverse' => 10, - ' ' => 50 - ]; - -Console::log(' '.Console::tableRowSeparator($rowHeaders1)); -Console::log(' '.Console::tableRow($rowHeaders1)); -Console::log(' '.Console::tableRow($headerStyles)); -Console::log(' '.Console::tableRowSeparator($headerStyles)); - -foreach (Console::getStyles()['backgrounds'] as $color => $colorValue ){ - -} - - - -foreach (Console::getStyles()['backgrounds'] as $color => $colorValue ){ - Console::log(' '.Console::tableRow([ - ' ' . $i => 7, - $color => 15, - "\\033[" . $colorValue .'m' => 15, - Console::text(str_pad('I am a text color={normal} bgcolor={' . $color .'}', 48), 'normal', $color) => 50 - ])); - Console::log(' '.Console::tableEmptyRow(); - $i++; -} -Console::log(' '.Console::tableRowEmpty($rowHeaders1)); -Console::log(' '.Console::tableRowSeparator($rowHeaders1)); diff --git a/demo/demo.ask.php b/demo/demo.ask.php index 1be93e7..234b9d4 100644 --- a/demo/demo.ask.php +++ b/demo/demo.ask.php @@ -3,21 +3,27 @@ require_once __DIR__ .'/../vendor/autoload.php'; use Kristuff\Mishell\Console; -Console::log('Overview:', 'underline', 'bold'); -Console::log(" - Use " . Console::text("string Console::ask ( string \$str [, \$styles] )", 'blue', 'white') . "to ask something to user in the console."); -Console::log(''); -Console::log('Tips:', 'underline', 'bold'); -Console::log(" - you can customize colors (foreground and background) and some styles in same way than with Console::text()", 'lightmagenta'); -Console::log(" and Console::log() methods.", 'lightmagenta'); -Console::log(''); -Console::log('Usage:', 'underline', 'bold'); -Console::log(' '. Console::text(Console::pad("\$value1 = Console::ask('Please enter something > ');", 90), 'blue', 'white')); -Console::log(' '. Console::text(Console::pad("// or);", 90), 'green', 'white')); -Console::log(' '. Console::text(Console::pad("\$value2 = Console::ask('Please enter something > ', 'red', 'white', 'underline');", 90), 'blue', 'white')); -Console::log(''); +Console::log(' '. Console::text('Overview:', 'underlined', 'bold')); +Console::log(' '. Console::text(" - Use ") . Console::text("string ", 'blue'). Console::text("Console::ask()", 'lightblue', 'underlined') . " to ask something to user in the console."); +Console::log(); +Console::log(' '. Console::text('Tips:', 'underlined', 'bold')); +Console::log(" - You can customize colors (foreground and background) and some styles in same way than "); +Console::log(' with ' . Console::text("Console::text()", 'lightblue', 'underlined') . + ' and ' . Console::text("Console::log()", 'lightblue', 'underlined'). ' methods.'); +Console::log(); +Console::log(' '. Console::text('Usage:', 'underlined', 'bold')); +Console::log(' '. Console::text("\$value = Console::ask('Please enter something > ');", 'lightmagenta')); +Console::log(' '. Console::text("// or", 'green')); +Console::log(' '. Console::text("\$value = Console::ask('Please enter something > ', 'white', 'blue);", 'lightmagenta')); +Console::log(); +// ----------------- +// sample start here +// ----------------- $value = Console::ask('Please enter something > '); -Console::log('=> the value you entered is [' . Console::text($value, 'yellow') . ']'); +Console::log('=> the value you entered is [' . Console::text($value, 'lightyellow') . ']'); -$value2 = Console::ask('Please enter something > ', 'red', 'white', 'underline'); -Console::log('=> the value you entered is [' . Console::text($value2, 'yellow') . ']'); \ No newline at end of file +$value2 = Console::ask('Please enter something > ', 'magenta', 'underlined'); +Console::log('=> the value you entered is [' . Console::text($value2, 'lightyellow') . ']'); + +?> diff --git a/demo/demo.askint.php b/demo/demo.askint.php index fd96ac3..7fb468f 100644 --- a/demo/demo.askint.php +++ b/demo/demo.askint.php @@ -1,38 +1,32 @@ ');", 'lightmagenta')); +Console::log(' ' . Console::text("if (\$value !== false) {", 'lightmagenta')); +Console::log(' ' . Console::text("// Do something with \$value", 'green')); +Console::log(); +Console::log(' '. Console::text('Sample:', 'underlined', 'bold')); -Console::log('Overview:', 'underline', 'bold'); -Console::log(" - Use " . Console::text("Console::askInt(\$str [\$styles])", 'blue', 'white') . " to ask user to enter a number in the console."); -Console::log(''); -Console::log('Tips:', 'underline', 'bold'); -Console::log(" - The method returns Int value or False if the entered value is not a valid int number.", 'lightmagenta'); -Console::log(" - You can customize colors (foreground and background) and some styles in same way than with Console::text()", 'lightmagenta'); -Console::log(" and Console::log() methods..", 'lightmagenta'); -Console::log(''); -Console::log('Usage:', 'underline', 'bold'); -Console::log(' ' . Console::text(Console::pad("\$value = Console::askInt('Please enter a number > ');", 80), 'blue', 'white')); -Console::log(' ' . Console::text(Console::pad("if (\$value !== false) {", 80), 'blue', 'white')); -Console::log(' ' . Console::text(Console::pad(" [...]", 80), 'blue', 'white')); -Console::log(''); -Console::log('Sample:', 'underline', 'bold'); - -function askNumber() -{ - $value = Console::askInt('Please enter a number > '); - - if ($value !== false){ - Console::log('=> The value you entered is [' . Console::text($value, 'yellow') . ']'); - - } else { - Console::log(Console::text('Error:', 'red')); - Console::log(Console::text('=> the value you entered is not a valid number.', 'red')); - // retry... - askNumber(); - } +// ----------------- +// sample start here +// ----------------- +$value = Console::askInt(' Please enter a number > '); +if ($value !== false){ + Console::log(' => The value you entered is [' . Console::text($value, 'yellow') . ']'); +} else { + Console::log(Console::text(' Error:', 'red')); + Console::log(Console::text(' => the value you entered is not a valid number.', 'red')); } -// ask -askNumber(); +?> diff --git a/demo/demo.askpassword.php b/demo/demo.askpassword.php index ff02198..7d08ed9 100644 --- a/demo/demo.askpassword.php +++ b/demo/demo.askpassword.php @@ -1,24 +1,30 @@ ');", 80), 'blue', 'white')); -Console::log(' ' . Console::text(Console::pad("Console::log();", 80), 'blue', 'white')); -Console::log(' ' . Console::text(Console::pad("Console::log('=> the value you entered is [' . Console::text(\$value, 'red') . ']');", 80), 'blue', 'white')); -Console::log(''); -Console::log('Sample:', 'underline', 'bold'); -$value = Console::askPassword('Please Enter something (We wont display it, for now...) > '); +Console::log(' '. Console::text('Overview:', 'underlined', 'bold')); +Console::log(' Use ' . Console::text("string ", 'blue'). Console::text("Console::askPassword()", 'lightblue', 'underlined') . " to ask user to enter a value and return this value.", 'white'); +Console::log(); +Console::log(' '. Console::text('Tips:', 'underlined', 'bold')); +Console::log(" - You can customize colors (foreground and background) and some styles in same way than "); +Console::log(' with ' . Console::text("Console::text()", 'lightblue', 'underlined') . + ' and ' . Console::text("Console::log()", 'lightblue', 'underlined'). ' methods.'); +Console::log(); +Console::log(' '. Console::text('Warning:', 'underlined', 'bold')); +Console::log(' '. Console::text("User input are not hidden on windows platform (not supported)", 'red', 'yellow')); +Console::log(); +Console::log(' '. Console::text('Usage:', 'underlined', 'bold')); +Console::log(' ' . Console::text("\$value = Console::askPassword('Please Enter something (We wont display it, for now...) > ');", 'lightmagenta')); +Console::log(' ' . Console::text("Console::log();", 'lightmagenta')); +Console::log(' ' . Console::text("Console::log('=> the value you entered is [' . Console::text(\$value, 'red') . ']');", 'lightmagenta')); Console::log(); -Console::log('=> the value you entered is [' . Console::text($value, 'red') . ']'); \ No newline at end of file +Console::log(' '. Console::text('Sample:', 'underlined', 'bold')); + +// ----------------- +// sample start here +// ----------------- +$value = Console::askPassword(' Please Enter something (We wont display it, for now... (except on windows) > '); +Console::log(); +Console::log(' => the value you entered is [' . Console::text($value, 'red') . ']'); + +?> \ No newline at end of file diff --git a/demo/demo.bell.php b/demo/demo.bell.php index ddd3d92..93c0da4 100644 --- a/demo/demo.bell.php +++ b/demo/demo.bell.php @@ -1,19 +1,22 @@ diff --git a/demo/demo.bgcolors.php b/demo/demo.bgcolors.php index c909d25..61b0d9a 100644 --- a/demo/demo.bgcolors.php +++ b/demo/demo.bgcolors.php @@ -2,23 +2,22 @@ require_once __DIR__ .'/../vendor/autoload.php'; use Kristuff\Mishell\Console; -$rowHeaders = ['#Num' => 7, 'Color name' => 15, ' ANSI Code' => 15, ' Sample ouput' => 50]; - +$rowHeaders = ['Color name' => 15, ' ANSI Code' => 15, ' Sample ouput' => 51]; Console::log(' '.Console::tableRowSeparator($rowHeaders)); Console::log(' '.Console::tableRow($rowHeaders)); Console::log(' '.Console::tableRowSeparator($rowHeaders)); -Console::log(' '.Console::tableRowEmpty($rowHeaders)); +// enum backgrounds $i = 1; foreach (Console::getStyles()['backgrounds'] as $bgcolor => $colorValue ){ - $foregroundColor = $bgcolor === 'black' ? 'white': 'black'; + $foregroundColor = ($bgcolor === 'black' || $bgcolor === 'default') ? 'white': 'black'; Console::log(' '.Console::tableRow([ - ' ' . $i => 7, $bgcolor => 15, "\\033[" . $colorValue .'m' => 15, - Console::text(str_pad('I am a text color={' . $foregroundColor .'} on bgcolor={' . $bgcolor .'}', 48), $foregroundColor , $bgcolor) => 50 + Console::text(str_pad('I am a text color={' . $foregroundColor .'} on bgcolor={' . $bgcolor .'}', 48), $foregroundColor , $bgcolor) => 51 ])); $i++; } -Console::log(' '.Console::tableRowEmpty($rowHeaders)); Console::log(' '.Console::tableRowSeparator($rowHeaders)); + +?> diff --git a/demo/demo.bluescreen.php b/demo/demo.bluescreen.php index 6521204..6abcb28 100644 --- a/demo/demo.bluescreen.php +++ b/demo/demo.bluescreen.php @@ -14,7 +14,7 @@ switch($i){ case $middle -1: - Console::log(Console::pad(":( Houston, we've had a problem...", $cols, ' ', STR_PAD_BOTH), 'white', 'blue'); + Console::log(Console::pad(":( Houston, we've had a problem...", $cols, ' ', STR_PAD_BOTH), 'white', 'blue'); break; case $middle : Console::log(Console::pad('an error occurred in my head,', $cols, ' ', STR_PAD_BOTH), 'white', 'blue'); @@ -26,8 +26,10 @@ Console::log(Console::pad(' ', $cols), 'white', 'blue'); } } -Console::askInt(Console::pad('Press enter to stop damage your eyes > ', $cols, ' ', STR_PAD_LEFT), 'white', 'blue'); +Console::askInt(Console::pad('Press something to stop damage your eyes > ', $cols, ' ', STR_PAD_LEFT), 'white', 'blue'); // restore window Console::restoreWindow(); Console::log('Any resemblance to a lived situation is a pure coincidence.'); + +?> diff --git a/demo/demo.colors.php b/demo/demo.colors.php index 4c32d29..159fc21 100644 --- a/demo/demo.colors.php +++ b/demo/demo.colors.php @@ -2,16 +2,14 @@ require_once __DIR__ .'/../vendor/autoload.php'; use Kristuff\Mishell\Console; - +// headers $rowHeaders = ['#Num' => 7, 'Color name' => 15, ' ANSI Code' => 15, ' Sample ouput' => 50]; - Console::log(' '.Console::tableRowSeparator($rowHeaders)); Console::log(' '.Console::tableRow($rowHeaders)); Console::log(' '.Console::tableRowSeparator($rowHeaders)); -Console::log(' '.Console::tableRowEmpty($rowHeaders)); +// loop into foregrounds $i = 1; - foreach (Console::getStyles()['foregrounds'] as $color => $colorValue ){ Console::log(' '.Console::tableRow([ ' ' . $i => 7, @@ -21,6 +19,7 @@ ])); $i++; } -Console::log(' '.Console::tableRowEmpty($rowHeaders)); +// close table Console::log(' '.Console::tableRowSeparator($rowHeaders)); +?> diff --git a/demo/demo.pad.php b/demo/demo.pad.php index b4fb6bf..b2c7c56 100644 --- a/demo/demo.pad.php +++ b/demo/demo.pad.php @@ -2,23 +2,29 @@ require_once __DIR__ .'/../vendor/autoload.php'; use Kristuff\Mishell\Console; -Console::log('Overview:', 'underline', 'bold'); -Console::log(" - Use Console::pad(\$str[, \$input[, \$padLength[, \$padString = ' '[, \$padType = STR_PAD_RIGHT]]]]) to get a text with given padding."); -Console::log(" - The method is equivalent to php str_pad() method, except that it handles not printable ANSI chars."); -Console::log(''); -Console::log('Sample:', 'underline', 'bold'); -Console::log(''); -Console::log('1) ' . Console::text('Using php str_pad()', 'white', 'magenta', 'bold', 'underline')); -Console::log(''); -Console::log(str_pad('I am normal inside str_pad() {padLength:100, padString:\'*\'}', 100, '*')); -Console::log(str_pad(Console::text('I am colorized with ::text() inside str_pad() {padLength:100, padString:\'*\'}', 'blue'), 100, '*')); -Console::log(''); -Console::log('=> you should\'see what you expect. I guess second text has less than 100 chars...', 'white', 'red'); -Console::log(''); -Console::log(''); -Console::log('2) ' . Console::text('Using Console::pad()', 'white', 'magenta', 'bold', 'underline')); -Console::log(''); -Console::log(Console::pad('I am normal inside ::pad() {padLength:100, padString:\'*\'}', 100, '*')); -Console::log(Console::pad(Console::text('I am colorized with ::text() inside ::pad() {padLength:100, padString:\'*\'}', 'blue'), 100, '*')); -Console::log(''); -Console::log('=> should be OK', 'white', 'green'); +Console::log(' '. Console::text('Overview:', 'underlined', 'bold')); +Console::log(" - Use " . Console::text("string ", 'blue'). Console::text("Console::pad()", 'lightblue', 'underlined') . "to get a text with given padding."); +Console::log(" - The method is equivalent to php " . Console::text("str_pad()", 'lightblue', 'underlined'). " method, except that it handles not printable ANSI chars."); +Console::log(); +Console::log(' '. Console::text('Sample:', 'underlined', 'bold')); + +// ----------------- +// sample start here +// ----------------- +Console::log(); +Console::log(' '. Console::text(' 1) Using ') . Console::text('php str_pad()', 'lightblue', 'underlined')); +Console::log(); +Console::log(str_pad(' I am normal inside str_pad() {padLength:100, padString:\'*\'}', 100, '*')); +Console::log(str_pad(Console::text(' I am colorized with ::text() inside str_pad() {padLength:100, padString:\'*\'}', 'lightcyan'), 100, '*')); +Console::log(); +Console::log(' '. Console::text(' => you should\'see what you expect. I guess second text has less than 100 chars... ', 'white', 'red')); +Console::log(); +Console::log(); +Console::log(' '. Console::text(' 2) Using ') . Console::text('Console::pad()', 'lightblue', 'underlined')); +Console::log(); +Console::log(Console::pad(' I am normal inside ::pad() {padLength:100, padString:\'*\'}', 100, '*')); +Console::log(Console::pad(Console::text(' I am colorized with ::text() inside ::pad() {padLength:100, padString:\'*\'}', 'lightcyan'), 100, '*')); +Console::log(); +Console::log(' '. Console::text(' => should be OK ', 'white', 'green')); + +?> diff --git a/demo/demo.progress.php b/demo/demo.progress.php index 2156276..0d29c72 100644 --- a/demo/demo.progress.php +++ b/demo/demo.progress.php @@ -1,43 +1,43 @@ diff --git a/demo/demo.size.php b/demo/demo.size.php index 3c04b66..8fc9cb3 100644 --- a/demo/demo.size.php +++ b/demo/demo.size.php @@ -2,22 +2,24 @@ require_once __DIR__ .'/../vendor/autoload.php'; use Kristuff\Mishell\Console; -Console::log('Overview:', 'underline', 'bold'); -Console::log(" - Use " . Console::text("int Console::getLines()", 'blue', 'white') . " get the number of lines in terminal."); -Console::log(" - Use " . Console::text("int Console::getColumns()", 'blue', 'white') . " get the number of columns in terminal."); -Console::log(''); -Console::log(''); -Console::log('Sample:', 'underline', 'bold'); -Console::log(''); +Console::log(' '. Console::text('Overview:', 'underlined', 'bold')); +Console::log(" - Use " . Console::text("int ", 'blue'). Console::text("Console::getLines()", 'lightblue', 'underlined') . " get the number of lines in terminal."); +Console::log(" - Use " . Console::text("int ", 'blue'). Console::text("Console::getColumns()", 'lightblue', 'underlined') . " get the number of columns in terminal."); +Console::log(); +Console::log(); +Console::log(' '. Console::text('Sample:', 'underlined', 'bold')); +Console::log(); // get columns and lines $lines = Console::getLines(); $cols = Console::getColumns(); // print value -Console::log('The number of lines is currently: ' .Console::text($lines, 'green')); -Console::log('The number of columns is currently: ' .Console::text($cols, 'green')); -Console::log(''); +Console::log(' The number of lines is currently: ' .Console::text($lines, 'green')); +Console::log(' The number of columns is currently: ' .Console::text($cols, 'green')); +Console::log(); // build a 'full' row -Console::log(Console::pad('I have exactly the length of your terminal.', $cols), 'white', 'yellow'); +Console::log(Console::pad(' I have exactly the length of your terminal.', $cols), 'white', 'yellow'); + +?> diff --git a/demo/demo.styles.php b/demo/demo.styles.php index d162e0a..458cccb 100644 --- a/demo/demo.styles.php +++ b/demo/demo.styles.php @@ -3,30 +3,22 @@ use Kristuff\Mishell\Console; // the row header -$rowHeaders = [ - '#Num' => 7, - 'Style name' => 15, - 'ANSI Code' => 15, - 'Sample ouput' => 50 -]; - +$rowHeaders = [ 'Style name' => 15, 'ANSI Code' => 15, 'Sample ouput' => 50 ]; Console::log(' '.Console::tableRowSeparator($rowHeaders)); Console::log(' '.Console::tableRow($rowHeaders)); Console::log(' '.Console::tableRowSeparator($rowHeaders)); -Console::log(' '.Console::tableRowEmpty($rowHeaders)); +// enum styles $index = 1; - foreach (Console::getStyles()[ 'options' ] as $option => $value){ Console::log(' ' . - Console::tableRow([ - $index => 7, - $option => 15, - "\\033[" . $value .'m' => 15, - Console::text(str_pad('I am a text style={' . $option .'}', 48), $option) => 50 - ])); - Console::log(' '.Console::tableRowEmpty($rowHeaders)); // add blank row between element + Console::tableRow([ + $option => 15, + "\\033[" . $value .'m' => 15, + Console::text('I am a text style={' . $option .'}', $option) => 50 + ])); $index++; } Console::log(' '.Console::tableRowSeparator($rowHeaders)); +?> diff --git a/demo/demo.table.php b/demo/demo.table.php index cc366c4..6ec5bb3 100644 --- a/demo/demo.table.php +++ b/demo/demo.table.php @@ -1,14 +1,15 @@ 10, 'Item' => 25, 'Description' => 50]; $rows = [ - ['foo', 'some text for foo'], + ['foo', 'some text for foo'], ['bar', 'some text for bar'], ['foobar', 'some text for foobar'] ]; @@ -33,12 +34,12 @@ // ------------------------------- // ------ ADVANCED SAMPLE -------- // ------------------------------- -Console::log('Advanced sample', 'white', 'magenta'); +Console::log(' ' . Console::text('Advanced sample', 'white', 'underlined')); Console::log(); $rowHeaders = [ Console::text('Index', 'blue') => 10, - Console::text('Item', 'white', 'underline') => 25, + Console::text('Item', 'white', 'underlined') => 25, Console::text('Description', 'white') => 50 ]; $rows = [ @@ -48,7 +49,7 @@ ], [ Console::text('bar (on right)', 'white'), - Console::text( 'some centered text grey for bar', 'grey') + Console::text( 'some centered text green for bar', 'green') ], [ Console::text('foobar (on right)', 'white'), @@ -84,4 +85,6 @@ // table end Console::log(Console::tableRowEmpty($rowHeaders)); // empty row | | | ... Console::log(Console::tableSeparator($rowHeaders)); // saparator |----------------------- ... +console::resetDefaults(); +?> diff --git a/demo/demo.window.php b/demo/demo.window.php index 798a56f..69922fa 100644 --- a/demo/demo.window.php +++ b/demo/demo.window.php @@ -2,55 +2,52 @@ require_once __DIR__ .'/../vendor/autoload.php'; use Kristuff\Mishell\Console; -Console::log(); -Console::log(Console::text('_____________________________', 'white', 'bold')); -Console::log(Console::text(' ', 'white', 'magenta', 'bold')); -Console::log(Console::text(' CURRENT ', 'white', 'magenta', 'bold')); -Console::log(Console::text('_____________________________', 'white', 'magenta', 'bold')); -Console::log(); - - -Console::log('Let say we are current window.'); -Console::log('We will open a new window using ' . Console::text('Console::newWindow()', 'blue', 'white') . ' method.'); -Console::ask('Press [Enter] to open new window > '); +Console::log(' Let say we are current window.'); +Console::log(' We will open a new window using ' . Console::text('Console::newWindow()', 'lightblue', 'underlined') . ' method.'); +Console::ask(' Press [Enter] to open new window > '); +// ------------------ // *open* new window +// ------------------ Console::newWindow(); Console::log(); -Console::log(Console::text('_____________________________', 'white', 'bold')); -Console::log(Console::text(' ', 'white', 'green', 'bold')); -Console::log(Console::text(' NEW WINDOW 1 ', 'white', 'green', 'bold')); -Console::log(Console::text('_____________________________', 'white', 'green', 'bold')); +Console::log(' _____________________________', 'green'); +Console::log(' ', 'green'); +Console::log(' NEW WINDOW 1 ', 'green'); +Console::log(' _____________________________', 'green'); Console::log(); +Console::log(' I am in new window. We will restore the window later using ' . Console::text('Console::restoreWindow()', 'lightblue', 'underlined') . ' method.' ); +Console::ask(' Press [Enter] to restore >'); - -Console::log('I am in new window. We will restore the window later using ' . Console::text('Console::restoreWindow()', 'blue', 'white') . ' method.' ); -Console::ask('Press [Enter] to restore >'); - +// ------------------ // restore new window +// ------------------ Console::restoreWindow(); -Console::log('We have now restored the current window using ' . Console::text('Console::restoreWindow()', 'blue', 'white') . ' method'); -Console::log('We will reopen a new window using ' . Console::text('Console::newWindow()', 'blue', 'white') . ' method.'); -Console::ask('Press [Enter] to open new window > '); +Console::log(' We have now restored the current window using ' . Console::text('Console::restoreWindow()', 'lightblue', 'underlined') . ' method'); +Console::log(' We will reopen a new window using ' . Console::text('Console::newWindow()', 'lightblue', 'underlined') . ' method.'); +Console::ask(' Press [Enter] to open new window > '); +// ------------------ // *open* new window +// ------------------ Console::newWindow(); Console::log(); -Console::log(Console::text('_____________________________', 'white', 'bold')); -Console::log(Console::text(' ', 'white', 'yellow', 'bold')); -Console::log(Console::text(' NEW WINDOW 2 ', 'white', 'yellow', 'bold')); -Console::log(Console::text('_____________________________', 'white', 'yellow', 'bold')); +Console::log(' _____________________________', 'yellow'); +Console::log(' ', 'yellow'); +Console::log(' NEW WINDOW 2 ', 'yellow'); +Console::log(' _____________________________', 'yellow'); Console::log(); +Console::log(' I am in new window. We will restore the window later using ' . Console::text('Console::restoreWindow()', 'lightblue', 'underlined') . ' method.' ); +Console::ask(' Press [Enter] to restore >'); -Console::log('I am in new window. We will restore the window later using ' . Console::text('Console::restoreWindow()', 'blue', 'white') . ' method.' ); -Console::ask('Press [Enter] to restore >'); - - - +// ------------------ // restore new window +// ------------------ Console::restoreWindow(); -Console::log('We have now restored the current window using ' . Console::text('Console::restoreWindow()', 'blue', 'white') . ' method. That\'s all.'); -Console::log('Got it'. Console::text('?', 'green')); +Console::log(' We have now restored the current window using ' . Console::text('Console::restoreWindow()', 'lightblue', 'underlined') . ' method. That\'s all.'); +Console::log(' Got it'. Console::text('?', 'green')); + +?> diff --git a/demo/index.php b/demo/index.php index d6f514e..4147a51 100644 --- a/demo/index.php +++ b/demo/index.php @@ -5,6 +5,7 @@ Console::clear(); printLoader(); goIndex(); +//Console::newWindow(); function goIndex() { @@ -15,18 +16,18 @@ function goIndex() function printLoader() { - Console::log(); Console::log(); - Console::log(' '. Console::text(" _ ", 'black', 'white') . Console::text(" ____ _ _ _ ", 'magenta', 'white')); - Console::log(' '. Console::text(" _ __ ___ (_) ", 'black', 'white') . Console::text(" / ___|| |__ ___| | | ", 'magenta', 'white')); - Console::log(' '. Console::text(" | '_ ` _ \| | ", 'black', 'white') . Console::text(" \___ \| '_ \ / _ \ | | ", 'magenta', 'white')); - Console::log(' '. Console::text(" | | | | | | | ", 'black', 'white') . Console::text(" ___) | | | | __/ | | ", 'magenta', 'white')); - Console::log(' '. Console::text(" |_| |_| |_|_| ", 'black', 'white') . Console::text(" |____/|_| |_|\___|_|_| ", 'magenta', 'white')); - Console::log(' '. Console::text(" ", 'black', 'white') . Console::text(" ", 'magenta', 'white')); - Console::log(' '. Console::text(" ", 'black', 'white') . Console::text(" Version 1.0 ", 'black', 'white')); - Console::log(' '. Console::text(" ", 'black', 'white') . Console::text(" © 2020 Kristuff ", 'black', 'white')); - Console::log(' '. Console::text(" ", 'black', 'white') . Console::text(" ", 'magenta', 'white')); + Console::log(' '. Console::text(" _ ____ _ _ _ ", 'red')); + Console::log(' '. Console::text(" _ __ ___ (_)/ ___|| |__ ___| | | ", 'red')); + Console::log(' '. Console::text(" | '_ ` _ \| |\___ \| '_ \ / _ \ | | ", 'red')); + Console::log(' '. Console::text(" | | | | | | | ___) | | | | __/ | | ", 'red')); + Console::log(' '. Console::text(" |_| |_| |_|_||____/|_| |_|\___|_|_| ", 'red')); + Console::log(' '. Console::text(" ", 'red')); + Console::log(' '. Console::text(" Version 1.2 ", 'red')); + Console::log(' '. Console::text(" © 2017-2020 Kristuff ", 'red')); + Console::log(' '. Console::text(" ", 'red')); + Console::log(); Console::log(); Console::log(); @@ -36,15 +37,15 @@ function printLoader() for ($i=0 ; $i<=100 ; $i++) { // Overwrite progress message. - Console::relog($pad.Console::text('Loading... [', 'white'). + Console::relog($pad.Console::text('This is a fake progress message... [', 'white'). Console::text($i .'%', 'green'). Console::text('] completed', 'white')); // wait for a while, so we see the animation - usleep(15000); + usleep(17000); } // Overwrite progress message. - Console::relog($pad.Console::text('Done!', 'white', 'green', 'underline').str_pad(' ', 150)); + Console::relog($pad.Console::text('Done!', 'white', 'green', 'underlined').str_pad(' ', 100)); usleep(45000); Console::clear(); } @@ -52,13 +53,16 @@ function printLoader() function getIndex() { $index = []; - - $index[1] = ['Styles', 'How to get available basic styles', 'demo.styles.php']; $index[2] = ['Colors', 'How to get available foreground colors', 'demo.colors.php']; $index[3] = ['Backgrounds', 'How to get available background colors', 'demo.bgcolors.php']; - +// $index[4] = ['Text', 'Console::text() overview', 'demo.log.php']; +// $index[5] = ['Log', 'Console::log() overview', 'demo.log.php']; +// $index[6] = ['ReLog', 'Console::relog() overview', 'demo.relog.php']; + $index[7] = ['Pad', 'Console::pad() overview', 'demo.pad.php']; + $index[8] = ['Size', 'How to get the number of columns and lines in terminal', 'demo.size.php']; + $index[11] = ['Ask', 'How to ask? (get user input)', 'demo.ask.php']; $index[12] = ['Ask Number', 'How to ask and expect a number?', 'demo.askint.php']; $index[13] = ['Ask Password', 'How to ask a password? (do not print user input)', 'demo.askpassword.php']; @@ -68,13 +72,8 @@ function getIndex() $index[16] = ['Progress', 'How to output progress message?', 'demo.progress.php']; $index[17] = ['New window', 'How to open new/restore window?', 'demo.window.php']; -// $index[4] = ['Text', 'Console::text() overview', 'demo.log.php']; -// $index[5] = ['Log', 'Console::log() overview', 'demo.log.php']; -// $index[6] = ['ReLog', 'Console::relog() overview', 'demo.relog.php']; - $index[7] = ['Pad', 'Console::pad() overview', 'demo.pad.php']; - $index[8] = ['Size', 'How to get the number of columns and lines in terminal', 'demo.size.php']; - $index[9] = ['BlueScreen', 'Really nice full screen centered message sample', 'demo.bluescreen.php']; - + $index[20] = ['BlueScreen', 'Really nice full screen centered message sample', 'demo.bluescreen.php']; + return $index; } @@ -82,92 +81,72 @@ function printHeader() { Console::clear(); Console::log(); - Console::log(' '.Console::text(' ', 'white', 'bold', 'underline')); - Console::log(' '.Console::text(' ', 'white', 'cyan', 'bold')); - Console::log(' '.Console::text(' --- Interactive ~Mishell^^ Console sample --- ', 'white', 'cyan', 'bold')); - Console::log(' '.Console::text(' ', 'white', 'cyan', 'bold', 'underline')); - Console::log(); + Console::log(Console::text(' Kristuff/Mishell ', 'darkgray') . Console::text(' v1.2 ', 'white', 'green')); + Console::log(Console::text(' Made with ', 'darkgray') . Console::text('♥', 'red') . Console::text(' in France', 'darkgray')); + Console::log( + Console::text(' © 2017-2020 Kristuff (', 'darkgray') . + Console::text('https://github.com/kristuff)', 'darkgray', 'underlined') . + Console::text(')', 'darkgray') + ); + Console::log(); + Console::log(' '.Console::text(' Interactive sample ', 'white', 'blue', 'bold')); + Console::log(); } function printSampleHeader($index, $title) { - Console::log(' ' . Console::text(Console::pad('', 20, ' ', STR_PAD_BOTH), 'white', 'bold', 'underline')); - Console::log(' ' . Console::text(Console::pad('', 20, ' ', STR_PAD_BOTH), 'white', 'yellow', 'bold')); - Console::log(' ' . Console::text(Console::pad($index .' - ' . $title, 20, ' ', STR_PAD_BOTH), 'white', 'yellow', 'bold')); - Console::log(' ' . Console::text(Console::pad('', 20, ' ', STR_PAD_BOTH), 'white', 'yellow', 'bold', 'underline')); + Console::log(' ' . Console::text(' - '. $index .' - ' . $title . ' ', 'white', 'blue')); Console::log(); } function printIndex() { - Console::log(' '. Console::text('Index:', 'underline', 'bold')); - $rowHeaders = ['Index' => 10, 'Item' => 25, 'Description' => 70]; + $rowHeaders = ['Index' => 6, 'Item' => 15, 'Description' => 55]; + $i = 0; // customize table separator - // customize table row style (color, bg...) - Console::$verticalSeparator = ''; - Console::$verticalInnerSeparator = ''; - Console::$horizontalSeparator = ' '; - - //Console::log(' '.Console::tableRowSeparator($rowHeaders, 'grey')); - - Console::$horizontalSeparator = '_'; - Console::log(' '.Console::tableRowSeparator($rowHeaders, 'white', 'bold')); - - Console::$horizontalSeparator = ' '; - //Console::$verticalSeparator = '|'; - Console::log(' '.Console::tableRowSeparator($rowHeaders, 'white', 'blue', 'bold')); - - - Console::log(' '.Console::tableRow($rowHeaders, 'white', 'blue', 'bold')); - Console::$horizontalSeparator = '_'; - Console::log(' '.Console::tableRowSeparator($rowHeaders, 'white', 'blue', 'bold')); - Console::log(' '.Console::tableRowEmpty($rowHeaders, 'white', 'black')); + Console::$horizontalSeparator = '-'; + Console::$verticalSeparator = ' '; + Console::$verticalInnerSeparator = ' '; + Console::$tableCellPadding = ' '; + + Console::log(''.Console::tableRowSeparator($rowHeaders, 'darkgray')); + Console::log(''.Console::tableRow($rowHeaders, 'darkgray')); + Console::log(''.Console::tableRowSeparator($rowHeaders, 'darkgray')); + Console::log(); - $i = 0; foreach (getIndex() as $key => $value){ - if (file_exists( __DIR__ . '/'. $value[2])) { - Console::log(' '. - Console::tableRow([ - $key => 10, - $value[0] => 25, - $value[1] => 70 - ], - 'white', 'black' - - // ($i % 2 == 1) ? 'white' : 'white', - // ($i % 2 == 1) ? 'cyan' : 'lightgrey', - // ($i % 2 == 1) ? '' : 'bold' - ) + Console::log(''. + Console::TableRowStart(). + Console::TableRowCell(Console::text($key,'lightgray'), 6, Console::ALIGN_CENTER). //no align => default is left + Console::TableRowCell(Console::text($value[0], 'lightgray'), 15). + Console::TableRowCell(Console::text($value[1], 'lightgray'), 55) ); $i++; } - } - Console::log(' '.Console::tableRowSeparator($rowHeaders, 'white', 'black', 'bold')); - - // reset table sseparators to defaults - Console::resetDefaults(); - - // -------------------- - Console::log(''); - Console::log(' ' .Console::text('Tips:', 'underline', 'bold')); - Console::log(' '. Console::text('- At any time you can stop this program using [', 'green') .Console::text('Ctrl+C', 'black','white') .Console::text(']', 'green')); + Console::log(''.Console::tableRowSeparator($rowHeaders, 'darkgray')); + Console::log(''); + Console::log(' '. Console::text('Tips:', 'underlined', 'bold')); + Console::log(' '. Console::text(' - At any time you can stop this program using [') .Console::text('Ctrl+C', 'green') .Console::text(']')); Console::log(''); + // reset table separators to defaults + Console::resetDefaults(); } function askIndex() { - $base = Console::text('~miShell^^' , 'yellow'); - $base .= Console::text(' $ ' , 'grey'); - $selectedIndex = Console::askInt($base . Console::text('Enter desired index then press [Enter] to run sample > ', 'white')); + $base = Console::text(' kristuff/mishell-demo' , 'yellow'); + $base .= Console::text('~$ ' , 'gray'); + $selectedIndex = Console::askInt($base . Console::text(' Enter desired index then press [Enter] to run sample > ', 'white')); $index = getIndex(); switch($selectedIndex){ case 0: Console::log(); +// Console::restoreWindow(); exit(); break; @@ -195,7 +174,8 @@ function askIndex() Console::log($base . Console::text('End running [', 'white') . Console::text( $title, 'lightcyan') . Console::text(']', 'white')); - $response = Console::ask($base . Console::text('Do you want to see the code that has been executed? (type y/Y to see the code) > ', 'white')); + + $response = Console::ask($base . Console::text('Do you want to see the code that has been executed? (type y/Y to see the code) > ', 'white')); if (strtoupper($response) === 'Y') { Console::log($base . Console::text('The code in file [', 'white') . Console::text( $fileName, 'lightcyan') . @@ -204,15 +184,17 @@ function askIndex() $lines = file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $count = 1; + + Console::log(Console::pad(' ', 100, '-'), 'darkgray'); foreach($lines as $line){ $codeLine = rtrim($line); $isComment = substr(ltrim($codeLine), 0, 2) === '//'; - Console::log( - Console::pad($count . ' ', 3, ' ', STR_PAD_LEFT) . - Console::text(Console::pad($codeLine, 150), $isComment ? 'magenta' : 'black', 'white') - ); + $isPhp = substr(ltrim($codeLine), 0, 5) === ''; + $color = $isPhp ? 'blue' : ($isComment ? 'green' : 'lightgray'); + Console::log(' '. Console::text($codeLine, $color)); $count++; } + Console::log(Console::pad(' ', 100, '-'), 'darkgray'); Console::log(); } } else { diff --git a/doc/screenshots/demo.gif b/doc/screenshots/demo.gif new file mode 100644 index 0000000..095d266 Binary files /dev/null and b/doc/screenshots/demo.gif differ diff --git a/doc/screenshots/index.png b/doc/screenshots/index.png index b346275..62d74ac 100644 Binary files a/doc/screenshots/index.png and b/doc/screenshots/index.png differ diff --git a/doc/screenshots/loading.png b/doc/screenshots/loading.png index 95bafba..729835b 100644 Binary files a/doc/screenshots/loading.png and b/doc/screenshots/loading.png differ diff --git a/lib/Console.php b/lib/Console.php index 9391058..b3245ab 100644 --- a/lib/Console.php +++ b/lib/Console.php @@ -13,7 +13,7 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * - * @version 1.1.0 + * @version 1.2.0 * @copyright 2017-2020 Kristuff */ diff --git a/lib/Program.php b/lib/Program.php new file mode 100644 index 0000000..57faa59 --- /dev/null +++ b/lib/Program.php @@ -0,0 +1,76 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @version 1.2.0 + * @copyright 2017-2020 Kristuff + */ + +namespace Kristuff\Mishell; + +class Program +{ + /** + * Exit with given exit code + * + * @access public + * @static + * @param bool $code The exit code. Default is 0. 1 is generaly set for error. + * + * @return void + */ + public static function exit(int $code = 0) { + exit($code); + } + + /** + * helper function to check if a argument is given + * + * @access protected + * @static + * @param array $arguments The list of arguments + * @param string $shortArg The short argument to check + * @param string $longArg The long argument to check + * + * @return bool True if the short or long argument exist in the arguments array, otherwise false + */ + protected static function inArguments(array $arguments, string $shortArg, string $longArg) + { + return array_key_exists($shortArg, $arguments) || array_key_exists($longArg, $arguments); + } + + /** + * helper function to get the value of an argument + * + * + * @access protected + * @static + * @param array $arguments The list of arguments + * @param string $shortArg The short argument name to check + * @param string $longArg The long argument name to check + * + * @return string|null + * + */ + protected static function getArgumentValue(array $arguments, string $shortArg, string $longArg) + { + $val = array_key_exists($shortArg, $arguments) ? $arguments[$shortArg] : + (array_key_exists($longArg, $arguments) ? $arguments[$longArg] : null); + + + return $val; + + } + +} \ No newline at end of file diff --git a/lib/ShellColoredPrinter.php b/lib/ShellColoredPrinter.php index c37e1f2..ce00220 100644 --- a/lib/ShellColoredPrinter.php +++ b/lib/ShellColoredPrinter.php @@ -13,7 +13,7 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * - * @version 1.1.0 + * @version 1.2.0 * @copyright 2017-2020 Kristuff */ @@ -24,34 +24,34 @@ abstract class ShellColoredPrinter extends \Kristuff\Mishell\ShellPrinter /** * Foreground colors constants * - * @access public + * @access protected * @static var * @var array */ protected static $foregroundColors = array( - 'normal' => '39', // your default color 'black' => '30', - 'grey' => '1;30', - 'lightgrey' => '37', - 'white' => '1;37', - 'blue' => '34', - 'lightblue' => '1;34', - 'green' => '32', - 'lightgreen' => '1;32', - 'cyan' => '36', - 'lightcyan' => '1;36', 'red' => '31', - 'lightred' => '1;31', + 'green' => '32', + 'yellow' => '33', + 'blue' => '34', 'magenta' => '35', - 'lightmagenta' => '1;35', - 'brown' => '33', - 'yellow' => '1;33', + 'cyan' => '36', + 'lightgray' => '37', + 'default' => '39', // your default color + 'darkgray' => '90', + 'lightred' => '91', + 'lightgreen' => '92', + 'lightyellow' => '93', + 'lightblue' => '94', + 'lightmagenta' => '95', + 'lightcyan' => '96', + 'white' => '97', ); /** * Background colors constants * - * @access public + * @access protected * @static var * @var array */ @@ -63,7 +63,16 @@ abstract class ShellColoredPrinter extends \Kristuff\Mishell\ShellPrinter 'blue' => '44', 'magenta' => '45', 'cyan' => '46', - 'white' => '47', + 'lightgray' => '47', + 'default' => '49', + 'darkgray' => '100', + 'lightred' => '101', + 'lightgreen' => '102', + 'lightyellow' => '103', + 'lightblue' => '104', + 'lightmagenta' => '105', + 'lightcyan' => '106', + 'white' => '107', ); /** @@ -76,9 +85,13 @@ abstract class ShellColoredPrinter extends \Kristuff\Mishell\ShellPrinter protected static $options = array( 'none' => '0', // reset all styles 'bold' => '1', // - 'underline' => '4', + 'dim' => '2', + 'underlined' => '4', 'blink' => '5', 'reverse' => '7', // reverse foreground/background color + + //formats=(["bold"]=1 ["bright"]=1 ["dim"]=2 ["underlined"]=4 ["blink"]=5 ["reverse"]=7 ["hidden"]=8) + //resets=(["all"]=0 ["bold"]=21 ["bright"]=21 ["dim"]=22 ["underlined"]=24 ["blink"]=25 ["reverse"]=27 ["hidden"]=28) ); /** @@ -175,7 +188,7 @@ protected static function cmd($command, array $args) * * @return mixed|void */ - protected static function getCliString($str, array $arguments = []) + protected static function getCliString(string $str, array $arguments = []) { if (empty($arguments)){ return $str; @@ -206,6 +219,7 @@ protected static function getCliString($str, array $arguments = []) } // Add string and end coloring + // todo \e[0m $coloredString .= "\033[" . implode(';',$cliArgs) .'m'; $coloredString .= $str . "\033[0m"; return $coloredString; diff --git a/lib/ShellPrinter.php b/lib/ShellPrinter.php index eb70a25..5deda66 100644 --- a/lib/ShellPrinter.php +++ b/lib/ShellPrinter.php @@ -13,7 +13,7 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * - * @version 1.1.0 + * @version 1.2.0 * @copyright 2017-2020 Kristuff */ diff --git a/lib/ShellTablePrinter.php b/lib/ShellTablePrinter.php index 4c846ca..268b248 100644 --- a/lib/ShellTablePrinter.php +++ b/lib/ShellTablePrinter.php @@ -24,21 +24,21 @@ abstract class ShellTablePrinter extends \Kristuff\Mishell\ShellColoredPrinter /** * Align left constant * - * @const int + * @const int */ const ALIGN_LEFT = STR_PAD_RIGHT; /** * Align right constant * - * @const int + * @const int */ const ALIGN_RIGHT = STR_PAD_LEFT; /** * Align center constant * - * @const int + * @const int */ const ALIGN_CENTER = STR_PAD_BOTH; @@ -120,6 +120,7 @@ public static function resetDefaults() self::$horizontalSeparator = self::$defaultHorizontalSign; self::$tableCellPadding = self::$defaultCellPadding; self::$verticalInnerSeparator = self::$defaultVerticalInnerSign; + self::$tableCellPadding = self::$defaultCellPadding; } /**