JAL-629 Add some shortnames to args. Add Opt.OUTPUT and allow --output=*.ext to be...
[jalview.git] / src / jalview / bin / argparser / ArgParser.java
index 223cc53..3ca5d3d 100644 (file)
@@ -97,6 +97,10 @@ public class ArgParser
   // --argfile name
   private static final String ARGFILEDIRNAME = "{argfiledirname}";
 
+  // an output file wildcard to signify --output=*.ext is really --all --output
+  // {basename}.ext
+  private static final String OUTPUTWILDCARD = "*.";
+
   // flag to say whether {n} subtitutions in output filenames should be made.
   // Turn on and off with --substitutions and --nosubstitutions
   // Start with it on
@@ -393,7 +397,18 @@ public class ArgParser
         {
           if (linkedId == null)
           {
-            if (allLinkedIds && a.hasOption(Opt.ALLOWALL))
+            if (a.hasOption(Opt.OUTPUT) && a.hasOption(Opt.ALLOWALL)
+                    && val.startsWith(OUTPUTWILDCARD))
+            {
+              // --output=*.ext is shorthand for --all --output {basename}.ext
+              // (or --image=*.ext)
+              allLinkedIds = true;
+              linkedId = MATCHALLLINKEDIDS;
+              String oldval = val;
+              val = LINKEDIDBASENAME
+                      + val.substring(OUTPUTWILDCARD.length() - 1);
+            }
+            else if (allLinkedIds && a.hasOption(Opt.ALLOWALL))
             {
               linkedId = MATCHALLLINKEDIDS;
             }