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@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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev







_______________________________________________
jboss-as7-dev mailing list
jboss-as7-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev