1 "(что)\-(то)(\s`(там)`)+" "\3=(0,#0000ff,0)"
; работает правильно
1 "(что)\-(то)(\s`(там)`)+" "\4=(0,#0000ff,0)"
; подсвечивает только последнее вхождение
Одна группа может хранить только один диапазон. В данном случае сохраняется последний найденный.
Skif_off wrote:au3.coder
Сделано.
Posted: Thu Dec 26, 2013 8:21 am
by Skif_off
Instructor wrote:Лучше воздержаться от использования конструкций (?<!) и (?<=) в "QuotesRE:" (пояснение).
1 "(что)\-(то)(\s`(там)`)+" "\3=(0,#0000ff,0)"
; работает правильно
1 "(что)\-(то)(\s`(там)`)+" "\4=(0,#0000ff,0)"
; подсвечивает только последнее вхождение
Одна группа может хранить только один диапазон. В данном случае сохраняется последний найденный.
А Вы бы не могли это исправить?
И ещё:
Я пытаюсь сделать хороший .coder-файл для *.ahk, но возникла проблема с нехваткой встроенных цветовых переменных.
Если я буду вводить новые переменные, то все встроенные цветовые схемы для coder-плагина будут выдавать оповещение об отсутствующей переменной.
Хотелось бы избежать таких оповещений, т.к. помимо того, что они могут оказать моральный ущерб пользователям - они ломают подсветку в файлах, т.к. AkelPad "спотыкается" на первом же правиле с переменной, значения для которой он не имеет.
Сейчас, ничего не меняя, избежать таких оповещений можно, но это повлечёт за собой некоторые
:
Если использовать другие встроенные переменные не по их назначению, то нельзя будет визуально дифференцировать эти типы данных.
Если использовать набор встроенных переменных не для окрашивания текста, а для окрашивания фона (или и для того, и для другого), то тогда возможны случаи, когда в текст не будет читаться хорошо из-за возможного диссонанса цветов в различных цветовых схемах
.
Поэтому прошу добавить: а) несколько (хотя бы штук 5) переменных про запас во встроенный набор цветовых схем; б) возможность задавать внутри .coder файлов значения по умолчанию для переменных, которые бы использовались в случае если в выбранной у пользователя цветовой схеме не задано значение для указанной переменной (а если задано, то использовалось бы оно, а не указанное внутри .coder файла).
Posted: Thu Dec 26, 2013 9:34 pm
by opk44
Drugmix wrote:А Вы бы не могли это исправить?
Не нужно чинить то, что не сломано.
Посмотрите на сторонних ресурсах типа "regex101.com". Надо ввести там правило и посмотреть протокол разбора выражения.
Цитирую:
Note: A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
Posted: Thu Dec 26, 2013 10:11 pm
by Drugmix
opk44 wrote:Посмотрите на сторонних ресурсах типа "regex101.com". Надо ввести там правило и посмотреть протокол разбора выражения.
Цитирую:
Note: A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
Ценное замечание, спасибо.
opk44 wrote:Не нужно чинить то, что не сломано.
Вот это спорно. То, что ничего с точки зрения машины или соответствия RegEx не сломано - не означает, что ничего на самом деле не сломано:
из-за этого внутреннего ограничения PCRE плохо работает подсветка в плагине .coder. Т.к. в код плагина можно вносить правки, то и обойти внутреннее ограничение PCRE - в принципе возможно.
А раз возможно, но этого нет, то логично и попросить такое исправление.
Я же прошу это изменение не ради изменения, а ради того, чтобы можно было, наконец, сделать более гибкие правила раскраски текста.
Posted: Thu Dec 26, 2013 10:41 pm
by Drugmix
Ещё вопрос по coder.coder и RegEx:
в секции QuotesRE есть такое правило:
Но оно не срабатывает на этом же самом правиле в этом же файле (и в других .coder-файлах, хотя если в нём везде заменить [`"] на ` - то в других .coder-файлах правила для секции QuotesRE будут подсвечиваться этим правилом нормально).
Тот же самый regex101.com показывает, что всё должно работать.
Если же правило изменить на
То это приводит к тому, что при открытии акелпад зависает.
Зависания - это не хорошо даже в том случае, когда понятна их причина. Если как-то можно - то, пожалуйста, исправьте это.
Posted: Fri Dec 27, 2013 7:29 am
by Skif_off
Drugmix
Не планируется ли в будущем заменить в ahk.coder #00ff00 на что-нибудь менее вырвиглазное (на темах со светлым фоном)? Для удобства синхронизации по возможности стараюсь не трогать цвета.
Posted: Fri Dec 27, 2013 8:26 am
by Serge Yolkin
Skif_off wrote:Вот с \b не все гладко местами, решил отказаться.
А что не гладко? (я не для поспорить, мне интересно). Насколько я понимаю, \b это граница между \w и \W в любой последовательности, поэтому не гладко будет с подчерком "_" перед временем - он тоже \w, других проблем, на первый взгляд, не видно.
Posted: Fri Dec 27, 2013 9:12 am
by Drugmix
Skif_off
конечно. Я пока просто правила сами составляю, тут у меня локально намного больше изменений, просто важно сначала сами правила составить и отладить.
В планах - на каждую команду по RegEx'у, чтобы каждая команда и каждый атрибут у каждой команды - подсвечивался в соответствии с тем типом данных, к которому он относится.
Как я уже писал выше - сейчас вскрылась даже просто нехватка цветов из встроенного набора, надо и эту проблему как-то решать.
Posted: Fri Dec 27, 2013 9:43 am
by Skif_off
Serge Yolkin
Честно говоря, уже не помню деталей и к сожалению (или к счастью) отказался от систем контроля версий (источников coder-файлов несколько, KDiff3 показался удобнее). Вполне допускаю, что условия были не реальные, а смоделированные в процессе тестирования (только знакомлюсь с регулярными выражениями).
Drugmix
Прошу прощения за любопытство, с какой целью в Words были добавлены функции, UDF и макросы AutoIt, а позже закомментированы?
Posted: Fri Dec 27, 2013 10:09 am
by Drugmix
Skif_off wrote:Drugmix
Прошу прощения за любопытство, с какой целью в Words были добавлены функции, UDF и макросы AutoIt, а позже закомментированы?
Это наследие прошлого (было до меня), с которым я пытался бороться и только сейчас получил одобрение от Lenchik'а, соавтора ahk.coder.
Posted: Fri Dec 27, 2013 11:33 am
by Serge Yolkin
Как-то невзначай версия 12.0 появилась...
Posted: Fri Dec 27, 2013 2:03 pm
by Instructor
Drugmix wrote:Зависания - это не хорошо даже в том случае, когда понятна их причина.
В избранное
В вашей строке нарушено правило заключения в кавычки:
Я не понял как Вы предлагаете их использовать. Можно, пожалуйста, исправленный вариант?
Пробовал везде заменить " на ' - зависание при старте.
Пробовал только обрамляющие кавычки заменить на ' вот так
зависания нет, но правило не работает должным образом.
А ещё меня очень расстраивает, что многие из моих других обращений и вопросов к Вам - Вы оставляете без ответа (что ещё хуже, чем получить прямой отказ или ответ, что заявка на изменение принята, но не является приоритетной).
Вы их не читаете или просто молча принимаете их к сведению?