import examples; import commandr; import core.stdc.stdlib : EXIT_SUCCESS; private string programName = "d-examples"; int main(string[] args) { auto argumets = new Program(programName, examplesVersion) .add(new Command("common", "Общего назначения") .add(new Command("isexists", "Проверяет наличие исполняемого файла в директориях,указанных в переменной окружения PATH")) .add(new Command("splittext", "Форматирует массив строк, разбивая их на строки указанной длины")) ) .add(new Command("ncurses", "Использование библиотеки ncurses") .add(new Command("menu", "Интерактивное консольное меню")) .add(new Command("password", "Консольное окно для ввода пароля")) ) .add(new Command("shell", "Запуск команд в shell") .add(new Command("pipe", "Чтение выходных данных на примере ip")) .add(new Command("spinner", "Эмуляция статуса выполнения процесса")) ) .parse(args); argumets .on("common", (common) { common .on("splittext", (splittext) { formatLines(); }) .on("isexists", (isexists) { isExists(); }); }) .on("ncurses", (ncurses) { ncurses .on("menu", (items) { menuNcurses(); }) .on("password", (password) { passwordNcurses(); }); }) .on("shell", (shell) { shell .on("pipe", (pipe) { pipeShell(); }) .on("spinner", (loading) { spinnerShell(); }); }); return EXIT_SUCCESS; }