Coder plugin (2)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

YuS
Я его оттуда не убирал ). Почему-то если после процентов указать

Code: Select all

(%)\b
, то символ % не матчится. Точнее, он захватывается только когда сразу за ним идет буква.

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Cuprum wrote:YuS
Я его оттуда не убирал ).
Странно, тогда он просто обязан быть подсвеченным. Надо проверить цвета (сравнить то, что написано в секции Delimiters и в самой цветовой схеме).
Cuprum wrote: Почему-то если после процентов указать

Code: Select all

(%)\b
, то символ % не матчится. Точнее, он захватывается только когда сразу за ним идет буква.
Это логично. Граница слова присутствует в начале и в конце слова, т.е. набора символов, входящих в "\w", а "%" в этот диапазон не попадает, поэтому там нет границы.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

YuS
Это логично. Граница слова присутствует в начале и в конце слова, т.е. набора символов, входящих в "\w", а "%" в этот диапазон не попадает, поэтому там нет границы.
Тогда в выражении

Code: Select all

0	"(-)?(?:(?<=\s)|(?<=\W))(?<![a-z])(\d{1,8})(%|ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|in|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw)?\b"   "\1=(0,${DEL2},0) \2=(0,${NUM},0) \3=(0,${IF},0)"
надо как-то сделать, чтобы \b к % не применялось.

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Cuprum wrote: Тогда в выражении

Code: Select all

0	"(-)?(?:(?<=\s)|(?<=\W))(?<![a-z])(\d{1,8})(%|ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|in|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw)?\b"   "\1=(0,${DEL2},0) \2=(0,${NUM},0) \3=(0,${IF},0)"
надо как-то сделать, чтобы \b к % не применялось.
А зачем? Знак процента можно оттуда совсем удалить, он и так подсвечивается. Но если принципиально, то:

Code: Select all

0	"(-)?(?:(?<=\s)|(?<=\W))(?<![a-z])(\d{1,8})(%|(?:ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|in|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw)\b)?"   "\1=(0,${DEL2},0) \2=(0,${NUM},0) \3=(0,${IF},0)"

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

YuS
А зачем? Знак процента можно оттуда совсем удалить, он и так подсвечивается
Нет, если его удалить из правила, то он не подсвечивается.
Но если принципиально, то:
Лучше так, чтобы в регулярке сразу было видно все единицы измерения. Сам не смог додумать, как сделать :cry: Внес изменение:
css.coder 1.12

YuS
Offline
Posts: 512
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Cuprum wrote: Нет, если его удалить из правила, то он не подсвечивается.
Должен подсвечиваться как разделитель, если его не захватывает регулярка. Что-то в настроках цветовой схемы не так, либо некорректно работает плагин. Во всяком случае, у меня подсвечивается.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

YuS
Может все дело в том, что мы разные темы используем? У меня немного модифицированная Monokai. И в ней переменная ${DEL2} "светится" белым. Если изменить цвет на

Code: Select all

1	0	${IF}	0	%
то подсвечивается красненьким. Но если убрать % из регулярки, тогда он не меняет цвет, когда между ним и числом появляется пробел. Так что пусть лучше остается как есть.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

AMAlex wrote:Наверно нельзя "указатель на указатель".
Верно

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Добавлено: поиск отметок с регулярными выражениями.

Added: searching marks with regular expressions.


Coder plugin v13.7

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor
Что-то не работает. :?

Для отметок: TextMarker.js,

Code: Select all

nDlgX=400;
nDlgY=200;
nName=0;
aName=[["Example","^\\d+-\\d+-\\d+",1,1,0,"0","#E1E18E"]];

(впрочем, отметки, сделанные через QSearch с галочкой на регулярных выражениях, тоже не находит)
Для поиска вот такие пункты меню:

Code: Select all

  -"Н&айти предыдущую отметку" Call("Coder::HighLight", 4, 0, 0, 0, 1)
  -"&Найти следующую отметку" Call("Coder::HighLight", 4, 0, 0, 0, 0)
Текст вида

Code: Select all

2014-08-13 ...
2014-08-12 ...
P.S. Или надо как-то особо искать?
Потому как документация не обновлена:
Coder-Rus.txt wrote: Замечание:
Поиск возможен только для отметок, не заданных регулярным выражением.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Infocatcher wrote:Что-то не работает. :?
Попробовал - работает.
Потому как документация не обновлена:
Обновлено.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor wrote:
Infocatcher wrote:Что-то не работает. :?
Попробовал - работает.
Не пойму, что мешает. Выслал папку с AkelPad'ом.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Instructor
Does not work find marks if markID >= 1000001 (MARKID_AUTOMIN) or markID = -2 (MARKID_SELECTION). Examples:

"Mark" Call("Coder::HighLight", 2, "#000000", "#9BFF9B", 1, 0, -1, "text")
or
"Mark" Call("Coder::HighLight", 2, "#000000", "#9BFF9B", 1, 0, 1000001, "text")

"Find down" Call("Coder::HighLight", 4, 1000001, "0", "0", 0)
or
"Find down" Call("Coder::HighLight", 4, 1000001, "#000000", "#9BFF9B", 0)

"Mark selection" Call("Coder::HighLight", 2, "#000000", "#9BFF9B", 1, 0, -2)
"Find down" Call("Coder::HighLight", 4, -2, "0", "0", 0)

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

KDJ
"Mark selection" Call("Coder::HighLight", 2, "#000000", "#9BFF9B", 1, 0, -2)
You shouldn't assign mark with ID -2, it is internal ID.
"Find down" Call("Coder::HighLight", 4, -2, "0", "0", 0)
Example how -2 for 4 external call works:
1. Mark "text1" with red.
2. Mark "text2" with blue.
3. Select "text1" and call

Code: Select all

Call("Coder::HighLight", 4, -2, "0", "0", 0)
Red marks "text1" will be found.
4. Select "text2" and call

Code: Select all

Call("Coder::HighLight", 4, -2, "0", "0", 0)
Blue marks "text2" will be found.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Добавлено: поиск отметок по идентификатору назначенному автоматически.
Исправлено: поиск отметок всегда игнорировал регистр.

Added: find marks by ID assigned automatically.
Fixed: find marks always ignored case sensitivity.


Coder plugin v13.9
Locked