<?php

namespace NoccyLabs\Shell;

use NoccyLabs\Shell\LineRead;

abstract class Command
{

    protected $name;

    protected $deescription;

    protected $shell;

    public function setShell(Shell $shell)
    {
        $this->shell = $shell;
    }

    protected function writeln($str)
    {
        $this->shell->writeln($str);
    }

    public function getName()
    {}

    public function getDescription()
    {}
    
    public function getHelp()
    {}

    public function __invoke(...$args)
    {
        call_user_func([$this,"execute"], ...$args);
    }
}