72 lines
1.7 KiB
PHP
72 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* This file is part of Collision.
|
|
*
|
|
* (c) Nuno Maduro <enunomaduro@gmail.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace NunoMaduro\Collision\Contracts;
|
|
|
|
use Symfony\Component\Console\Output\OutputInterface;
|
|
use Whoops\Exception\Inspector;
|
|
|
|
/**
|
|
* This is the Collision Writer contract.
|
|
*
|
|
* @author Nuno Maduro <enunomaduro@gmail.com>
|
|
*/
|
|
interface Writer
|
|
{
|
|
/**
|
|
* Ignores traces where the file string matches one
|
|
* of the provided regex expressions.
|
|
*
|
|
* @param string[] $ignore the regex expressions
|
|
*
|
|
* @return \NunoMaduro\Collision\Contracts\Writer
|
|
*/
|
|
public function ignoreFilesIn(array $ignore): Writer;
|
|
|
|
/**
|
|
* Declares whether or not the Writer should show the trace.
|
|
*
|
|
* @return \NunoMaduro\Collision\Contracts\Writer
|
|
*/
|
|
public function showTrace(bool $show): Writer;
|
|
|
|
/**
|
|
* Declares whether or not the Writer should show the title.
|
|
*
|
|
* @return \NunoMaduro\Collision\Contracts\Writer
|
|
*/
|
|
public function showTitle(bool $show): Writer;
|
|
|
|
/**
|
|
* Declares whether or not the Writer should show the editor.
|
|
*
|
|
* @return \NunoMaduro\Collision\Contracts\Writer
|
|
*/
|
|
public function showEditor(bool $show): Writer;
|
|
|
|
/**
|
|
* Writes the details of the exception on the console.
|
|
*/
|
|
public function write(Inspector $inspector): void;
|
|
|
|
/**
|
|
* Sets the output.
|
|
*
|
|
* @return \NunoMaduro\Collision\Contracts\Writer
|
|
*/
|
|
public function setOutput(OutputInterface $output): Writer;
|
|
|
|
/**
|
|
* Gets the output.
|
|
*/
|
|
public function getOutput(): OutputInterface;
|
|
}
|