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 ... 40, 41, 42 ... 56, 57, 58  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 20 Oct 2013
Posts: 298

PostPosted: Thu Mar 13, 2014 8:10 pm    Post subject: Reply with quote

Натолкнулся у себя случайно на nncron.highlight от Casm для nnCron и неудачный набросок nncron.coder, переделал, дополнил (+полно комментов Ru/En), выкладываю: nncron.coder.
Из минусов (на первый взгляд) - цвета были заданы абсолютно, но вполне удобоваримо (проверил на дефолтной и паре темных тем). Была мысль пропиарить в соответствубщей теме на руборде для обратной связи, но как-то неловко.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5321

PostPosted: Sat Mar 22, 2014 8:45 pm    Post subject: Reply with quote

Изменено: корректировка положения окна дополнения (Coder::AutoComplete).

Changed: correction of auto-complete window position(Coder::AutoComplete).


Coder plugin v13.0
Back to top
View user's profile Send private message Send e-mail
1



Joined: 24 Mar 2014
Posts: 1

PostPosted: Mon Mar 24, 2014 5:44 am    Post subject: Reply with quote

А можно добавить в набор powershell синтаксис? или я могу сам это сделать?
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 298

PostPosted: Mon Mar 24, 2014 8:05 am    Post subject: Reply with quote

1
ps1.coder отсюда http://akelpad.sourceforge.net/files/plugs/Coder/
Back to top
View user's profile Send private message
DV



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

PostPosted: Fri Mar 28, 2014 2:49 pm    Post subject: Reply with quote

Обнаружил довольно неприятную (потому что неочевидную и неожиданную) штуку в Coder::AutoComplete. Итак:
1) Настройка редактора заменять табуляцию пробелами отключена - т.е. символ табуляции остаётся символом табуляции
2) Открываем любой файл .ini, для которого в файле ini.coder прописано вот что:
ini.coder wrote:
Delimiters:
1 0 ${DEL1} 0 =

3) в этом .ini набираем <TAB> abc <Enter> (т.е. клавишу TAB, текст abc и клавишу Enter) и ещё раз нажимаем клавишу TAB
В результате появляется совершенно неожиданный текст abc, появившийся как результат автодополнения к "слову" <TAB>abc
Другой пример:
В том же .ini файле нажимаем следующую последовательность клавиш:
<Shift+Home> <Del> <Space> def <Enter> <Shift+Home> <Del> <Space> <TAB>
В результате пробел на второй строке "дополняется" до <Space>def
Как-то это странно, в особенности учитывая наличие \t и пробела в списке разделителей слов в настройках редактора.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5321

PostPosted: Fri Mar 28, 2014 7:54 pm    Post subject: Reply with quote

DV
Не воспроизводится. Выложите/вышлите папку с AkelPad'ом.
Back to top
View user's profile Send private message Send e-mail
Cuprum



Joined: 28 Sep 2011
Posts: 192

PostPosted: Tue Apr 01, 2014 12:01 pm    Post subject: Reply with quote

Хочу добить тему подсветки классов и id в CSS и LESS.
При добавлении
Code:
0   "(\.(\w|-)+)" "\1=(0,${AREA},0)"
0   "(#(\w|-)+)" "\1=(0,${VAR},0)"

в QuotesRE css.coder-а также подсвечиваются и единицы измерения с точкой внутри правила



Как убрать такую подветку внутри {...}?
Правда LESS еще позволяет делать вложенности


Это тоже надо учесть.
Тут видимо надо делать какую-то специальную проверку, но я не силен в регулярках...
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 298

PostPosted: Tue Apr 01, 2014 9:15 pm    Post subject: Reply with quote

Cuprum
А если добавить условие "в начале строки"
Code:
0   "^\s*(\.(\w|-)+)"   "\1=(0,${AREA},0)"
0   "^\s*(#(\w|-)+)"   "\1=(0,${VAR},0)"

?
Вот еще не забудьте, хотя и не обязательно.
Back to top
View user's profile Send private message
Drugmix



Joined: 08 Apr 2013
Posts: 394

PostPosted: Wed Apr 02, 2014 1:32 pm    Post subject: Reply with quote

