[jboss-as7-dev] CLI arguments convention

Jim Tyrrell jtyrrell at redhat.com
Tue Apr 19 13:08:43 EDT 2011


That prompt to me would be the tab key, possibly, what are roo and the Seam Forge guys doing?  They support something like this.

Jim Tyrrell
Senior JBoss Solutions Architect

Did you see RHT on CNBC's Mad Money?
http://www.cnbc.com/id/39401056



On Apr 19, 2011, at 10:51 AM, ssilvert at redhat.com wrote:

> The most usable command line interface I've ever seen is on the  
> AS/400.  If you need help with a command, you type the command and hit  
> the help key.  Then you are presented with a form showing all the  
> arguments and default values.  So the help is right there where you  
> need it as you fill out a form for the command.
> 
> The AS/400 has the advantage that they have full control over the  
> terminal and you can easily lay out these forms when needed.  However,  
> for our CLI, we could have a "prompt me" mode that prompts for each  
> argument, showing default values and explanations along the way.
> 
> [localhost:9999 /] promptme deploy
> local file? /foo.war
> server deployable name (foo.war)? my_war_name.war
> runtime name (my_war_name.war)? my_war_runtime.war
> deploy to servergroup1 (yes)?
> deploy to servergroup2 (yes)? no
> 
> **result: foo.war was uploaded to domain and deployed to servergroup1
> 
> [localhost:9999 /]
> 
> Quoting Alexey Loubyansky <alexey.loubyansky at redhat.com>:
> 
>> 
>> On 04/19/2011 04:29 PM, David M. Lloyd wrote:
>>> On 04/19/2011 08:31 AM, Alexey Loubyansky wrote:
>>>> 
>>>> In addition, it's kind of a proprietary convention. We discussed this
>>>> with Max today and I'm looking into the GNU convention for command line
>>>> arguments
>>> 
>>> That is a common convention -- for command line arguments.  For
>>> interactive command lines (examples I'm thinking of include 3com and
>>> Cisco network management CLIs, as well as commands such as linux's "ip"
>>> command which have widely variable arguments), usually it's more like:
>>> 
>>> create-jms-cf name mycf entries foo bar baz
>> 
>> Here is the full version
>> 
>> [localhost:9999 /] create-jms-cf
>> 
>> --help                            name=
>> auto-group=
>> entries=                          connector=
>> block-on-acknowledge=
>> block-on-durable-send=            block-on-non-durable-send=
>> cache-large-message-client=
>> call-timeout=                     client-failure-check-period=
>> client-id=
>> confirmation-window-size=         connection-ttl=
>> consumer-max-rate=
>> consumer-window-size=             discovery-group-name=
>> dups-ok-batch-size=
>> failover-on-initial-connection=   failover-on-server-shutdown=
>> group-id=
>> max-retry-interval=               min-large-message-size=
>> pre-acknowledge=
>> producer-max-rate=                producer-window-size=
>> reconnect-attempts=
>> retry-interval=                   retry-interval-multiplier=
>> scheduled-thread-pool-max-size=
>> thread-pool-max-size=             transaction-batch-size=
>> use-global-pools=
>> 
>> 
>>> Of course this falls apart for "deploy" unless you do something like this:
>>> 
>>> deploy file mything.war as myblah.war runtime-name yourblah.war
>>> 
>>> or something (i.e. make it somewhat more fluent and less shell-ish).
>> 
>> Ok, so you'd actually prefer a simplicity instead of a standard convention.
>> I'll think about it (and if somebody has suggestions, please, share) but
>> if that doesn't work out we'll have to choose an existing convention.
>> 
>>>> And another point is the use of '='. Some command lines don't use it, e.g.
>>>> 
>>>> deploy --file my.war --name my_war_name.war --runtime-name
>>>> my_war_runtime_name.war
>>>> 
>>>> and some do
>>>> 
>>>> deploy --file=my.war --name=my_war_name.war
>>>> --runtime-name=my_war_runtime_name.war
>>> 
>>> And some command lines support both :)
>> 
>> That's too messy, IMO.
>> 
>> Thanks,
>> Alexey
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-as7-dev/attachments/20110419/42ae6d04/attachment.html 


More information about the jboss-as7-dev mailing list