phpcq/plugin-api

Introduce Diagnostic builder

Closed this issue · 1 comments

interface ToolReportInterface 
{
    public const SEVERITY_INFO = 'info';
    public const SEVERITY_NOTICE = 'notice';
    public const SEVERITY_WARNING = 'warning';
    public const SEVERITY_ERROR = 'error';

    public function addDiagnostic(string $severity, string $message) : DiagnosticBuilderInterface
}

interface DiagnosticBuilderInterface
{
    public function forFile(string $file) : FileDiagnosticBuilderInterface

    public function fromSource(string $source) : self

    public function end() : ToolReportInterface
}

interface FileDiagnosticBuilderInterface
{
    public function forRange(int $line, ?int $column = null, ?int $endline = null, ?int $endcolumn = null): self;

    public function end() : DiagnosticBuilderInterface
}

Implemented in 9635e2f