yiisoft / config

Configuration management
https://www.yiiframework.com/
BSD 3-Clause "New" or "Revised" License
31 stars 11 forks source link

Interactive menu for changed configs [needs translation] #57

Closed viktorprogger closed 3 years ago

viktorprogger commented 3 years ago

The idea is to make the console interface of the package more friendly and convenient similar to Linux: IMG_20210507_163801_389

Для случаев апдейта конфигов можно сделать вариант примерно как для обновляемых конфигов пакетов в Линукс (скриншот выше), только ещё круче, благо возможность такая есть: после, например, composer update вывести список файлов, с которыми надо что-то сделать, чтобы между ними можно было переключаться кнопками вверх/вниз и выбирать, что с каждым конкретным файлом сделать. Плюс отдельно варианты применения ко всем оставшимся в списке файлам.

Example:

The following files have changes in both local and maintainer versions:
- file1.php
- file2.php
- file3.php
---------------------------
Batch actions for all the files above:
- Copy new versions as *.dist.php near the local ones
- Install maintainer versions
- Ignore all changes

В варианте выше юзер может кнопками вверх/вниз переключаться между шестью пунктами. Если выбран один из первых трех (какой-то файл), то задается вопрос, что с ним делать: игнорить, затереть локальную версию, скопировать новую версию в dist, показать изменения между локальной версией и новой, или же ничего не делать и вернуться в список. Если выбрано какое-то действие - возвращаемся обратно в список, из которого обработанный файл убираем. Если в списке файлов не осталось, то завершаем выполнение этого блока команд.

Пример инструмента для построения подобных менюшек: https://github.com/php-school/cli-menu

samdark commented 3 years ago

Looks interesting but I think it's enough for now what we have (issue was created before @devanych implemented more features).