Skip to content

NikolaiSviridov/ash

Repository files navigation

Запуск

gradle run

Детали реализации

Главный объект класса Shell управляет состоянием шелла и запускает вводимые пользователем команды. Каждая строка, введённая пользователем обрабатывается с помощью NodeSplitter, Parser, PreCommandsBuidler и CommandBuilder. Если команда внутренняя (cat/echo...), то её выполнение передаётся объекту класса её реализации. Если же команда внешняя, то с помощью ExternalCommand для неё запускается процесс. После того, как команда заканчивает работу её вывод передаётся следующей команде, если она не последняя, иначе выводится в терминал. Со вводом ситуация симметричная.

Проблемы реализации

Пайпы получают полный вывод левой команды и передают его полностью правой.

Нет поддержки комментариев.

cloc

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Kotlin                          28            142            210            749
-------------------------------------------------------------------------------
SUM:                            28            142            210            749
-------------------------------------------------------------------------------

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages