diff --git a/autotests/folding/highlight.tcsh.fold b/autotests/folding/highlight.tcsh.fold
new file mode 100644
--- /dev/null
+++ b/autotests/folding/highlight.tcsh.fold
@@ -0,0 +1,42 @@
+#!/bin/tcsh -f
+
+[ a != b ] && echo a || echo b
+# + not an operator
+[ 1+2 == '1+2' ] && echo a || echo b
+[ 1 != '1+2' ] && echo a || echo b
+[ a =~ b ] && echo a || echo b
+[ a !~ b ] && echo a || echo b
+
+set a = 1
+set b = 2
+
+# arithmetic operators
+if ($a < $b) echo 1
+if ($a << $b) echo 1
+if ($a > $b - 2) echo 1
+if ($a + 11 >> $b) echo 1
+if ($a <= $b) echo 1
+if ($a + 1 >= $b) echo 1
+if ($a / $b + 1) echo 1
+if ($a % $b) echo 1
+if ($a * $b) echo 1
+
+# string operators
+if ($a == $b) echo s
+if ($a != $b) echo s
+if ($a =~ $b) echo s
+if ($a !~ $b) echo s
+
+set val = 0
+
+foreach scen ( a b )
+ echo $scen
+
+ if ($scen == a) then
+ echo $scen
+ else if ($scen == x) then
+ echo x
+ else
+ echo $val
+ endif
+end
diff --git a/autotests/html/highlight.tcsh.html b/autotests/html/highlight.tcsh.html
new file mode 100644
--- /dev/null
+++ b/autotests/html/highlight.tcsh.html
@@ -0,0 +1,49 @@
+
+
+
+highlight.tcsh
+
+
+#!/bin/tcsh -f
+
+[ a != b ] && echo a || echo b
+# + not an operator
+[ 1+2 == '1+2' ] && echo a || echo b
+[ 1 != '1+2' ] && echo a || echo b
+[ a =~ b ] && echo a || echo b
+[ a !~ b ] && echo a || echo b
+
+set a = 1
+set b = 2
+
+# arithmetic operators
+if ($a < $b) echo 1
+if ($a << $b) echo 1
+if ($a > $b - 2) echo 1
+if ($a + 11 >> $b) echo 1
+if ($a <= $b) echo 1
+if ($a + 1 >= $b) echo 1
+if ($a / $b + 1) echo 1
+if ($a % $b) echo 1
+if ($a * $b) echo 1
+
+# string operators
+if ($a == $b) echo s
+if ($a != $b) echo s
+if ($a =~ $b) echo s
+if ($a !~ $b) echo s
+
+set val = 0
+
+foreach scen ( a b )
+ echo $scen
+
+ if ($scen == a) then
+ echo $scen
+ else if ($scen == x) then
+ echo x
+ else
+ echo $val
+ endif
+end
+
diff --git a/autotests/input/highlight.tcsh b/autotests/input/highlight.tcsh
new file mode 100644
--- /dev/null
+++ b/autotests/input/highlight.tcsh
@@ -0,0 +1,42 @@
+#!/bin/tcsh -f
+
+[ a != b ] && echo a || echo b
+# + not an operator
+[ 1+2 == '1+2' ] && echo a || echo b
+[ 1 != '1+2' ] && echo a || echo b
+[ a =~ b ] && echo a || echo b
+[ a !~ b ] && echo a || echo b
+
+set a = 1
+set b = 2
+
+# arithmetic operators
+if ($a < $b) echo 1
+if ($a << $b) echo 1
+if ($a > $b - 2) echo 1
+if ($a + 11 >> $b) echo 1
+if ($a <= $b) echo 1
+if ($a + 1 >= $b) echo 1
+if ($a / $b + 1) echo 1
+if ($a % $b) echo 1
+if ($a * $b) echo 1
+
+# string operators
+if ($a == $b) echo s
+if ($a != $b) echo s
+if ($a =~ $b) echo s
+if ($a !~ $b) echo s
+
+set val = 0
+
+foreach scen ( a b )
+ echo $scen
+
+ if ($scen == a) then
+ echo $scen
+ else if ($scen == x) then
+ echo x
+ else
+ echo $val
+ endif
+end
diff --git a/autotests/reference/highlight.tcsh.ref b/autotests/reference/highlight.tcsh.ref
new file mode 100644
--- /dev/null
+++ b/autotests/reference/highlight.tcsh.ref
@@ -0,0 +1,42 @@
+#!/bin/tcsh -f
+
+[ a != b ] && echo a || echo b
+# + not an operator
+[ 1+2 == '1+2' ] && echo a || echo b
+[ 1 != '1+2' ] && echo a || echo b
+[ a =~ b ] && echo a || echo b
+[ a !~ b ] && echo a || echo b
+
+set a = 1
+set b = 2
+
+# arithmetic operators
+if ($a < $b) echo 1
+if ($a << $b) echo 1
+if ($a > $b - 2) echo 1
+if ($a + 11 >> $b) echo 1
+if ($a <= $b) echo 1
+if ($a + 1 >= $b) echo 1
+if ($a / $b + 1) echo 1
+if ($a % $b) echo 1
+if ($a * $b) echo 1
+
+# string operators
+if ($a == $b) echo s
+if ($a != $b) echo s
+if ($a =~ $b) echo s
+if ($a !~ $b) echo s
+
+set val = 0
+
+foreach scen ( a b )
+ echo $scen
+
+ if ($scen == a) then
+ echo $scen
+ else if ($scen == x) then
+ echo x
+ else
+ echo $val
+ endif
+end
diff --git a/data/syntax/tcsh.xml b/data/syntax/tcsh.xml
--- a/data/syntax/tcsh.xml
+++ b/data/syntax/tcsh.xml
@@ -8,23 +8,17 @@
]>
-
+
- - else
- - for
- function
- in
- - select
- - until
- - while
- .
- - then
@@ -499,24 +493,22 @@
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
@@ -581,9 +573,7 @@
-
-
-
+
@@ -619,15 +609,6 @@
-
-
-
-
-
-
-
-
-
@@ -760,6 +741,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -783,22 +789,23 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+