diff --git a/README.md b/README.md
index 4558463..2c2b6d6 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,19 @@ highlighing of commands whilst they are typed at a zsh prompt into an
interactive terminal. This helps in reviewing commands before running
them, particularly in catching syntax errors.
-[![Screenshot](images/preview-smaller.png)](images/preview.png)
+Some examples:
+
+Before: [![Screenshot #1.1](images/before1-smaller.png)](images/before1.png)
+
+After: [![Screenshot #1.2](images/after1-smaller.png)](images/after1.png)
+
+Before: [![Screenshot #2.1](images/before2-smaller.png)](images/before2.png)
+
+After: [![Screenshot #2.2](images/after2-smaller.png)](images/after2.png)
+
+Before: [![Screenshot #3.1](images/before3-smaller.png)](images/before3.png)
+
+After: [![Screenshot #3.2](images/after3-smaller.png)](images/after3.png)
How to install
diff --git a/changelog.md b/changelog.md
index 1c94856..35cbb06 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,4 @@
-up to 0020f592c108
+up to 28d7056a7a06
# Changes in version 0.5.0
@@ -75,6 +75,9 @@ in this area.
This also adds an `arg0` style that all other command word styles fall back to.
(b4537a972eed, bccc3dc26943)
+- Escaped history expansions inside double quotes: `: "\!"`
+ (28d7056a7a06)
+
## Fixed highlighting of:
diff --git a/highlighters/main/main-highlighter.zsh b/highlighters/main/main-highlighter.zsh
index 1bbc3cb..d7d292d 100644
--- a/highlighters/main/main-highlighter.zsh
+++ b/highlighters/main/main-highlighter.zsh
@@ -810,7 +810,7 @@ _zsh_highlight_main_highlighter_highlight_string()
fi
;;
"\\") style=back-double-quoted-argument
- if [[ \\\`\"\$ == *$arg[$i+1]* ]]; then
+ if [[ \\\`\"\$${histchars[1]} == *$arg[$i+1]* ]]; then
(( k += 1 )) # Color following char too.
(( i += 1 )) # Skip parsing the escaped char.
else
diff --git a/highlighters/main/test-data/history-double-quoted-escaped.zsh b/highlighters/main/test-data/history-double-quoted-escaped.zsh
new file mode 100644
index 0000000..cd08cbf
--- /dev/null
+++ b/highlighters/main/test-data/history-double-quoted-escaped.zsh
@@ -0,0 +1,37 @@
+#!/usr/bin/env zsh
+# -------------------------------------------------------------------------------------------------
+# Copyright (c) 2016 zsh-syntax-highlighting contributors
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification, are permitted
+# provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this list of conditions
+# and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this list of
+# conditions and the following disclaimer in the documentation and/or other materials provided
+# with the distribution.
+# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
+# may be used to endorse or promote products derived from this software without specific prior
+# written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# -------------------------------------------------------------------------------------------------
+# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
+# vim: ft=zsh sw=2 ts=2 et
+# -------------------------------------------------------------------------------------------------
+
+BUFFER='echo "Hello\!"'
+
+expected_region_highlight=(
+ '1 4 builtin' # echo
+ '6 14 double-quoted-argument' # "Hello\\\!"
+ '12 13 back-double-quoted-argument' # \\\!
+)
diff --git a/images/after1-smaller.png b/images/after1-smaller.png
new file mode 100644
index 0000000..768294c
Binary files /dev/null and b/images/after1-smaller.png differ
diff --git a/images/after1.png b/images/after1.png
new file mode 100644
index 0000000..ea378d3
Binary files /dev/null and b/images/after1.png differ
diff --git a/images/after2-smaller.png b/images/after2-smaller.png
new file mode 100644
index 0000000..8b5b1f8
Binary files /dev/null and b/images/after2-smaller.png differ
diff --git a/images/after2.png b/images/after2.png
new file mode 100644
index 0000000..ddcbfad
Binary files /dev/null and b/images/after2.png differ
diff --git a/images/after3-smaller.png b/images/after3-smaller.png
new file mode 100644
index 0000000..d6aaa7b
Binary files /dev/null and b/images/after3-smaller.png differ
diff --git a/images/after3.png b/images/after3.png
new file mode 100644
index 0000000..7a0af88
Binary files /dev/null and b/images/after3.png differ
diff --git a/images/before1-smaller.png b/images/before1-smaller.png
new file mode 100644
index 0000000..b29551e
Binary files /dev/null and b/images/before1-smaller.png differ
diff --git a/images/before1.png b/images/before1.png
new file mode 100644
index 0000000..80c6f54
Binary files /dev/null and b/images/before1.png differ
diff --git a/images/before2-smaller.png b/images/before2-smaller.png
new file mode 100644
index 0000000..991a716
Binary files /dev/null and b/images/before2-smaller.png differ
diff --git a/images/before2.png b/images/before2.png
new file mode 100644
index 0000000..48cfc32
Binary files /dev/null and b/images/before2.png differ
diff --git a/images/before3-smaller.png b/images/before3-smaller.png
new file mode 100644
index 0000000..e525c6d
Binary files /dev/null and b/images/before3-smaller.png differ
diff --git a/images/before3.png b/images/before3.png
new file mode 100644
index 0000000..40c3601
Binary files /dev/null and b/images/before3.png differ