AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Coder plugin (2)
Goto page Previous  1, 2, 3 ... 55, 56, 57 ... 63, 64, 65  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Tue Jul 29, 2014 7:32 am    Post subject: Reply with quote

Разобрался. Закомментировал 3 строчки (начинающиеся на 173) в секции Folds:
Code:
Folds:
;=====================================
;Flags  Font    Color   Color   Fold      Fold      Delimiters
;       style   text    bkgrnd  start     end
;=====================================

173   0   0   0   [       [       ""
173   0   0   0   "***"       "***"       ""
173   0   0   0   "---"       "---"       ""

И вот эту строчку:
Code:
;--Latin alphabet--
2   0   ${VAR}   0   "ABCDEFGHIJKLMNOPQRSTUVWXYZŻĆĘółąśńźäöüßëéèàòùôçêûïâáõíãúİŞğıÆØČŽŮĚŘýňšťåľďЇіњџЈҐŵįŋĐŏÌĪăŔñőűўЄЅћљќЂ€āēģūļņķ"


Сейчас при загрузке ошибок нет. Странно, правда, что ему не понравилось.
Back to top
View user's profile Send private message
Cuprum



Joined: 28 Sep 2011
Posts: 243

PostPosted: Tue Jul 29, 2014 11:11 am    Post subject: Reply with quote

Добавил еще свойств.

css.coder 1.09

Вот только что-то не нравится мне подсветка цифр. Рябит уж слишком. ) Может быть, цифры оставить без подсветки, а подсвечивать единицы измерения - px, rem, in, em, rad и т.д.? Их достаточно много, можно даже все единицы измерения вынести в отдельный блок. Но будет ли так работать?
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 134

PostPosted: Tue Jul 29, 2014 12:30 pm    Post subject: Reply with quote

Cuprum wrote:
Может быть, цифры оставить без подсветки, а подсвечивать единицы измерения - px, rem, in, em, rad и т.д.? Их достаточно много, можно даже все единицы измерения вынести в отдельный блок. Но будет ли так работать?

Конечно, будет. Надо здесь:
Code:
"(-)?(\d{1,8})\s*(px|em|s|rem|deg)?"   "\1=(0,${DEL2},0) \2=(0,${NUM},0) \3=(0,${DEL1},0)"

${NUM} - заменить либо на 0, либо подсветить чем-то более нейтральным...
Кстати, \d{1,8} - не мало для захвата цифр? Число символов брал практически "с потолка"
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 420

PostPosted: Tue Jul 29, 2014 1:11 pm    Post subject: Reply with quote

CleriC
Между названием секции и ее содержимым (равно как и в содержимом) не должно быть пустых строк.
Если она нужна, ставится коммент - ";" в начале строки.
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 420

PostPosted: Tue Jul 29, 2014 8:13 pm    Post subject: Reply with quote

Внезапно перестало работать правило
Code:
1   "(\()(c(a|d)+r)"   "\1=(0,${DEL1},0) \2=(0,${OP},0)"

и подобные. В чем может быть дело? Не помню, когда добавлял, раньше работало.

Добавлено:
Перестало работать начиная с AkelPad 4.8.9 и Coder 13.5 (идет в дистрибутиве).
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 134

PostPosted: Wed Jul 30, 2014 2:34 am    Post subject: Reply with quote

Skif_off wrote:
Внезапно перестало работать правило
Code:
1   "(\()(c(a|d)+r)"   "\1=(0,${DEL1},0) \2=(0,${OP},0)"

и подобные. В чем может быть дело?

Образец бы тестового массива глянуть, ну там где не работает...
Back to top
View user's profile Send private message
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Wed Jul 30, 2014 3:12 am    Post subject: Reply with quote

Skif_off wrote:
CleriC
Между названием секции и ее содержимым (равно как и в содержимом) не должно быть пустых строк.
Если она нужна, ставится коммент - ";" в начале строки.

Спасибо. Удалил пустые строки и всё стало нормально.
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 420

PostPosted: Wed Jul 30, 2014 3:49 am    Post subject: Reply with quote

YuS wrote:
Образец бы тестового массива глянуть, ну там где не работает...

Подумал - очевидно Smile
(car и (cdr захватываются, а, например, (caar, (cadr, (caadr уже нет.
В принципе, исправить легко
Code:
1   "(\()(c[ad]+r)"   "\1=(0,${DEL1},0) \2=(0,${OP},0)"

Но хотелось бы понять в чем дело? Баг? Или результат исправления старого бага? Или приведение поддержки к некоей канонiчности типа POSIX или PCRE? Я не большой знаток регулярных выражений и раньше работало.

Кстати по цифрам, latex.coder кто-нибудь пользует? Не так давно вносил правки и что-то как-то раздражает подсветка цифр.
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 284

PostPosted: Wed Jul 30, 2014 8:25 am    Post subject: Reply with quote

Skif_off wrote:
latex.coder кто-нибудь пользует? Не так давно вносил правки и что-то как-то раздражает подсветка цифр.

В цветовой теме, которую я использую, не так уж сильно цифры выделяются, на мой взгляд.
Back to top
View user's profile Send private message Visit poster's website
YuS



Joined: 15 Sep 2013
Posts: 134

PostPosted: Wed Jul 30, 2014 9:23 am    Post subject: Reply with quote

Skif_off wrote:

Но хотелось бы понять в чем дело? Баг? Или результат исправления старого бага? Или приведение поддержки к некоей канонiчности типа POSIX или PCRE?

Очень похоже, что баг, не работают квантификаторы в группе с вариантами "или".
Видимо, это случилось когда правились lookbehind-ы. Но по всем канонам должны работать такие группы, ибо всё что внутри группы, просто обязано считаться единым целым и работать с квантификаторами.
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 854
Location: Kyiv, Ukraine

PostPosted: Wed Jul 30, 2014 11:00 am    Post subject: Reply with quote

Дело не только в "ИЛИ", а ещё и в наличии символа после "+".
Например, такой вариант работает корректно: (\()(c(a|d)+)
А как только добавляем "r" после "+", то перестаёт срабатывать на комбинации (caar, (cadr, (cdar и т.д.: (\()(c(a|d)+r)
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1639

PostPosted: Wed Jul 30, 2014 11:01 am    Post subject: Reply with quote

DV wrote:
Дело не только в "ИЛИ", а ещё и в наличии символа после "+".
Например, такой вариант работает корректно: (\()(c(a|d)+)
А как только добавляем "r" после "+", то перестаёт срабатывать на комбинации (caar, (cadr, (cdar и т.д.: (\()(c(a|d)+r)
Помнится, там чрезмерная жадность реализована, так что есть смысл попробовать (\()(c(a|d)+?r)
Back to top
View user's profile Send private message Visit poster's website
YuS



Joined: 15 Sep 2013
Posts: 134

PostPosted: Wed Jul 30, 2014 11:27 am    Post subject: Reply with quote

DV wrote:
Дело не только в "ИЛИ", а ещё и в наличии символа после "+".

Очень даже может быть, это более точное описание возможного бага.

PS Кстати, на счет lookbehind-ов...
В теме много раз уже попадалось их обсуждение и обсуждение сопутствующего ограничения для них (фиксированное число символов).
Может быть, в данной ситуации помогла бы реализация метасимвола \K ?
Этот метасимвол отрезает всё, что было до него, естественно с проверкой шаблона, и в итоговой подстроке оказывается только то, что идет после него.
Например ищем в таком тексте:
xyzg fhjabc def
шаблон:
.*[^abc]\K(abc)(?= def)
В итоговой строке получим:
abc
- причем в этом случае, всё остальное окажется не захваченным. Это в регулярках coder-a было бы очень хорошим подспорьем, имхо.
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 134

PostPosted: Wed Jul 30, 2014 11:32 am    Post subject: Reply with quote

Infocatcher wrote:
Помнится, там чрезмерная жадность реализована, так что есть смысл попробовать (\()(c(a|d)+?r)

Так чрезмерная жадность, это уже "++" должно быть, но в любом случае (a|d)+r при любой жадности, не должно спотыкаться на символах идущих после "+", ведь они не попадают в шаблон жадной группы.
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1639

PostPosted: Wed Jul 30, 2014 12:49 pm    Post subject: Reply with quote

YuS
Ну так то особенности реализации.
++ не реализовано, а жадность работает как-то неклассически. Smile

Более того, я сейчас полез проверять, так на вот таком тексте
Code:
test
test test test

работает только «t[a-z]+?t», а «t[a-z]+t» не находит вообще ничего (я так понимаю, оно «поедает» всю последовательность, а назад, если не найдено, не возвращается). И явно больше похоже не «t[a-z]++t».
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 55, 56, 57 ... 63, 64, 65  Next
Page 56 of 65

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group