Page 55 of 99

Posted: Sun Jul 27, 2014 7:29 pm
by Skif_off
Cuprum wrote:и что означают вот такие подсчеты

Code: Select all

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

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

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

Posted: Mon Jul 28, 2014 9:41 am
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
и т.д.
вот эти цифры, представленные в десятичном виде и суммируются.

Posted: Mon Jul 28, 2014 9:46 am
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 их не запоминает...

Posted: Mon Jul 28, 2014 9:55 am
by Skif_off
Infocatcher
Так с самого начала фичи, ЕМНИП. С Sessions тоже.

Posted: Mon Jul 28, 2014 10:09 am
by Cuprum
YuS
Есть замечательный скрипт jsBeautifier.js
Ага, знаю про него. Полезный )
Какие именно или все? Пример бы строки посмотреть...

Раньше было

Image

Теперь -

Image

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

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

Posted: Mon Jul 28, 2014 2:25 pm
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:")" ?
Именно так.

Posted: Mon Jul 28, 2014 2:56 pm
by Lenchik
А уникальность в виде нахождения внутри {} или вне {} не ловится потому что есть многострочные варианты записи, а регулярки в кодере однострочные?

Posted: Mon Jul 28, 2014 6:17 pm
by Cuprum
YuS wrote: чтобы не разрастался список в третьей по счету регулярке. В общем, чтобы вернуть как было, надо закомментировать последнюю в списке регулярку.
Вот только если строку

Code: Select all

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

css.coder.

Posted: Mon Jul 28, 2014 7:04 pm
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 Забыл про однострочный вариант записи стиля... поправлена регулярка

Posted: Mon Jul 28, 2014 9:10 pm
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:Ведь то, что ";" - как раз, признак уникальности нахождения внутри {}, было очевидно, но как-то глаз замылился.
Единственное или последнее свойство внутри может не завершаться ;, насколько я понимаю. И может быть и многострочным и однострочным.

Posted: Mon Jul 28, 2014 10:18 pm
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:Ведь то, что ";" - как раз, признак уникальности нахождения внутри {}, было очевидно, но как-то глаз замылился.
Единственное или последнее свойство внутри может не завершаться ;, насколько я понимаю. И может быть и многострочным и однострочным.
Это да, судя по этому описанию. Но при имеющихся инструментах кодера, других вариантов определения уникальности не вижу пока, т.е. тогда последнюю регулярку просто исключаем и используем список параметров... ну, или будем надеяться на то, что стилеписатели не будут выбиваться из общего синтаксиса, даже в случае единственного свойства (что, собственно, в имеющихся в наличии файлов стилей и наблюдается). Многострочные блоки тоже могут, конечно, присутствовать в любом варианте, в том числе и с неупорядоченными свойствами по строкам, т.к. перевод строки не является разделителем. Тут, наверное, придется тоже надеяться на благоразумие, которое пока также присутствует во всех имеющихся в наличии вариантах файлов...

Posted: Tue Jul 29, 2014 5:59 am
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
Но что? Из текста ошибки не понятно.

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