Coder plugin (2)

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

Post by YuS »

Cuprum wrote: Только opacity там не нужно - нет одноименного значения свойства.
У меня тут есть файлик стиля, так вот там на глаза попадались такие строки:

Code: Select all

.scale-out {
	-webkit-transition-property: opacity, -webkit-transform;
	-webkit-transition-timing-function: ease-out;
	-webkit-transition-delay: 0s;
	-webkit-transition-duration: 1s;
	-webkit-transform: scale(1.5);
	opacity: 0;
}
было ещё что-то, но уже не стал проверять и переделывать всё подряд. Думаю, кто часто пользуется, тот уже добавит то, что необходимо, статистика использования быстрее накопится...

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

Post by Lenchik »

Может быть зальете результат ваших текущих стараний на гитхаб, например, чтобы часто пользующиеся могли где-то в одном месте добавлять и следить за обновлениями?

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

Post by YuS »

Lenchik wrote:Может быть зальете результат ваших текущих стараний на гитхаб, например, чтобы часто пользующиеся могли где-то в одном месте добавлять и следить за обновлениями?
Так ради бога, залейте и правьте как угодно, строчка регэкспа выше опубликована, туда только слова добавлять в перечисление. Гарантирую, что авторских прав на неё предъявлять не буду :)
Сам я стилями не занимаюсь, так что вряд ли буду править.

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

Post by Cuprum »

YuS
С "transition-property" загвоздка. Это свойство определяет к какому CSS-свойству применяется переход, т. о. после двоеточия может идти любое слово:

Code: Select all

div {
	transition-property: opacity, font-size, height /* и др. */;
}
Тут вариант через регэексп не катит, иначе в список придется вносить все свойства. Видимо, надо в сам механизм подсветки внести какие-то изменения. Может Instructor сделает...

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

Post by YuS »

Cuprum wrote: Тут вариант через регэексп не катит, иначе в список придется вносить все свойства.
Не совсем понял, что именно не катит? После двоеточия может быть прописано что угодно везде или только в конкретном свойстве элемента? Тут тогда принципиально надо решить, будут ли они подсвечиваться особым цветом или нет. В общем, упорядоченность какая-то нужна... а регэкспом можно сделать многое, в том числе и учесть ситуацию с конкретным свойством, типа:

Code: Select all

transition-property:
да и любым другим тоже.

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

Post by Lenchik »

YuS
Так хочется готовенькое кинуть себе в папку и пользоваться. А уже потом, если очень прижмет, разбираться, куда что скопированное вставлять и как править.

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

Post by YuS »

Lenchik wrote:YuS
Так хочется готовенькое кинуть себе в папку и пользоваться.
Так, чтобы взять что-то готовенькое, надо сначала сделать это готовенькое...
За ненадобностью лично мне, делать это не хочется.
А вот если кто-то заинтересованный возьмется и будет что-то делать, то могу помочь... чем смогу, по мере сил и возможностей.

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

Post by Lenchik »

Я вёл к тому, что если Cuprum обновляет для себя css.coder, то, может быть, он поделится результатом.

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

Post by Instructor »

Wio wrote:Многострочный вариант не определяется Coder-ом:

Code: Select all

var Foo = "It is too fine a day to " + Smth + ".";

var Bar = "It is too \
	fine a day to " + Smth + ".";
Для многострочности "закавыченного" добавляем в синтаксический файл (Coder::CodeFold должен быть включен):

Code: Select all

Folds:
;==============================================================
;Flags  Font    Color   Color   Fold       Fold      Delimiters
;       style   text    bkgrnd  start      end
;==============================================================
;213505=1+512+16384+65536+131072
213505	3	${STR}	0	`"`       `"`        ""

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

Post by Cuprum »

YuS
Ладно, про transition-property пока отложим ). Посмотрел несколько других редакторов, там тоже для значений этого свойства нет подсветки.
Lenchik
Нет, я просто пытаюсь сделать подсветку CSS более удобной. При обновлении плагина все равно изменения затираются. Надо будет собрать все обсуждаемые дополнения в кучу и предложить Instructor-у внести изменения в css.coder.

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

Post by YuS »

Cuprum wrote:YuS
Ладно, про transition-property пока отложим ). Посмотрел несколько других редакторов, там тоже для значений этого свойства нет подсветки.
Lenchik
Нет, я просто пытаюсь сделать подсветку CSS более удобной.
А чего откладывать? Вот начало (css.coder), от чего можно оттолкнуться.
Тестировался только на тех файлах стилей, которые имелись у меня... полного соответствия правилам CSS, естественно, не гарантировано.

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

