64 lines
1.4 KiB
Diff
64 lines
1.4 KiB
Diff
Index: sh.st
|
|
===================================================================
|
|
--- states/hl/sh.st (revision 1)
|
|
+++ states/hl/sh.st (revision 3)
|
|
@@ -2,8 +2,21 @@
|
|
* Name: sh
|
|
* Description: Bourne shell programming language.
|
|
* Author: Juergen Kahrs <Juergen.Kahrs@t-online.de>
|
|
+ * Josh Zenker <josh.zenker@sig.com>
|
|
*/
|
|
|
|
+state sh_string extends Highlight
|
|
+{
|
|
+ /\\\\./ {
|
|
+ language_print ($0);
|
|
+ }
|
|
+
|
|
+ sh_string_end {
|
|
+ language_print ($0);
|
|
+ return;
|
|
+ }
|
|
+}
|
|
+
|
|
state sh extends HighlightEntry
|
|
{
|
|
/* Comments. */
|
|
@@ -14,11 +27,25 @@
|
|
comment_face (false);
|
|
}
|
|
|
|
+ /* Ignore escaped quotation marks */
|
|
+ /\\\"/ {
|
|
+ language_print ($0);
|
|
+ }
|
|
+
|
|
+ /\\\'/ {
|
|
+ language_print ($0);
|
|
+ }
|
|
+
|
|
+ /\\\`/ {
|
|
+ language_print ($0);
|
|
+ }
|
|
+
|
|
/* String constants. */
|
|
- /\"/ {
|
|
+ /\"|'/ {
|
|
+ sh_string_end = regexp($0);
|
|
string_face (true);
|
|
language_print ($0);
|
|
- call (c_string);
|
|
+ call (sh_string);
|
|
string_face (false);
|
|
}
|
|
|
|
@@ -32,7 +59,7 @@
|
|
|
|
/* Keywords. */
|
|
/\b(CDPATH|HOME|IFS|MAIL((CHECK)?|(PATH)?)|P(ATH|S(1|2))|SH(ACCT|ELL)|\
|
|
-break|c(ase|d|ontinue)|do(ne)?|e(cho|lse|sac|val|x(ec|it|port))|f(i|or)|\
|
|
+break|c(ase|d|ontinue)|do(ne)?|e(cho|l(if|se)|sac|val|x(ec|it|port))|f(i|or)|\
|
|
getopts|hash|i[fn]|limit|newgrp|pwd|re(ad(only)?|turn)|s(et|hift)|\
|
|
t(est|hen|imes|rap|ype)|u(limit|mask|n(limit|set))|w(ait|hile))\b/ {
|
|
keyword_face (true);
|