sh.lang: Fix a bug and improve "parameter-expansion" context
When a double quote is escaped in a parameter expansion, e.g. "${var%\"*}"
, highlighting is broken, because of the absence of "def:escape" reference context in "parameter-expansion" context.
This MR fixes this bug, precises the starting regular expression for this context, and uses different colors for parameter itself and operations performed on it, i.e. ${var…}
and %\"*
in example above.
I also add a boundary detection improvement forgotten in !94 (merged) (sorry for that).