public function showCommandList(bool $showLogo = true)
    {
        $commands = $this->parserCmdAndDesc();

        $commandList = [];
        $script = \input()->getFullScript();
        $commandList['Usage:'] = ["php $script {command} [arguments] [options]"];
        $commandList['Commands:'] = $commands;
        $commandList['Options:'] = [
            '-h, --help'    => 'Display help information',
            '-v, --version' => 'Display version information',
        ];

        // show logo
        if ($showLogo) {
            \output()->writeLogo();
        }

        // output list
        \output()->writeList($commandList, 'comment', 'info');
    }