Skip to content

xiCO2k/termwind-plugin-live

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Termwind logo

Termwind Live Plugin

GitHub Workflow Status (master) Total Downloads Latest Version License


Termwind Live Plugin allows you to make your cli content live.

Installation

Requires PHP 8.0+

Require Termwind Live Plugin using Composer:

composer require xico2k/termwind-plugin-live

Usage

use function Termwind\Live\live;

live(function () {
    static $total = 0;

    return sprintf('The content was refreshed %d times.', ++$total);
})->refreshEvery(seconds: 1);

refreshEvery()

The refreshEvery methods may be used to update the content by certain amount of time.

Methods available:

  • refreshEvery(milliseconds: 0, seconds: 0)
  • refreshEverySeconds($seconds)
  • refreshEveryMilliseconds($seconds)
// Seconds
live(fn () => 'foo')->refreshEverySeconds(1); // or
live(fn () => 'foo')->refreshEvery(seconds: 1);

// Milliseconds
live(fn () => 'foo')->refreshEveryMilliseconds(250); // or
live(fn () => 'foo')->refreshEvery(milliseconds: 1);

while(Closure $condition)

The while() method may be used to update the content while the condition is true.

live(fn () => 'Loading...')
    ->while(fn () => $process->running());

showCursor() and hideCursor()

The showCursor() and hideCursor() methods may be used to show/hide the cursor on your cli.

live('Loading...')
    ->hideCursor()
    ->while(fn () => $process->running())
    ->showCursor();

clear()

The clear() method may be used to clear the live output.

live('Loading...')
    ->while(fn () => $process->running())
    ->clear();

RefreshEvent

The RefreshEvent is passed to the Closure and provides a way to stop the execution.

use Termwind\Live\Events\RefreshEvent;

live(function (RefreshEvent $event) {
    $shouldStop = true; // Call to check something...

    if ($shouldStop) {
        $event->stop();
    }

    return 'foo';
})->refreshEvery(seconds: 1);

Termwind Live Plugin is an open-sourced software licensed under the MIT license.

About

Makes your cli content live! πŸƒβ€β™€οΈ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  
  •  

Packages

 
 
 

Contributors

Languages