// kate: syntax CubeScript;
// CubeScript test

i = 0
rainbowchat = [
    out = ""
    loop k $numargs [
        word = $(format "arg%1" (+ $k 1))
        loop j (stringlen $word) [
            out = (format "%1^fz%2%3" $out (substring "rygcbvmr" $i 2) (substring $word $j 1)) 
            if (> $i 5) [i = 0 ] [i = (+ $i 1)]
        ]
        out = (format "%1 " $out)
    ]
    if (< (stringlen $out) 128) [
        say $out
    ] [
        echo (format "This message is %1 chars long - the usual limit is 127. Each letter takes up 5." (stringlen $out))
    ]
]

setcomplete rainbowchat 1
listcomplete rainbowchat [
    "BoOoM"
    "Good game!"
    "What the f*** was this?!?"
    "go for it!"
    "yeeeehaw!"
    "what a mess >_< "
]

// Line continuation escape
"string ^
    newline"