alio / cli-file-tree
CLI utility for file selection with a menu interface using PHPSchool/CliMenu.
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php-school/cli-menu: ^3.2.0
Requires (Dev)
- orchestra/testbench: 3.8.*
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-12-20 09:24:40 UTC
README
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
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.