Perltidy TODO List
- This is a partial "wish-list" of features to add and things to do.
+ 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 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,
- );
+ Provide an option to ignore side comments when checking line length.
+ That is, side comments would be allowed to be arbitrarily long without
+ influencing line breaks.
Improved Vertical Alignment
There are still many opportunities for improving vertical alignment.
+ Minimize the instances in which formatting changes on a second iteration.
+
+ Add a convergence test when -it=n is used
+
Documentation
A FAQ is needed to explain some of the more subtle formatting issues,
and to give examples of different styles.
A -r flag might be nice, but this is best handled by an exterior shell
script.
+ Make perltidy support the syntax of some module XXX.
+ This generally won't be done unless the module is part of the core perl
+ distribution. But in some cases it might be possible to use the prefilter
+ and postfilter capabilities of the Tidy.pm module to help.