diff --git a/runtime/indent/testdir/rapid.in b/runtime/indent/testdir/rapid.in
new file mode 100644
index 0000000..515912e
--- /dev/null
+++ b/runtime/indent/testdir/rapid.in
@@ -0,0 +1,266 @@
+! vim: set ft=rapid :
+
+! START_INDENT
+
+%%%
+  VERSION:1
+  LANGUAGE:ENGLISH
+%%%
+  
+module LowerCaseModule
+
+task pers num n1 := 0;
+local pers num n2 := 1;
+var bool b1 := false;
+var intnum i1;
+
+! put some stuff in those strings that may confuse indentation
+const string st1 := "endmodule ("; 
+pers string st_Appl_Info{3,3}:=[
+[
+"["
+,
+"default"
+,
+"case"
+],
+[
+"else"
+,
+"then"
+,
+"endif"
+],
+[
+"do"
+,
+"}"
+,
+")"
+],
+];
+
+pers tooldata tTool1:=[TRUE, 
+[
+[97.4, 0, 223.1], 
+[0.924, 0, 0.383 ,0]
+], 
+[5, 
+[23, 0, 75], 
+[1, 0, 0, 0], 0, 0, 0
+]
+];
+const robtarget p1:=[ 
+[600, 500, 225.3], 
+[1, 0, 0, 0], 
+[1, 1, 0, 0], 
+[ 11, 12.3, 9E9, 9E9, 9E9, 9E9]
+];
+
+record myRec
+num nRecNum1
+bool bRecBool1
+endrecord
+
+proc proc1(num n1,
+num n2)
+var string st1;
+n1 := n1+1;
+MoveJSync p1, vmax, z30, tool1, "proc2";
+backward
+MoveJSync p1, v100, fine, tool1, "proc2";
+undo
+n1 := n1-1;
+error
+trynext;
+endproc
+
+func num nFunc1(
+switch s1
+|switch s2
+,num n1
+,bool b1)
+var num nVar;
+if not Present(s1) return;
+if Present(s1) then
+Incr n1;'
+elseif Present(s2) then
+b1:=false;
+else
+while n1>0 do
+Decr n1;
+test n1
+
+case 1:
+test1;
+case 2:
+test2;
+default:
+WaitUntil false;
+endtest
+endwhile
+endif
+for i from 1 to 10 step 2 do
+for j from 1 to 10 do
+st_Appl_Info{i,j} := "";
+endfor
+endfor
+!     return 1;
+return 0;
+error
+return -1;
+endfunc
+
+trap Trap1
+Reset do1;
+endtrap
+
+endmodule
+
+MODULE UpperCaseModule(SYSMODULE,NOSTEPIN)
+TASK pers num n1 := 0;
+LOCAL pers num n2 := 1;
+VAR bool b1 := false;
+VAR intnum i1;
+
+LOCAL FUNC num nFunc1(
+switch s1
+|switch s2
+,num n1
+,bool b1)
+VAR num nVar;
+IF NOT PRESENT(s1) RETURN;
+IF PRESENT(s1) THEN
+INCR n1;'
+ELSEIF PRESENT(s2) THEN
+b1:=FALSE;
+ELSE
+WHILE n1>0 DO
+DECR n1;
+TEST n1
+
+CASE 1:
+test1;
+CASE 2:
+test2;
+DEFAULT:
+WAITUNTIL FALSE;
+ENDTEST
+ENDWHILE
+ENDIF
+FOR i FROM 1 TO 10 STEP 2 DO
+FOR j FROM 1 TO 10 DO
+st_Appl_Info{i,j} := "";
+ENDFOR
+ENDFOR
+!     RETURN 1;
+RETURN 0;
+ERROR
+RETURN -1;
+ENDFUNC
+
+TRAP Trap1
+Reset do1;
+ENDTRAP
+
+ENDMODULE
+
+Module MixedCaseModule(SysModule)
+Task pers num n1 := 0;
+Local pers num n2 := 1;
+Var bool b1 := false;
+Var intnum i1;
+
+Task Func num nFunc1(
+switch s1
+|switch s2
+,num n1
+,bool b1)
+Var num nVar;
+If Not Present(s1) Return;
+If Present(s1) Then
+Incr n1;'
+ElseIf Present(s2) Then
+b1:=false;
+Else
+While n1>0 Do
+Decr n1;
+Test n1
+
+Case 1:
+test1;
+Case 2:
+test2;
+Default:
+WaitUntil false;
+EndTest
+EndWhile
+EndIf
+For i From 1 To 10 Step 2 Do
+For j From 1 To 10 Do
+st_Appl_Info{i,j} := "";
+EndFor
+EndFor
+!     Return 1;
+Return 0;
+Error
+Return -1;
+EndFunc
+
+Trap Trap1
+Reset do1;
+EndTrap
+
+EndModule
+
+! END_INDENT
+
+! START_INDENT
+! INDENT_EXE let g:rapidSpaceIndent = 0
+! INDENT_EXE set shiftwidth=4
+
+proc bla()
+var num i;
+Incr i;
+endproc
+
+! END_INDENT
+
+! START_INDENT
+! INDENT_EXE let g:rapidCommentIndent = 1
+!
+proc bla()
+! indent this first column comment because of g:rapidCommentIndent=1
+endproc
+! END_INDENT
+
+! START_INDENT
+! INDENT_EXE let g:rapidNewStyleIndent = 1
+pers string st_Appl_Info{3,3}:=
+[
+[
+"["
+,
+"default"
+,
+"case"
+]
+,
+[
+"else"
+,
+"then"
+,
+"endif"
+]
+,
+[
+"do"
+,
+"}"
+,
+")"
+]
+,
+];
+! END_INDENT
diff --git a/runtime/indent/testdir/rapid.ok b/runtime/indent/testdir/rapid.ok
new file mode 100644
index 0000000..ce33682
--- /dev/null
+++ b/runtime/indent/testdir/rapid.ok
@@ -0,0 +1,266 @@
+! vim: set ft=rapid :
+
+! START_INDENT
+
+%%%
+VERSION:1
+LANGUAGE:ENGLISH
+%%%
+
+module LowerCaseModule
+
+  task pers num n1 := 0;
+  local pers num n2 := 1;
+  var bool b1 := false;
+  var intnum i1;
+
+! put some stuff in those strings that may confuse indentation
+  const string st1 := "endmodule ("; 
+  pers string st_Appl_Info{3,3}:=[
+          [
+                  "["
+                  ,
+                  "default"
+                  ,
+                  "case"
+                  ],
+          [
+                  "else"
+                  ,
+                  "then"
+                  ,
+                  "endif"
+                  ],
+          [
+                  "do"
+                  ,
+                  "}"
+                  ,
+                  ")"
+                  ],
+          ];
+
+  pers tooldata tTool1:=[TRUE, 
+          [
+                  [97.4, 0, 223.1], 
+                  [0.924, 0, 0.383 ,0]
+                  ], 
+          [5, 
+                  [23, 0, 75], 
+                  [1, 0, 0, 0], 0, 0, 0
+                  ]
+          ];
+  const robtarget p1:=[ 
+          [600, 500, 225.3], 
+          [1, 0, 0, 0], 
+          [1, 1, 0, 0], 
+          [ 11, 12.3, 9E9, 9E9, 9E9, 9E9]
+          ];
+
+  record myRec
+    num nRecNum1
+    bool bRecBool1
+  endrecord
+
+  proc proc1(num n1,
+            num n2)
+    var string st1;
+    n1 := n1+1;
+    MoveJSync p1, vmax, z30, tool1, "proc2";
+  backward
+    MoveJSync p1, v100, fine, tool1, "proc2";
+  undo
+    n1 := n1-1;
+  error
+    trynext;
+  endproc
+
+  func num nFunc1(
+            switch s1
+            |switch s2
+            ,num n1
+            ,bool b1)
+    var num nVar;
+    if not Present(s1) return;
+    if Present(s1) then
+      Incr n1;'
+    elseif Present(s2) then
+      b1:=false;
+    else
+      while n1>0 do
+        Decr n1;
+        test n1
+
+        case 1:
+          test1;
+        case 2:
+          test2;
+        default:
+          WaitUntil false;
+        endtest
+      endwhile
+    endif
+    for i from 1 to 10 step 2 do
+      for j from 1 to 10 do
+        st_Appl_Info{i,j} := "";
+      endfor
+    endfor
+!     return 1;
+    return 0;
+  error
+    return -1;
+  endfunc
+
+  trap Trap1
+    Reset do1;
+  endtrap
+
+endmodule
+
+MODULE UpperCaseModule(SYSMODULE,NOSTEPIN)
+  TASK pers num n1 := 0;
+  LOCAL pers num n2 := 1;
+  VAR bool b1 := false;
+  VAR intnum i1;
+
+  LOCAL FUNC num nFunc1(
+            switch s1
+            |switch s2
+            ,num n1
+            ,bool b1)
+    VAR num nVar;
+    IF NOT PRESENT(s1) RETURN;
+    IF PRESENT(s1) THEN
+      INCR n1;'
+    ELSEIF PRESENT(s2) THEN
+      b1:=FALSE;
+    ELSE
+      WHILE n1>0 DO
+        DECR n1;
+        TEST n1
+
+        CASE 1:
+          test1;
+        CASE 2:
+          test2;
+        DEFAULT:
+          WAITUNTIL FALSE;
+        ENDTEST
+      ENDWHILE
+    ENDIF
+    FOR i FROM 1 TO 10 STEP 2 DO
+      FOR j FROM 1 TO 10 DO
+        st_Appl_Info{i,j} := "";
+      ENDFOR
+    ENDFOR
+!     RETURN 1;
+    RETURN 0;
+  ERROR
+    RETURN -1;
+  ENDFUNC
+
+  TRAP Trap1
+    Reset do1;
+  ENDTRAP
+
+ENDMODULE
+
+Module MixedCaseModule(SysModule)
+  Task pers num n1 := 0;
+  Local pers num n2 := 1;
+  Var bool b1 := false;
+  Var intnum i1;
+
+  Task Func num nFunc1(
+            switch s1
+            |switch s2
+            ,num n1
+            ,bool b1)
+    Var num nVar;
+    If Not Present(s1) Return;
+    If Present(s1) Then
+      Incr n1;'
+    ElseIf Present(s2) Then
+      b1:=false;
+    Else
+      While n1>0 Do
+        Decr n1;
+        Test n1
+
+        Case 1:
+          test1;
+        Case 2:
+          test2;
+        Default:
+          WaitUntil false;
+        EndTest
+      EndWhile
+    EndIf
+    For i From 1 To 10 Step 2 Do
+      For j From 1 To 10 Do
+        st_Appl_Info{i,j} := "";
+      EndFor
+    EndFor
+!     Return 1;
+    Return 0;
+  Error
+    Return -1;
+  EndFunc
+
+  Trap Trap1
+    Reset do1;
+  EndTrap
+
+EndModule
+
+! END_INDENT
+
+! START_INDENT
+! INDENT_EXE let g:rapidSpaceIndent = 0
+! INDENT_EXE set shiftwidth=4
+
+proc bla()
+    var num i;
+    Incr i;
+endproc
+
+! END_INDENT
+
+! START_INDENT
+! INDENT_EXE let g:rapidCommentIndent = 1
+!
+proc bla()
+    ! indent this first column comment because of g:rapidCommentIndent=1
+endproc
+! END_INDENT
+
+! START_INDENT
+! INDENT_EXE let g:rapidNewStyleIndent = 1
+pers string st_Appl_Info{3,3}:=
+[
+                [
+                                "["
+                                ,
+                                "default"
+                                ,
+                                "case"
+                ]
+                ,
+                [
+                                "else"
+                                ,
+                                "then"
+                                ,
+                                "endif"
+                ]
+                ,
+                [
+                                "do"
+                                ,
+                                "}"
+                                ,
+                                ")"
+                ]
+                ,
+];
+! END_INDENT
diff --git a/runtime/indent/testdir/vim.in b/runtime/indent/testdir/vim.in
index c60d2d1..c2e149a 100644
--- a/runtime/indent/testdir/vim.in
+++ b/runtime/indent/testdir/vim.in
@@ -484,6 +484,13 @@
 " END_INDENT
 
 " START_INDENT
+if true
+var d = {
+end: 0}
+endif
+" END_INDENT
+
+" START_INDENT
 nunmap <buffer> (
 nunmap <buffer> )
 inoremap [ {
diff --git a/runtime/indent/testdir/vim.ok b/runtime/indent/testdir/vim.ok
index 57f0dbf..b10e081 100644
--- a/runtime/indent/testdir/vim.ok
+++ b/runtime/indent/testdir/vim.ok
@@ -484,6 +484,13 @@
 " END_INDENT
 
 " START_INDENT
+if true
+    var d = {
+	end: 0}
+endif
+" END_INDENT
+
+" START_INDENT
 nunmap <buffer> (
 nunmap <buffer> )
 inoremap [ {
