rubenvanerk/artisan-window

A trait to create a fixed-size window in the Artisan console

0.1.0 2023-03-03 15:38 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A simple trait to create a fixed-size Artisan console window.

Installation

You can just copy the trait to your own project or install the package via composer:

composer require rubenvanerk/artisan-window

Usage

In your console command, add the HasWindows trait. Next, you can call the window function. It takes three arguments:

  • The title of the window
  • The max number of lines
  • A function

In the function you can output anything you'd like. If the output doesn't fit, it will scroll out of the window.

class Example extends Command
{
    use \RubenVanErk\ArtisanWindow\Traits\HasWindows;
    
    public function handle()
    {
        $this->window('Never Gonna Give You Up', 5, function () {
            // ...
            $this->info('Never gonna give you up');
            $this->info('Never gonna let you down');
            $this->info('Never gonna run around and desert you');
            $this->info('Never gonna make you cry');
            $this->info('Never gonna say goodbye');
            $this->info('Never gonna tell a lie and hurt you');
            // ...
        })    
    }    
}

This wil produce something like this:

asciicast


## Testing

```bash
composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.