Coder plugin (2)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Cuprum wrote:и что означают вот такие подсчеты

Code: Select all

5=1+4
Как вы без них (флагов) делали coder-файл или правили дефолтный? :)

Вот, например, coder-файл, где все переведено:
http://akelpad.sourceforge.net/files/pl ... -rus.coder

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

Post by Cuprum »

Skif_off wrote: Как вы без них (флагов) делали coder-файл или правили дефолтный? :)
Да я в нем по сути ничего и не делал. Только слова добавил.
Вот, например, coder-файл, где все переведено:
http://akelpad.sourceforge.net/files/pl ... -rus.coder
спасибо, посмотрю.

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

Post by YuS »

Cuprum wrote: Редактировать CSS вытянутый в одну строку проблематично.
Есть замечательный скрипт jsBeautifier.js (спасибо автору(ам) и Infocatcher-у!), который все проблемы решает на "раз".

Code: Select all

-"Красивый CSS" +Call("Scripts::Main", 1, "jsBeautifier.js", "-css=true") Icon("%a\AkelFiles\Plugs\Scripts.dll", 0)
Cuprum wrote: Добавил свойств и значений, чуток почистил. "css.coder."
Если кавычки выносим в секцию Folds, то в секции Quotes их можно (нужно?) выключить. Ну и ещё пару поправок:
css.coder (v 1.05)
Cuprum wrote: Что-то вот только псевдоклассы перестали подсвечиваться...
Какие именно или все? Пример бы строки посмотреть...
Cuprum wrote: А где можно почитать как в целом работают *.coder-файлы? Какие секциии за что отвечают
В самом файле комментарии, ну и тут в данной теме много раз об этом писалось, надо только набраться терпения и выделить свободное время на чтение.
Cuprum wrote: что означают вот такие подсчеты

Code: Select all

5=1+4
По сути, это шестнадцатиразрядный бинарный код:
"00000000000000001" - 1
"00000000000000010" - 2
"00000000000000100" - 4
и т.д.
вот эти цифры, представленные в десятичном виде и суммируются.
Last edited by YuS on Mon Jul 28, 2014 9:47 am, edited 1 time in total.

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

Post by Infocatcher »

Хм, поиск отметок не работает для отметок, выставленных с использованием регулярных выражений?
А то я только начал с TextMarker.js играться, а тут такой конфуз. :D
Для поиска использовалось вот такое:

Code: Select all

-"Найти предыдущую отметку" Call("Coder::HighLight", 4, 0, 0, 0, 1)
-"Найти следующую отметку" Call("Coder::HighLight", 4, 0, 0, 0, 0)
P.S. Да и Sessions их не запоминает...

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Infocatcher
Так с самого начала фичи, ЕМНИП. С Sessions тоже.

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

Post by Cuprum »

YuS
Есть замечательный скрипт jsBeautifier.js
Ага, знаю про него. Полезный )
Какие именно или все? Пример бы строки посмотреть...

Раньше было

Image

Теперь -

Image

Точнее, в скриншотах показаны псевдоэлементы.
вот эти цифры, представленные в десятичном виде и суммируются.
Т.е. когда пишется "5", это значит выполнение условий "учитывать регистр" + "нахождение конца диапазона обязательно (только для секции "Quotes:")" ?

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Cuprum wrote:Т.е. когда пишется "5", это значит выполнение условий "учитывать регистр" + "нахождение конца диапазона обязательно (только для секции "Quotes:")" ?
Да.

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

Post by YuS »

Cuprum wrote: Раньше было

Image

Теперь -

Image
А, ну это была попытка обойти вот такие моменты:

Code: Select all

-webkit-transition-property: opacity, -webkit-transform;
-webkit-mask-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, .3) 12%, rgba(0, 0, 0, .3) 88%, rgba(0, 0, 0, 0));
чтобы не разрастался список в третьей по счету регулярке. В общем, чтобы вернуть как было, надо закомментировать последнюю в списке регулярку.
Можно, конечно, попробовать сделать привязку к наличию пробела между ":" и \w, но сомневаюсь, что синтаксис CSS настолько строгий, т.е. может быть такая запись:

Code: Select all

div:after{
  display: table;
}
но и подобная запись тоже встречается:

Code: Select all

div:after{
  display:table;
}
в общем, чтобы не поломать остальную подсветку, необходима в этом месте какая-то уникальность, а её нет. Значит либо псевдоэлементы красятся также как атрибуты, либо подобные свойства с параметрами:

Code: Select all

transition-property: opacity
красятся одинаково.
Cuprum wrote: Т.е. когда пишется "5", это значит выполнение условий "учитывать регистр" + "нахождение конца диапазона обязательно (только для секции "Quotes:")" ?
Именно так.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

А уникальность в виде нахождения внутри {} или вне {} не ловится потому что есть многострочные варианты записи, а регулярки в кодере однострочные?

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

Post by Cuprum »

YuS wrote: чтобы не разрастался список в третьей по счету регулярке. В общем, чтобы вернуть как было, надо закомментировать последнюю в списке регулярку.
Вот только если строку

Code: Select all

"(?:(?<=,)|(?<=:)|(?<=\())\s*((?!\d)(?!-)(\w|-)+)"	"\1=(0,${ATTR},0)"
оставить, то у нас любое слово после двоеточия подсвечивается. А вот без нее, по крайней мере понятно, когда печатаем что-то левое, то для него подсветки нет. В общем, пока ее закомментировал, добавил еще свойств и значений + скобку в 3-ю регулярку.

