JAL-629 More consistent printing of --arguments. Example nf-core argfile
[jalview.git] / src / jalview / bin / argparser / Arg.java
index c19012b..7eaac09 100644 (file)
@@ -9,24 +9,24 @@ public enum Arg
 {
   HELP("h"), CALCULATION, MENUBAR, STATUS, SHOWOVERVIEW, ANNOTATIONS,
   COLOUR, FEATURES, GROOVY, GROUPS, HEADLESS, JABAWS, ANNOTATION,
-  ANNOTATION2, DISPLAY, GUI, NEWS, NOQUESTIONNAIRE, SORTBYTREE, USAGESTATS,
-  OPEN, OPENNEW, PROPS, QUESTIONNAIRE, SETPROP, TREE, VDOC, VSESS, OUTPUT,
-  OUTPUTTYPE, SSANNOTATION, NOTEMPFAC, TEMPFAC, TEMPFAC_LABEL, TEMPFAC_DESC,
+  ANNOTATION2, DISPLAY, GUI, NEWS, SORTBYTREE, USAGESTATS, OPEN, OPENNEW,
+  PROPS, QUESTIONNAIRE, SETPROP, TREE, VDOC, VSESS, OUTPUT, OUTPUTTYPE,
+  SSANNOTATION, NOTEMPFAC, TEMPFAC, TEMPFAC_LABEL, TEMPFAC_DESC,
   TEMPFAC_SHADING, TITLE, PAEMATRIX, WRAP, NOSTRUCTURE, STRUCTURE, IMAGE,
   QUIT, CLOSE, DEBUG("d"), QUIET("q"), ARGFILE, INCREMENT, NPP("n++"),
-  SUBSTITUTIONS, NIL, SPLASH;
+  SUBSTITUTIONS, INITSUBSTITUTIONS, NIL, SPLASH, SETARGFILE, UNSETARGFILE;
 
   protected static enum Opt
   {
     BOOLEAN, STRING, UNARY, MULTI, LINKED, NODUPLICATEVALUES, BOOTSTRAP,
-    GLOB, NOACTION, ALLOWSUBSTITUTIONS
+    GLOB, NOACTION, ALLOWSUBSTITUTIONS, PRIVATE
   }
 
   static
   {
     HELP.setOptions(Opt.UNARY);
     CALCULATION.setOptions(true, Opt.BOOLEAN); // default "true" implies only
-                                               // expecting "--nocalculation"
+    // expecting "--nocalculation"
     MENUBAR.setOptions(true, Opt.BOOLEAN);
     STATUS.setOptions(true, Opt.BOOLEAN);
     SHOWOVERVIEW.setOptions(Opt.UNARY, Opt.LINKED);
@@ -45,8 +45,6 @@ public enum Arg
     GUI.setOptions(true, Opt.BOOLEAN);
     NEWS.setOptions(true, Opt.BOOLEAN, Opt.BOOTSTRAP);
     SPLASH.setOptions(true, Opt.BOOLEAN, Opt.BOOTSTRAP);
-    NOQUESTIONNAIRE.setOptions(Opt.UNARY, Opt.BOOTSTRAP); // unary as
-                                                          // --questionnaire=val
     // expects a string value
     SORTBYTREE.setOptions(true, Opt.BOOLEAN);
     USAGESTATS.setOptions(true, Opt.BOOLEAN);
@@ -55,8 +53,8 @@ public enum Arg
     OPENNEW.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.GLOB,
             Opt.ALLOWSUBSTITUTIONS);
     PROPS.setOptions(Opt.STRING, Opt.BOOTSTRAP);
-    QUESTIONNAIRE.setOptions(Opt.STRING);
-    SETPROP.setOptions(Opt.STRING);
+    QUESTIONNAIRE.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
+    SETPROP.setOptions(Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP);
     TREE.setOptions(Opt.STRING);
 
     VDOC.setOptions(Opt.UNARY);
@@ -88,7 +86,10 @@ public enum Arg
     INCREMENT.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION);
     NPP.setOptions(Opt.UNARY, Opt.MULTI, Opt.NOACTION);
     SUBSTITUTIONS.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION);
+    INITSUBSTITUTIONS.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP, Opt.NOACTION);
     NIL.setOptions(Opt.UNARY, Opt.LINKED, Opt.MULTI, Opt.NOACTION);
+    SETARGFILE.setOptions(Opt.STRING, Opt.MULTI, Opt.PRIVATE, Opt.NOACTION);
+    UNSETARGFILE.setOptions(Opt.MULTI, Opt.PRIVATE, Opt.NOACTION);
     // Opt.BOOTSTRAP args are parsed (not linked with no SubVals so using a
     // simplified parser, see jalview.bin.argparser.BootstrapArgs)
     // before a full parse of arguments and so can be accessible at an earlier
@@ -118,6 +119,12 @@ public enum Arg
       System.arraycopy(names, 0, this.argNames, 1, names.length);
   }
 
+  public String argString()
+  {
+    return new StringBuilder(ArgParser.DOUBLEDASH).append(getName())
+            .toString();
+  }
+
   public String toLongString()
   {
     StringBuilder sb = new StringBuilder();