Нужно добавить правило, чтобы апостроф внутри конструкции подпадающей под регулярное выражение
q'(\S).*\1'
не считался закрывающим. Например,
q’#Oracle’s quote#’
Отрыл файл
~/.kde4/share/apps/katepart/syntax/sql.xml
добавляю в элемент
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
перед нодой
<DetectChar attribute="String" context="String literal" char="'"/>
свою ноду
<RegExpr attribute="String" context="Oracle quote operator" String="q&(\S)" dinamic="true" lookAhead="true"/>
Добавляю свой контекст
<context name="Oracle quote operator" attribute="String" lineEndContext="#stay" dinamic="true" lookAhead="true">
<Detect2Chars attribute="String" context="#pop" char="%1" char1="&" dinamic="true"/>
<DetectChar attribute="String Char" context="#stay" char="&"/>
</context>
но ничего не работает… Пробовал без регулярок просто искать строку вида q’# #’ через StringDetect, но это так же не привело к подсветке теста как строкового литерала.