alio/cli-file-tree

CLI utility for file selection with a menu interface using PHPSchool/CliMenu.

v1.0.0 2019-10-26 19:24 UTC

This package is auto-updated.

Last update: 2024-04-20 07:49:12 UTC


README

Build Status Total Downloads contributions welcome HitCount License

Laravel CLI utility for file selection with a menu interface using PHP School / CliMenu

Installation

You can install the package via composer:

composer require alio/cli-file-tree

Usage

This Laravel CLI utility basically allows you to select a folder or a file on your system using a menu interface with navigation feature and return the selected file's path.

You can also filter the files by (multiple) file extensions using the --filter option.

php artisan clifiletree [--filter=?] [--fg=?] [--bg=?]

--filter : (optional) display only folders or certain file types by extensions. Use 'folder' to display folders only. Supports multiple file extension filters by seperating with comma (Ex: csv,xls)
  --fg : (optional) foreground color (def. green)
  --bg : (optional) background color (def. black)

(possible color values : black, red, green, yellow, blue, magenta, cyan, white)

Below is an example to use the library in your project (the best use case is calling it from your custom command)

use Illuminate\Support\Facades\Artisan;
use Symfony\Component\Console\Output\BufferedOutput;

...

$output = new BufferedOutput;
Artisan::call('clifiletree', ['--filter' => 'csv'], $output);

$file = $output->fetch();

// do whatever you want with the $file

...

Screenshot

cli-file-tree-screenshot.jpg

Testing

composer test

Additional Notes

This package requires PHP posix extension enabled, it may not work in Windows Wamp/Xampp environments. Compatibility with the new Windows Terminal is being investigated.

Changelog

10/25/2019 - v1.0.0 released.

Issues

If you discover any problems please report in the issues section.

Contributors

Contributions and PRs are welcome!

License

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