sourceforge.net

Scintilla / Bugs / #1500 Bash: Fix quoted HereDoc delimiters handling

  • ️Sat Aug 31 2013

Bash quoted HereDoc delimiters seem to allow pretty much anything as part of the delimiter, not only identifiers. E.g. the following snippet is valid:

cat << EOF
line1
line2
EOF
echo "ouside"
cat << '\A \\B \'
line1
line2
\A \\B \
echo "ouside"
cat << "\A \\B \"C"
line1
line2
\A \B "C
echo "ouside"

Currently the Bash lexer doesn't handle quoted delimiter differently from non-quoted ones apart from the quotes themselves, which leads to broken highlighting if a quoted delimiter contains anything but an identifier.

Attached is a patch fixing the issue by properly handling the quoted delimiters.