css.coder.

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

Post by YuS »

Lenchik wrote:А уникальность в виде нахождения внутри {} или вне {} не ловится потому что есть многострочные варианты записи, а регулярки в кодере однострочные?
Да. Но, спасибо, за мысль! Ведь то, что ";" - как раз, признак уникальности нахождения внутри {}, было очевидно, но как-то глаз замылился.
В общем, можно заменить последнюю регулярку так:

Code: Select all

0	"(?:(?<=,)|(?<=:)|(?<=\())\s*((?!\d)(?!-)(\w|-)+)(?!.*\{)(?=.*;)"	"\1=(0,${ATTR},0)"
это с учетом того, что любой параметр свойств будет закрашиваться, даже если его нет в перечне CSS. Плохо это или хорошо, каждый может решить сам.
Cuprum wrote: Вот только если строку

Code: Select all

"(?:(?<=,)|(?<=:)|(?<=\())\s*((?!\d)(?!-)(\w|-)+)"	"\1=(0,${ATTR},0)"
оставить, то у нас любое слово после двоеточия подсвечивается. А вот без нее, по крайней мере понятно, когда печатаем что-то левое, то для него подсветки нет.
Угу, есть такое дело. Но в данном случае придется таки составлять полный перечень валидных параметров. В общем, я за вариативность, поэтому строку можно оставить (только скорректировать надо, чтобы псевдоэлементы и псевдоклассы не окрашивались цветом аргументов) и прокомментировать её прямо в файле, для чего она существует, примерно так:
"шаблон включения подсветки любого параметра свойств, даже невалидного"

css.coder "v 1.08"

PS Забыл про однострочный вариант записи стиля... поправлена регулярка

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Подкину несколько строчек для теста:

Code: Select all

.lt-ie8 #container, .lt-ie8 #footer, .lt-ie6 .footerdisclaimer {
width: expression(document.body.clientWidth > 1020? "1020px": "auto");
}
ol>li:before{
content:counters(item,".") ". ";
counter-increment:item
}
ol{
counter-reset:item
}
background: linear-gradient(top,  #1d69a3 0%,#154b77 24%,#11426d 50%,#113053 88%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d69a3', endColorstr='#113053',GradientType=0 ); /* IE6-9 */
}
.purple {
color: magenta !important;
}
YuS wrote:Ведь то, что ";" - как раз, признак уникальности нахождения внутри {}, было очевидно, но как-то глаз замылился.
Единственное или последнее свойство внутри может не завершаться ;, насколько я понимаю. И может быть и многострочным и однострочным.

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

Post by YuS »

Lenchik wrote:Подкину несколько строчек для теста:

Code: Select all

.lt-ie8 #container, .lt-ie8 #footer, .lt-ie6 .footerdisclaimer {
width: expression(document.body.clientWidth > 1020? "1020px": "auto");
}
ol>li:before{
content:counters(item,".") ". ";
counter-increment:item
}
ol{
counter-reset:item
}
background: linear-gradient(top,  #1d69a3 0%,#154b77 24%,#11426d 50%,#113053 88%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d69a3', endColorstr='#113053',GradientType=0 ); /* IE6-9 */
}
.purple {
color: magenta !important;
}
Там есть непарная закрывающая фигурная скобка...
Собственно, работает на этих примерах подсветка. Надо бы уточнить, что не так, а то уже в глазах рябит от этой радуги :)
Lenchik wrote:
YuS wrote:Ведь то, что ";" - как раз, признак уникальности нахождения внутри {}, было очевидно, но как-то глаз замылился.
Единственное или последнее свойство внутри может не завершаться ;, насколько я понимаю. И может быть и многострочным и однострочным.
Это да, судя по этому описанию. Но при имеющихся инструментах кодера, других вариантов определения уникальности не вижу пока, т.е. тогда последнюю регулярку просто исключаем и используем список параметров... ну, или будем надеяться на то, что стилеписатели не будут выбиваться из общего синтаксиса, даже в случае единственного свойства (что, собственно, в имеющихся в наличии файлов стилей и наблюдается). Многострочные блоки тоже могут, конечно, присутствовать в любом варианте, в том числе и с неупорядоченными свойствами по строкам, т.к. перевод строки не является разделителем. Тут, наверное, придется тоже надеяться на благоразумие, которое пока также присутствует во всех имеющихся в наличии вариантах файлов...

Offline
Posts: 41
Joined: Tue Mar 27, 2012 4:25 pm

Post by CleriC »

Подскажите пожалуйста.
Давно не обновлял АкельПад и плагины, а тут обновил с версии 4.8.6 до 4.8.9 и плагин Coder с 12.2 до 13.6.
При загрузке программы возникает ошибка:
http://s52.radikal.ru/i138/1407/1b/5c70bc7d16e2.png
Видимо, надо что-то поправить в файле \AkelPad\AkelFiles\Plugs\Coder\txt.coder
Но что? Из текста ошибки не понятно.

Offline
Posts: 173
Joined: Mon Dec 06, 2010 9:53 am
Location: г.Харьков, Русь

Post by San_dr »

и не только в txt.coder, - во всех кодерах была несколько изменена структура - добавлены новые секции, переменные. Конкретно уже не помню, рекомендую с Руборда скачать любую современную сборку AkelPad http://forum.ru-board.com/topic.cgi?for ... pic=4764#1 и открыв в акельпаде, например txt.coder старый и новый посравнивать секции (удобно с Coder::CodeFold - т.е. включив и развернув список секций)
Locked