public function fix(\SplFileInfo $file, Tokens $tokens)
{
foreach ($tokens as $index => $token) {
if ($token->isComment()) {
$content = preg_replace('/^(?:(?<! ) {1,3})?\\t/m', '\\1 ', $token->getContent(), -1, $count);
// Also check for more tabs.
while ($count !== 0) {
$content = preg_replace('/^(\\ +)?\\t/m', '\\1 ', $content, -1, $count);
}
// change indent to expected one
$content = preg_replace('/^ /m', $this->whitespacesConfig->getIndent(), $content);
$tokens[$index]->setContent($content);
continue;
}
if ($token->isWhitespace()) {
// normalize mixed indent
$content = preg_replace('/(?:(?<! ) {1,3})?\\t/', ' ', $token->getContent());
// change indent to expected one
$content = str_replace(' ', $this->whitespacesConfig->getIndent(), $content);
$tokens[$index]->setContent($content);
}
}
}