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.
I'm occupied with other things at the moment; looks fine by me. Perl coders seem to be amazingly good at hitting corner cases... :-p
Haha, I don't do Perl, I'm just maintaining Geany, thus get a ton of annoying bug reports like https://sourceforge.net/p/geany/bugs/952/ ;)
Commited as [bb784e].
Related
Commit: [bb784e]