Конечно, я знаю об этой возможности. Имелось ввиду, что модификатор DOTALL по умолчанию не задействуется в других реализациях. Почему же в AkelPad точка оказалась "всеядной"? Это ухудшает переносимость регулярных выражений и затрудняет применение готовых шаблонов, полученных из различных источников (того же JavaScript).YuS wrote:(?s) точка '.' соответствует любому одиночному символу (по умолчанию).
Coder plugin (2)
- Author
- Message
-
Offline
- Posts: 76
- Joined: Wed Jan 05, 2011 6:07 am
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Исправлено: объединение правил с различным родителем (Coder::CodeFold).
Fixed: merging rules with different parent (Coder::CodeFold).
Coder plugin v17.9
Fixed: merging rules with different parent (Coder::CodeFold).
Coder plugin v17.9
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Ну, стандарта ведь нет и кроме того:Wio wrote:Имелось ввиду, что модификатор DOTALL по умолчанию не задействуется в других реализациях. Почему же в AkelPad точка оказалась "всеядной"?
т.е. дело привычки работы на определенном движке...Метасимвол . (точка) означает один любой символ, но в некоторых реализациях исключая символ новой строки.
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Спасибо! Теперь работает.Instructor wrote:См. Coder 17.9.YuS wrote:...второе из двух правил ' "<![CDATA[" "]]>" ' уже не работает...
Но всё же, остался другой вопрос. Попробую развернуть его:
Code: Select all
;1052676=4+4096+1048576
1052676 0 0 0 `<handler(?=(?:\s[^<]+)?(?<!/)>)` "</handler>" "" 0 2
;517=1+4+512
517 3 ${ATTR} ${OP} "<![CDATA[" "]]>" "" 2 0
но как только используем подсветку из внешнего файла:
Code: Select all
;1052676=4+4096+1048576
1052676 0 0 0 `<handler(?=(?:\s[^<]+)?(?<!/)>)` "</handler>" "" 0 2 "js.coder"
;517=1+4+512
;517 3 ${ATTR} ${OP} "<![CDATA[" "]]>" "" 2 0
И ещё вопрос:
Предполагалось, что вот это правило <handler(?=(?:\s[^<]+)?(?<!/)>), из-за жадности квантификатора, должно максимально учесть вот этот момент:
но, видимо, где-то я ошибаюсь - в чем моя ошибка?
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
При наборе текста в секции подсвеченной из внешнего файла .coder, будут работать правила AutoComplete из того самого внешнего файла...DV wrote: А как это использовать? (Пример)
Пример чуть выше:
Редактируем файл .xml, в котором есть секция <![CDATA[ ... ]]> с подсветкой синтаксиса по правилам js.coder и получаем именно в этой секции автодополнение из js.coder
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
YuS wrote:- подсветка атрибутов ломается и наладить её не получается ни стандартными правилами, ни из внешнего файла...
Шаблоном "Fold start" необходимо захватить весь текст до ">", т.к. захваченный текст будет подсвечен по правилам основного coder'а.Предполагалось, что вот это правило <handler(?=(?:\s[^<]+)?(?<!/)>) ...
<handler(?=(?:\s[^<]+)?(?<!/)>)
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Как-тоDV wrote: Моя не понимать: что именно надо добавить в xml.coder, чтобы заработало автодополнение из js.coder?
А-а-а, вон оно почему не "стреляло-то". , спасибо. Одним ответом двух зайцев сразу...Instructor wrote: Шаблоном "Fold start" необходимо захватить весь текст до ">", т.к. захваченный текст будет подсвечен по правилам основного coder'а.<handler(?=(?:\s[^<]+)?(?<!/)>)
А я наоборот пытался шаблон сделать не захватывающим...
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Тут назрело небольшое пожелание. В FAT32 и NTFS время хранится с разной точностью, поэтому иногда получается, что при синхронизации с флэшкой время модификации файлов переносится неточно и, соответственно, файл кэша на флэшке будет перезаписан – создается иллюзия каких-то правок, которых не было (мелочь, а внимание отвлекает – вдруг чего... скажем, правилось с сохранением даты, а размер итоговый случайно совпал).
По идее, секунда разницы погоды не делает, так что хотелось бы или игнорировать небольшую разницу, или округлять при записи времени в файл.
По идее, секунда разницы погоды не делает, так что хотелось бы или игнорировать небольшую разницу, или округлять при записи времени в файл.
-
Offline
- Posts: 381
- Joined: Wed Sep 28, 2011 3:05 pm
Instructor
Теперь на последней тестовой и кодер 17.9 получается
Проверял на less-файле, он позволяет такую вложенность.
Если закомментировать строку в QuotesRE
То тогда @-директивы на всех уровнях подсвечиваются одним цветом, как и хотелось бы. Но есть еще одна проблема на скриншоте - название элемента с классом подсвечиваются только на верхнем уровне. Во вложенных {} подсветка уже не работает.
Если честно, я запутался в цифрах и приоритетах в кодер-файлах. Например, если у правила указан Parent ID 0, он ищет другие правила с Rule ID 0 или сам по-себе? Может, уточнить в coder-rus.txt какие конкретно значения принимает идентификатор?
Теперь на последней тестовой и кодер 17.9 получается
Проверял на less-файле, он позволяет такую вложенность.
Если закомментировать строку в QuotesRE
Code: Select all
0 "([@_a-z\d\-]++)?(\.[_a-z\d\-]++)?(:[:]?[_a-z\d\-]++)?" "\1=(0,${OP},0) \2=(0,${VAR},0) \3=(0,${AREA},0)" -1 0
Если честно, я запутался в цифрах и приоритетах в кодер-файлах. Например, если у правила указан Parent ID 0, он ищет другие правила с Rule ID 0 или сам по-себе? Может, уточнить в coder-rus.txt какие конкретно значения принимает идентификатор?