[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-enscript] [PATCH 2/8] Add a patch from Josh Zenker for bash highlig
From: |
Werner Fink |
Subject: |
[bug-enscript] [PATCH 2/8] Add a patch from Josh Zenker for bash highlight |
Date: |
Tue, 23 Jan 2018 15:26:44 +0100 |
An escaped double- or single-quotation mark gets treated as the
beginning of a string, e.g.
ntp_server=`grep '^XNTPD_INITIAL_NTPDATE=' $XNTPD_CFG | awk -F\" '{print $2}'`
Signed-off-by: Werner Fink <address@hidden>
---
states/hl/sh.st | 33 ++++++++++++++++++++++++++++++---
1 file changed, 30 insertions(+), 3 deletions(-)
diff --git states/hl/sh.st states/hl/sh.st
index b034f16..39c40ed 100644
--- states/hl/sh.st
+++ states/hl/sh.st
@@ -2,8 +2,21 @@
* Name: sh
* Description: Bourne shell programming language.
* Author: Juergen Kahrs <address@hidden>
+ * Josh Zenker <address@hidden>
*/
+state sh_string extends Highlight
+{
+ /\\\\./ {
+ language_print ($0);
+ }
+
+ sh_string_end {
+ language_print ($0);
+ return;
+ }
+}
+
state sh extends HighlightEntry
{
/* Comments. */
@@ -14,11 +27,25 @@ state sh extends HighlightEntry
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);
}
@@ -43,7 +70,7 @@ state sh extends HighlightEntry
/* 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);
--
2.12.3
- [bug-enscript] Various patches to enhance enscript, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 2/8] Add a patch from Josh Zenker for bash highlight,
Werner Fink <=
- [bug-enscript] [PATCH 3/8] Automake 1.12 and up no longer supports pre-ANSI, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 5/8] Flexible encoding and support of locale paper size, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 6/8] Add optional address for mailto option, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 8/8] Simply avoid warnings of modern gcc, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 1/8] Add a patch from Josh Zenker to fix perl highlight, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 7/8] Mention options for helper apps in manual page, Werner Fink, 2018/01/23
- [bug-enscript] [PATCH 4/8] Add support for baltic locale as well as for Euro, Werner Fink, 2018/01/23