Post by Cuprum »

YuS
Глянул, начало есть, но давайте определимся, что подсвечивать. Я бы подсвечивал:
1. Классы
2. ID
3. Свойства с вендорными префиксами. (Например, у вас в префиксы внесен только -webkit, но есть еще -moz для Firefox, -ms для IE и тд.) В принципе, для всех префиксных свойств даже лучше установить другой цвет, отличный от свойств без префикса.
4. Решетку в соответствии с цветом в Hex-нотации (это уже есть).
Насчет отделения цветом цифр и единиц измерения (30px, 50rem), а также отрицательных чисел что-то не уверен. Позднее еще посмотрю какие новые свойства не внесены в список ;Properties.

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

Post by YuS »

Cuprum wrote:YuS
Глянул, начало есть, но давайте определимся, что подсвечивать.
Так предлагайте, ведь есть инструмент (зачем напрягать разработчика на второстепенные задачи?), мы сами можем сделать подсветку. Но ввиду неполного знания и отсутствия тестовых стилей... сам я, увы, не в силах.
Cuprum wrote: Я бы подсвечивал:
1. Классы
2. ID
Вот эти пункты - не то, что неуверен, а несогласен, ибо ID и class, по-моему не стандартизированы, т.е. это практически всё, что взбредёт в голову сайтостроителю... слишком много, однако. :)
Cuprum wrote: 3. Свойства с вендорными префиксами. (Например, у вас в префиксы внесен только -webkit, но есть еще -moz для Firefox, -ms для IE и тд.) В принципе, для всех префиксных свойств даже лучше установить другой цвет, отличный от свойств без префикса.
4. Решетку в соответствии с цветом в Hex-нотации (это уже есть).
Насчет отделения цветом цифр и единиц измерения (30px, 50rem), а также отрицательных чисел что-то не уверен. Позднее еще посмотрю какие новые свойства не внесены в список ;Properties.
Тут бы тестовых массивов несколько с возможными вариантами... было бы проще гораздо. А на счет отделенных единиц - имхо, по-моему наглядно.
Кстати, не все варианты с префиксными свойствами возможны, в них проблемно заниматься цветовыделением, но тут можно вполне обойтись тем, как сделано сейчас. В принципе, можно, конечно, ещё поломать голову, но что-то мне подсказывает - просто не будет. :)

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

Post by Lenchik »

Классы и ID наверное регулярными выражениями.
.имя_класса_любое_допустимое
class="имя_класса_любое_допустимое1 имя_класса_любое_допустимое2 имя_класса_любое_допустимоеN"
class=имя_класса_любое_допустимое

#ID_любой_допустиммый
id="ID_любой_допустимое"
id=ID_любой_допустимое

Не знаю, отрабатывают ли браузеры ситуации, когда с одной стороны есть кавычки, а с другой нет.
Думаю, полезным будет описание стандартных правил/парсеров:
http://mathiasbynens.be/notes/html5-id-class
http://www.w3.org/TR/CSS21/grammar.html#scanner
http://www.w3.org/TR/css-syntax-3/#rule-defs
http://stackoverflow.com/questions/1380 ... alid-class
http://stackoverflow.com/questions/4489 ... -selectors
http://stackoverflow.com/questions/1014 ... a-valid-id
http://stackoverflow.com/questions/7057 ... te-in-html

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

Post by YuS »

Lenchik wrote:Классы и ID наверное регулярными выражениями.
Угу, регулярными... только выходит из этого, либо вся строка одного цвета, либо неполная раскраска, потому что описать регуляркой, например, такую запись:

Code: Select all

.user-panel[userState="offline"] .user-avatar .icon,
.user-panel[userState="loggingIn"] .user-avatar .icon,
.user-panel[userState="loginError"] .user-avatar .icon {
	foreground-image-transformation: colorize(#333);
}
так, чтобы можно было раскрасить кодером, сложно (если вообще возможно). Кроме того, даже если попытаться сделать шаблон типа такой конструкции "(([^\n\w\{\}]*?)([^\n\{\W]*?))+(\W*?)\s*(?=\{)", то раскраска не будет работать, а если попытаться продублировать выделенную жирным часть шаблона несколько раз, то получаем дикие тормоза и полную загрузку процессора на сравнительно небольших файлах, всё с той же неполной раскраской. В общем, проще оставить эту часть не подсвеченной, ибо вариативность там большая, лучше раскрасить что-либо более-менее стабильное и группируемое.
Locked