adamgaskins/gumwrapper

为Gum提供的PHP包装器:一个用于华丽的shell脚本的工具 🎀

v0.1.2 2022-08-13 02:49 UTC

This package is auto-updated.

Last update: 2024-09-11 08:52:25 UTC


README

Gum周围的一个轻量级包装器:一个用于华丽的shell脚本的工具。有关底层功能的更多信息,请参阅Gum文档

入门指南

使用composer安装

composer install adamgaskins/gumwrapper

用法

$gum = new Gum();
$gum->choose([ 'apple', 'banana', 'pear' ])

目前支持以下平台。请向BinManager.php提交一个PR,以添加Gum支持的其他平台的支持!

  • Apple M1
  • Apple Intel
  • Windows i386
  • Windows x86_64

参考

选择

$result = $gum->choose([ 'apple', 'banana', 'pear', 'orange' ]);
// example: "apple"
$gum->choose(
    $options = [ 'apple', 'banana', 'pear', 'orange' ],
    $limit = 2, // enable multiselect
    $height = 10 // scroll if more than 10 items
);

确认

$result = $gum->confirm();
// example: true
$gum->confirm(
    $prompt = 'Are you sure?',
    $affirmativeText = 'Yeah!',
    $negativeText = 'Actually, no',
    $default = false // default to "no" option
);

输入

$result = $gum->input('What is your name?');
// example: "Adam"
$gum->input(
    $placeholder = 'Password',
    $prompt = '> ',
    $initialValue = null,
    $charLimit = 400,
    $width = 10,
    $password = true
);

旋转

注意:在调用->terminate()终止旋转器之前,不要写入任何输出或调用其他Gum命令,否则可能会出错。

$spinner = $gum->spin();
sleep(10); // do some long task
$spinner->terminate();
$gum->spin(
    $title = 'Downloading files...',
    $spinner = 'pulse'
);

待办事项

  • 编写
  • 过滤器