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