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.