What is Code::TidyAll?
Plugin- and Config-Based
ignore = DateTime-*/**/*
...
[PerlCritic]
select = **/*.{pl,pm,t,psgi}
argv = --profile=$ROOT/perlcriticrc
[PerlTidy]
select = **/*.{pl,pm,t,psgi}
argv = --profile=$ROOT/perltidyrc
[SortLines::Naturally]
select = .stopwords
[Test::Vars]
select = **/*.pm
global_options = ...
global_options = ...
[SomePlugin]
plugin_options = ...
[SomePlugin another config]
plugin_options = ...
[DifferentPlugin]
...
Caching Results
Testing Tidyness
use Test::Code::TidyAll;
use Test::More;
tidyall_ok();
done_testing();
Caching Strategies
Many CLI Options
File Selection Options
tidyall -a
tidyall -g
tidyall -r ./path
tidyall ./just/One/File.pm
Git Hooks
use strict;
use warnings;
use Code::TidyAll::Git::Precommit;
Code::TidyAll::Git::Precommit->check();
in .git/hooks/pre-commit
Plugin Classes
Available Plugins
Precious 💍
One code quality tool to rule them all
https://github.com/houseabsolute/precious-rs