Closed
Description
What about adding twig:debug command which displays information about registered extensions, globals, functions, variables, etc..
like this
protected function execute(InputInterface $input, OutputInterface $output)
{
$twig = $this->getContainer()->get('twig');
$output->writeln('<info>Extensions</info>');
foreach ($twig->getExtensions() as $extension) {
$output->writeln(sprintf(' %-30s: %s', $extension->getName(), get_class($extension)));
}
if ($twig->getGlobals()) {
$output->writeln('');
$output->writeln('<info>Globals</info>');
foreach ($twig->getGlobals() as $key => $value) {
$output->writeln(sprintf(' %s', $key));
}
}
if ($twig->getFunctions()) {
$output->writeln('');
$output->writeln('<info>Functions</info>');
foreach ($twig->getFunctions() as $name => $function) {
if ($function instanceof \Twig_SimpleFunction) {
$name = $function->getName();
}
$output->writeln(sprintf(' %s', $name));
}
}
if ($twig->getFilters()) {
$output->writeln('');
$output->writeln('<info>Filters</info>');
foreach ($twig->getFilters() as $name => $filter) {
if ($filter instanceof \Twig_SimpleFilter) {
$name = $filter->getName();
}
$output->writeln(sprintf(' %s', $name));
}
}
}