Неверная подсветка 4-ёх двойных кавычек идущих друг за другом """"
Drugoy opened this issue · comments
Некоторые параметры у команд ожидают текст, а некоторые - выражения.
И вот часто в тех, что ожидают выражения - используется dereferencing, чтобы передать какой-то текст дословно.
Дословный текст передаётся в кавычках. Но если нужно передать сам символ кавычек как текст, то т.к. это спецсимвол - его нужно "обезопасить" (escape): конкретно его - удваивают.
Получается, что если мы хотим в параметр, ожидающий выражение (а не простой текст) передать просто одинарный символ кавычек - у нас получится """".
Нынешний .coder распознаёт это как левую и правую группы из двух кавычек и подсвечивает их соответственно.
Но правильно было бы подсветить их как группу из двух кавычек внутри другой группы из двух кавычек.
Я не знаю как это сделать, Вы не поможете с этим?
Вернее, сейчас .coder подсвечивает только одну (всегда правую) группу кавычек. Даже в случае из 3-ёх кавычек идущих подряд.
Вот сложный случай, подходящий для проверки:
"""" A_AhkPath """ ""c:\path\"""
слева - первая группа dereference'овая, эти 4 кавычки на самом деле означают просто одну текстовую кавычку.
A_AhkPath - это переменная (она не окружена %-ами т.к. весь параметр в котором это всё находится - уже ожидает выражения).
справа закодировано следующее:
" "c:\path\"
Решение с форума http://akelpad.sourceforge.net/forum/viewtopic.php?p=22378#22378 подходит?
Нет, оно только для случая, если кавычки идут одна за другой, а если между ними есть хоть что-то - подсветка сбивается.