X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2Fargparser%2FArg.java;h=f7588cbcfada7884ee3feae542c254dc5133bd4d;hb=65ed1da9a1710a9ce132c7edfce54955dc1ddf99;hp=0d6e3b1a40fa0ae726b3ef7b9cdba39eb5e4c677;hpb=b9293410486a5a6f9bc505e66b04b912a559cdd5;p=jalview.git diff --git a/src/jalview/bin/argparser/Arg.java b/src/jalview/bin/argparser/Arg.java index 0d6e3b1..f7588cb 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, @@ -399,6 +403,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), // ; @@ -486,15 +498,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() @@ -544,7 +556,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 @@ -794,7 +808,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(); }