protected function configure()
{
$this->setName('lint')->setDescription('Lints a template and outputs encountered errors')->setDefinition(array(new InputOption('format', '', InputOption::VALUE_OPTIONAL, 'full, csv', 'full'), new InputOption('exclude', '', InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Excludes, based on regex, paths of files and folders from parsing'), new InputOption('only-print-errors', '', InputOption::VALUE_NONE), new InputOption('summary', '', InputOption::VALUE_NONE)))->addArgument('filename')->setHelp(<<<EOF
The <info>%command.name%</info> command lints a template and outputs to stdout
the first encountered syntax error.
<info>php %command.full_name% filename</info>
The command gets the contents of <comment>filename</comment> and validates its syntax.
<info>php %command.full_name% dirname</info>
The command finds all twig templates in <comment>dirname</comment> and validates the syntax
of each Twig template.
<info>cat filename | php %command.full_name%</info>
The command gets the template contents from stdin and validates its syntax.
<info>php %command.full_name% filename --exclude path/to/dir --exclude path/.*/file\\.twig --exclude some_folder/file</info>
The command excludes the files that match the exclusion (regex) and lists them as skipped.
EOF
);
}