[ 
https://issues.apache.org/jira/browse/KARAF-2301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré updated KARAF-2301:
----------------------------------------

    Fix Version/s:     (was: 3.0.2)
                   3.0.1

> Improve shell syntax documentation
> ----------------------------------
>
>                 Key: KARAF-2301
>                 URL: https://issues.apache.org/jira/browse/KARAF-2301
>             Project: Karaf
>          Issue Type: Improvement
>          Components: karaf-documentation
>            Reporter: Alan Foster
>            Assignee: Jean-Baptiste Onofré
>             Fix For: 3.0.1, 4.0.0
>
>
> It would be nice if there were more examples within the karaf documentation 
> for using the shell language.
> This documentation should be available within the 'help' command too if 
> possible
> For instance, there is currently no example of how the 'each' command works.
> {code}
> karaf@root> list = [1 2 3]; each ($list) { echo $it }
> 1
> 2
> 3
> {code}
> There is no mention of whether there support for returning/breaking early in 
> the each command either. After checking the source it doesn't appear to be 
> possible, but it would be nice to mention such a thing.
> It would also be nice to show that the '[]' notation used will actually 
> create an instance of java ArrayList, and as such you can perform 'get' on it 
> to access values
> {code}
> karaf@root> list = ["Hello" world]; echo ($list get 0) ($list get 1)
> Hello world
> {code}
> And that you can actually see the class implementation details with '[] class'
> It would be nice to show if there is a way to access primitive array types 
> too. And if this isn't possible, it might be nice to add that information
> {code}
> karaf@root> ("hello world" toCharArray)[0]
> Error executing command: [C cannot be cast to [Ljava.lang.Object;
> {code}
> It would nice to stress the importance of spaces in the shell language too, 
> as I imagine that would be a very common gotcha
> ie happy path if statement working as expected
> {code:title=script.txt}
> foo = "foo"
> if { $foo equals "foo" } {
>   echo "True!"
> }
> {code}
> {code}
> karaf@root> shell:source script.txt
> True!
> {code}
> But without a space between the 'if' ie {code}if{ $foo equals "foo" } {'{code}
> Then you get the following error, and it's very hard to tell what has gone 
> wrong
> {code}
> karaf@root> shell:source script.txt
> Error executing command: Cannot coerce echo "true!"() to any of []
> {code}
> I am happy to help with this documentation update, as I've currently got a 
> small amount of knowledge on the subject



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to