Perltidy TODO List
- This is a partial "wish-list" of features to add and things to do.
- Perltidy not idempotent
- Perltidy does a single pass but iterates locally to try to satisfy the
- various constraints and formatting parameters, but in some cases it can
- take a second pass to reach a stable format, particularly when major
- format style changes are made. It would be useful to have a flag to
- force a second pass, say --passes=2.
+ For a list of bugs and feature requests see:
- For now, a workaround for a single file is
-
- perltidy file.pl -st | perltidy -o file.tdy
-
- The starting indentation level is not correctly guessed when tabs are used
- When formatting a snippet which does not begin at zero indentation,
- perltidy must guess the starting indentation. The -sil flag can be used
- to specify this, but this is tedious. In general we cannot know the
- indentation and can only guess, but we can at least require that if
- perltidy is run twice on the same snippet, with the same parameters,
- that the indentation be correctly guessed on the second pass. Currently,
- this is only true if there are no tabs in the leading whitespace. A
- patch has been submitted to fix this but it needs a little work still.
-
- -b does not work through the Tidy module
- The use of -b in the following does not work:
-
- use Perl::Tidy ();
- use File::Spec;
-
- my $file = File::Spec->catfile( $dir,
- $filename );
-
- Perl::Tidy::perltidy(
- source => $file,
- argv => '-b',
- perltidyrc => $perltidyrc,
- );
-
- A temporary workaround is:
-
- Perl::Tidy::perltidy(
- argv => "-b $file",
- perltidyrc => $perltidyrc,
- );
-
- Improved Vertical Alignment
- There are still many opportunities for improving vertical alignment.
-
- Documentation
- A FAQ is needed to explain some of the more subtle formatting issues,
- and to give examples of different styles.
-
- The -formatter callback object documentation is incomplete.
-
- HTML writer
- The HTML writer does not colorize interpolated identifiers in here
- documents or quoted strings. The tokenizer outputs interpolation
- information for here docs; it still needs to be updated to do this for
- multi-line quotes. Then code needs to be written to scan for and markup
- identifiers.
-
-Things which have been suggested but will not be done
- Recursive file processing
- A -r flag might be nice, but this is best handled by an exterior shell
- script.
+ https://rt.cpan.org/Public/Dist/Display.html?Name=Perl-Tidy