X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2Fargparser%2FArg.java;h=2f259786a0216cc55fcfaebbd60df788cd25e83b;hb=388622051f3d669942d9df63557c7a1401d7ff6d;hp=561695385c31ba7cf1acbc495f34d4f0444fafd6;hpb=f754db87420bc03f4665bda29593aab07d186dcb;p=jalview.git diff --git a/src/jalview/bin/argparser/Arg.java b/src/jalview/bin/argparser/Arg.java index 5616953..2f25978 100644 --- a/src/jalview/bin/argparser/Arg.java +++ b/src/jalview/bin/argparser/Arg.java @@ -44,9 +44,10 @@ public enum Arg QUESTIONNAIRE(Type.CONFIG, "Show (or don't show) the questionnaire if one is available.", true, Opt.BOOLEAN, Opt.BOOTSTRAP), - USAGESTATS(Type.CONFIG, - "Send (or don't send) initial launch usage stats.", true, - Opt.BOOLEAN, Opt.BOOTSTRAP), + NOUSAGESTATS(Type.CONFIG, "Don't send initial launch usage stats.", + Opt.UNARY, Opt.BOOTSTRAP), + NOSTARTUPFILE(Type.CONFIG, "Don't show the default startup file.", + Opt.UNARY, Opt.BOOTSTRAP), WEBSERVICEDISCOVERY(Type.CONFIG, "Attempt (or don't attempt) to connect to JABAWS web services.", true, Opt.BOOLEAN, Opt.BOOTSTRAP), @@ -65,6 +66,9 @@ public enum Arg INITSUBSTITUTIONS(Type.CONFIG, "Set ‑‑substitutions to be initially enabled (or initially disabled).", true, Opt.BOOLEAN, Opt.BOOTSTRAP, Opt.NOACTION, Opt.SECRET), + P(Type.CONFIG, "Set a Jalview preference value for this session.", + Opt.PREFIXKEV, Opt.PRESERVECASE, Opt.STRING, Opt.BOOTSTRAP, + Opt.MULTI, Opt.NOACTION, Opt.SECRET), // keep this secret for now. // Opening an alignment OPEN(Type.OPENING, @@ -403,6 +407,14 @@ public enum Arg * A LAST arg gets moved to appear last in the usage statement (within type) */ LAST(null), + /* + * After other args are checked, the following args can prefix a KEY=VALUE argument + */ + PREFIXKEV("prefixes key=value"), + /* + * do not lowercase the name when getting the arg name or arg string + */ + PRESERVECASE(null), // ; @@ -490,15 +502,15 @@ public enum Arg private Arg(Type type, String alternativeName, String description, boolean defaultBoolean, Opt... options) { + this.type = type; + this.description = description; + this.defaultBoolValue = defaultBoolean; + this.setOptions(options); this.argNames = alternativeName != null ? new String[] { this.getName(), alternativeName } : new String[] { this.getName() }; - this.type = type; - this.description = description; - this.defaultBoolValue = defaultBoolean; - this.setOptions(options); } public String argString() @@ -548,7 +560,9 @@ public enum Arg public String getName() { - return this.name().toLowerCase(Locale.ROOT).replace('_', '-'); + String name = hasOption(Opt.PRESERVECASE) ? this.name() + : this.name().toLowerCase(Locale.ROOT); + return name.replace('_', '-'); } @Override @@ -798,7 +812,16 @@ public enum Arg argSb.append( a.hasOption(Opt.BOOLEAN) ? booleanArgString(a) : a.argString()); if (a.hasOption(Opt.STRING)) - argSb.append("=value"); + { + if (a.hasOption(Opt.PREFIXKEV)) + { + argSb.append("key=value"); + } + else + { + argSb.append("=value"); + } + } return argSb.toString(); }