d-examples/source/app.d

44 lines
1.9 KiB
D

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", "Эмуляция статуса выполнения процесса"))
.add(new Command("ospinner",
"Демонстрирует объектно-ориентированный подход к созданию анимации спиннера в консоли"))
)
.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", (spinner) { spinnerShell(); })
.on("ospinner", (ospinner) { oSpinnerShell(); });
});
return EXIT_SUCCESS;
}