diff --git a/autotests/folding/highlight_cubescript.cfg.fold b/autotests/folding/highlight_cubescript.cfg.fold
new file mode 100644
index 0000000..7ed2fd4
--- /dev/null
+++ b/autotests/folding/highlight_cubescript.cfg.fold
@@ -0,0 +1,34 @@
+// 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"
diff --git a/autotests/html/highlight_cubescript.cfg.html b/autotests/html/highlight_cubescript.cfg.html
new file mode 100644
index 0000000..7e1a2d2
--- /dev/null
+++ b/autotests/html/highlight_cubescript.cfg.html
@@ -0,0 +1,41 @@
+
+
+
+highlight_cubescript.cfg
+
+
+// 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"
+
diff --git a/autotests/input/highlight_cubescript.cfg b/autotests/input/highlight_cubescript.cfg
new file mode 100644
index 0000000..c65bbfb
--- /dev/null
+++ b/autotests/input/highlight_cubescript.cfg
@@ -0,0 +1,34 @@
+// 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"
diff --git a/autotests/input/highlight_cubescript.cfg.syntax b/autotests/input/highlight_cubescript.cfg.syntax
new file mode 100644
index 0000000..d48e964
--- /dev/null
+++ b/autotests/input/highlight_cubescript.cfg.syntax
@@ -0,0 +1 @@
+CubeScript
diff --git a/autotests/reference/highlight_cubescript.cfg.ref b/autotests/reference/highlight_cubescript.cfg.ref
new file mode 100644
index 0000000..42d9210
--- /dev/null
+++ b/autotests/reference/highlight_cubescript.cfg.ref
@@ -0,0 +1,34 @@
+// 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"
diff --git a/data/syntax/cubescript.xml b/data/syntax/cubescript.xml
index 5677dbf..88e550c 100644
--- a/data/syntax/cubescript.xml
+++ b/data/syntax/cubescript.xml
@@ -1,456 +1,452 @@
-
+
- ?
- alias
- at
- case
- casef
- cases
- clearconsole
- clearsleep
- complete
- concat
- concatword
- cond
- conskip
- do
- echo
- error
- escape
- exec
- format
- getalias
- getfvarmin
- getfvarmax
- getvarmin
- getvarmax
- history
- if
- indexof
- inputcommand
- keymap
- listcomplete
- listdel
- listfind
- listlen
- listsplice
- local
- loop
- loopconcat
- loopconcatword
- loopfiles
- looplist
- loopwhile
- miniconskip
- nodebug
- onrelease
- prettylist
- push
- resetvar
- result
- rnd
- saycommand
- searchbinds
- searcheditbinds
- searchspecbinds
- sleep
- strcmp
- strlen
- strreplace
- strstr
- sublist
- substr
- tabify
- toggleconsole
- unescape
- while
- writecfg
- bind
- editbind
- specbind
- getbind
- geteditbind
- getspecbind
- +
- *
- -
- +f
- *f
- -f
- =
- !=
- >
- <
- >=
- <=
- =f
- !=f
- >f
- <f
- >=f
- <=f
- ^
- !
- &
- |
- ~
- ^~
- &~
- |~
- <<
- >>
- &&
- ||
- abs
- absf
- div
- mod
- divf
- modf
- sin
- cos
- tan
- asin
- acos
- atan
- sqrt
- pow
- loge
- log2
- log10
- exp
- min
- max
- minf
- maxf
- =s
- !=s
- <s
- >s
- <=s
- >=s
- MOUSELEFT
- MOUSEMIDDLE
- MOUSERIGHT
- MOUSEWHEELUP
- MOUSEWHEELDOWN
- MOUSEX1
- MOUSEX2
- MOUSE1
- MOUSE2
- MOUSE3
- MOUSE4
- MOUSE5
- BACKSPACE
- TAB
- CLEAR
- RETURN
- PAUSE
- ESCAPE
- SPACE
- EXCLAIM
- QUOTEDBL
- HASH
- DOLLAR
- AMPERSAND
- QUOTE
- LEFTPAREN
- RIGHTPAREN
- ASTERISK
- PLUS
- COMMA
- MINUS
- PERIOD
- SLASH
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- COLON
- SEMICOLON
- LESS
- EQUALS
- GREATER
- QUESTION
- AT
- LEFTBRACKET
- BACKSLASH
- RIGHTBRACKET
- CARET
- UNDERSCORE
- BACKQUOTE
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V
- W
- X
- Y
- Z
- DELETE
- KP0
- KP1
- KP2
- KP3
- KP4
- KP5
- KP6
- KP7
- KP8
- KP9
- KP_PERIOD
- KP_DIVIDE
- KP_MULTIPLY
- KP_MINUS
- KP_PLUS
- KP_ENTER
- KP_EQUALS
- UP
- DOWN
- RIGHT
- LEFT
- INSERT
- HOME
- END
- PAGEUP
- PAGEDOWN
- F1
- F2
- F3
- F4
- F5
- F6
- F7
- F8
- F9
- F10
- F11
- F12
- F13
- F14
- F15
- NUMLOCK
- CAPSLOCK
- SCROLLOCK
- RSHIFT
- LSHIFT
- RCTRL
- LCTRL
- RALT
- LALT
- RMETA
- LMETA
- LSUPER
- RSUPER
- MODE
- COMPOSE
- HELP
- PRINT
- SYSREQ
- BREAK
- MENU
- commandbuf
- editing
- mainmenu
- numargs
+
+
-
-
-
-
-
-
-
+
+