Drugmix
См. плагин SpecialChar настройку "Линия отступа".
Posted: Sat Aug 31, 2013 11:11 pm
by Drugmix
Instructor
спасибо, но это не подходит, т.к. я включаю этот плагин по мере надобности, чтобы отображал невидимые символы табы, переносы строк, конец файла и т.п.).
Так что если его держать постоянно включённым для отображения линеек - то будет много визуального мусора. Если же отключить показ всего, кроме линии отступа - то потом это всё надо будет включать поочерёдно через меню. Ни то, ни другое - не удобно.
Плюс, на скриншоте отступ у скобок подсвечен сильнее, чем другие отступы, а в акелпаде - такого нет (или есть, но надо шаманить с темами, а темы в акелпаде сейчас не юзабельны).
Ладно, выживу и без этого.
Posted: Mon Sep 09, 2013 9:32 pm
by Drugmix
А как в .coder файле можно раскрасить слова из "Words:" секции так, чтобы можно было одно и то же слово использовать дважды, подкрасив его так или иначе, в зависимости от его позиции в коде?
В ahk все атрибуты у команды разделены запятой (практически csv-лист получается).
И аналогичный вопрос (вероятно по секциям "Quotes:" и "QuotesRE:"): можно ли задать правила раскраски текста, например, так?
если с начала строки идёт слово "PixelGetColor", то всё, что идёт после первой запятой после него и до следующей запятой (или конца строки) - раскрасить синим цветом
Можно ли как-то составлять подобные правила? Желательно, с поддержкой RegExp'ов.
Posted: Mon Sep 09, 2013 9:50 pm
by Drugmix
И ещё вопрос по секции "Delimiters:" как менять настройки при выделении по словам/абзацам?
Например, выделение по словам можно произвести двумя способами:
а). сделав в тексте даблклик и не отпуская второй клик начать вести курсор в сторону.
б). на клавиатуре каретку двигать навигационными стрелками влево/вправо при зажатом CTRL (и + Shift, если нужно не просто переместить каретку, а переместить с выделением).
Сейчас, всякие символы знаки препинания являются разделительными, а потом правильно обрабатываются при выделении. Но в список разделителей не получается добавить связку из двух символов: например `n. Эта связка в ahk означает символ новой строки.
Я уже пробовал создавать правила и
1 0 ${DEL2} 0 `n
и
1 0 ${DEL2} 0 "`n"
Но это не помогло: в первом случае - раскрашиваться они начинают правильно (как разделители), но при выделении - только ` распознаётся как delimiter, а n выделяется вместе с примыкающим к нему словом.
Может быть это баг?
Posted: Tue Sep 10, 2013 5:50 am
by Instructor
Drugmix wrote:А как в .coder файле можно раскрасить слова из "Words:" секции так, чтобы можно было одно и то же слово использовать дважды, подкрасив его так или иначе, в зависимости от его позиции в коде?
Для этого секция "Words:" не подходит, но подходит "Quotes:" или "QuotesRE:"
если с начала строки идёт слово "PixelGetColor", то всё, что идёт после первой запятой после него и до следующей запятой (или конца строки) - раскрасить синим цветом
Drugmix
Вами тестируется PCRE. AkelPad использует свою реализацию регулярных выражений см. AkelHelp-Rus.htm.
Posted: Tue Sep 10, 2013 12:24 pm
by Drugmix
Instructor
Читал, но там же всё как в pcre, только "настройки" не описаны. Или они не поддерживаются, но тогда вопрос: а как же их задавать и переключать?
Posted: Tue Sep 10, 2013 12:45 pm
by Drugmix
Drugmix wrote:Instructor
Читал, но там же всё как в pcre, только "настройки" не описаны. Или они не поддерживаются, но тогда вопрос: а как же их задавать и переключать?
Похоже, что управлять "жадностью" в шаблонах акелпада нельзя, пришлось вместо
Instructor
а не могли бы Вы всё-таки добавить поддержку управления жадностью в шаблоны регулярных выражений в .coder?
Потому что я хочу через .coder приделать "умную" раскраску аргументов у команд AHK, а многие команды имеют по нескольку опциональных параметров и без поддержки управления жадностью - я боюсь, что я замучаюсь составлять шаблоны для таких команд:
WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]
всё, что в квадратных скобках - опционально, а раскрасить каждый из аргументов требуется по-своему.
Appendices > H - Regular Expression reference > Elements: Non-capture group (?:} - закрывающая скобка - фигурная, вместо круглой
Posted: Tue Sep 10, 2013 5:25 pm
by Drugmix
Instructor wrote:Но стоит ли связываться с подсветкой параметров, учитывая, что, например, запятая может присутствовать как часть строки.
Я бы её экранировал заменив , на [^`], но backtick является частью синтаксиса .coder, как его экранировать? Его стоит добавить в мануал в раздел "Special characters".
А ещё в мануал стоит добавить про якорь конца строки $, который не просто означает символ новой строки, но ещё и, похоже, меняет направление обработки шаблона с ltr на rtl.
^ Соответствует позиции начала строки.
$ Соответствует позиции конца строки.
...
[^xyz] Отрицательный набор знаков. Соответствует любому не указанному символу. Например, '[^abc]' соответствует "p" в "plain".