]> git.donarmstrong.com Git - perltidy.git/blobdiff - TODO
New upstream release
[perltidy.git] / TODO
diff --git a/TODO b/TODO
index 9c3ef3052cb0701db7d2f409c411ab8650177c28..8b0aa0fd57eb74a414805063cb9f1fea3a1fb7d5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,51 @@
 Perltidy TODO List
-    This is a "wish-list" of features to add and things to do. All of these
-    are of interest, but there is no particular schedule for implementing
-    them.
+    This is a partial "wish-list" of features to add and things to do.
 
-  Improved Vertical Alignment
-    There are many opportunities for improving vertical alignment.
+  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.
 
-  improved ?: formatting
-    An indentation level should be associated with ?: statements. This will
-    make nested ?: statements more readable.
+    For now, a workaround for a single file is
 
-  Recursive file processing
-    A -r flag might be nice.
+      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,
@@ -26,3 +60,8 @@ Perltidy TODO List
     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.
+