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 @@ - - - - - - + + + + + + + - - - - - - - - + + + + + + + +