Skif_off
тогда вложенность не будет учитываться если точка не с начала строки идёт.
Предлагаю добавить positive look ahead { но
, вообще по синтаксису CSS (и, вероятно, LESS тоже) она не обязательно должна идти на этой же строке. Вот такое употребление тоже валидно:
Code:
.selector
{ property: value !important; }

а quotesRE правила, кажется, не умеют в мультстрочность, т.е. \s* перед (?=\{) должно бы и символ конца строки в себя включать, но как оно по факту в акелпаде будет работать - надо проверять.

Code:
0   "\s*(\.(\w|-)+)\s*(?=\{)"   "\1=(0,${AREA},0)"
0   "\s*(#(\w|-)+)\s*(?=\{)"   "\1=(0,${VAR},0)"


В любом случае - так тоже не правильно, ведь селектор может быть комплексным, да ещё и порядок перечисления id и class может быть произвольным:
Code:
#id1 #id2 .class1 .class2, .class1.class2 #id1 #id2
{property: value}

И ни предложенные мной правила, ни предложенные Skif_off правила здесь не сработают.

И тут логично предположить, что если в верхнее правило добавить условие, что после class может идти id, а в нижнее правило добавить условие, что после id может идти class, т.е. примерно вот так
Code:
0   "\s*(\.(?:\w|-)+)\s*(#(?:\w|-)+)?\s*(?=\{)"   "\1=(0,${AREA},0) \2=(0,${VAR},0)"
0   "\s*(#(?:\w|-)+)\s*(\.(?:\w|-)+)\s*(?=\{)"   "\1=(0,${VAR},0) \2=(0,${AREA},0)"

- то это решит наши проблемы, но на самом деле нет: верхнее правило всегда будет перебивать нижнее. Единственный выход - объединить правила в одно и расписать вообще все возможные случаи употребления селекторов в нём. Такое правило будет очень длинным и очень сложным в составлении.

И тем самым мы снова возвращаемся к нашим баранам и моей просьбе к Instructor'у добавить каскадность работы QuotesRE правил.
Back to top
View user's profile Send private message
Cuprum



Joined: 28 Sep 2011
Posts: 192

PostPosted: Wed Apr 02, 2014 5:16 pm    Post subject: Reply with quote

Drugmix
Может лучше идти другим путем, отсеять все лишнее, что не является идентификатором CSS? По-русски: после # или точки не может сразу идти цифра или два дефиса подряд или дефис+цифра. Тут поподробнее. Тогда и проверять наличие скобок {} не придется. Правда, как такое правило записать регуляркой, хз.
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 298

PostPosted: Wed Apr 02, 2014 5:46 pm    Post subject: Reply with quote

Drugmix wrote:
quotesRE правила, кажется, не умеют в мультстрочность, т.е. \s* перед (?=\{) должно бы и символ конца строки в себя включать, но как оно по факту в акелпаде будет работать - надо проверять.

Не умеют, по факту \s* сработает как "ноль или более пробелов и/или табов", поэтому можно оставить для тех, которые были приведены в качестве примеров, и копать произвольное перечисление: как минимум - точно известно, какие символы можно использовать для названия.
Back to top
View user's profile Send private message
Drugmix



Joined: 08 Apr 2013
Posts: 394

PostPosted: Wed Apr 02, 2014 6:32 pm    Post subject: Reply with quote

Cuprum wrote:
Drugmix
Может лучше идти другим путем, отсеять все лишнее, что не является идентификатором CSS?

Skif_off wrote:
поэтому можно оставить для тех, которые были приведены в качестве примеров, и копать произвольное перечисление: как минимум - точно известно, какие символы можно использовать для названия.

Так не получится: допустимые имена классов пересекаются с допустимыми именами значений для целого списка свойств.
Code:
.55 { border-width: .55 em }
Back to top
View user's profile Send private message
Cuprum



Joined: 28 Sep 2011
Posts: 192

PostPosted: Wed Apr 02, 2014 7:23 pm    Post subject: Reply with quote

Drugmix
Quote:
Так не получится: допустимые имена классов пересекаются с допустимыми именами значений для целого списка свойств.

Что-то я тут не понял. .55 это недопустимое имя для класса...
Back to top
View user's profile Send private message
Drugmix



Joined: 08 Apr 2013
Posts: 394

PostPosted: Wed Apr 02, 2014 7:55 pm    Post subject: Reply with quote

Cuprum
я прочитал как-то по диагонали и подумал, что наоборот может.
Хм, тогда должно быть проще.
Как-то так (не тестировал):
Code:
0   "\s*(\.([a-z]|-(?!-|\d))(\w|-)*)"   "\1=(0,${AREA},0)"


Last edited by Drugmix on Wed Apr 02, 2014 10:59 pm; edited 1 time in total
Back to top
View user's profile Send private message
Cuprum



Joined: 28 Sep 2011
Posts: 192

PostPosted: Wed Apr 02, 2014 8:49 pm    Post subject: Reply with quote

Drugmix
Да, все ближе к нужному варианту Wink
Я только немножко поправил, т. к. в вашем варианте также выбирались
.--class и .-9class что невалидно. Получилось так
Code:
"\s*(\.(?!\d|--|-\d)(\w|-)+)"   "\1=(0,${AREA},0)"

Но все равно смущает несколько моментов. Хотя бы такой - если заменить
(\w|-)+ на [\w-]+ то перестает работать. Не знаете, почему Wink ? Ведь это синонимы.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 40, 41, 42 ... 56, 57, 58  Next
Page 41 of 58

 
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