private function describeCommands(Application $application, AbstractCommand $command, array $options): void
    {
        $description = new ApplicationDescription(
            $application,
            $options['namespace'] ?? null,
            $options['show-hidden'] ?? false
        );

        Table::setStyleDefinition('zero', self::getZeroBorderStyle());

        $rows                        = [];
        $namespaceSortedCommandInfos = $this->getNamespaceSortedCommandInfos(
            $description->getCommands()
        );

        foreach ($namespaceSortedCommandInfos as $namespace => $infos) {
            $stringCommands     = '';
            $stringDescriptions = '';

            foreach ($infos as $info) {
                $description = '';

                if ($options['show-description'] ?? false) {
                    $description = $info['description'];
                }

                $stringCommands     .= '<fg=green>' . $info['command'] . "</>\n";
                $stringDescriptions .= $description . "\n";
            }

            $rows[] = [$namespace, $stringCommands, $stringDescriptions];
        }

        $command->table([], $rows, 'zero');
    }