Coder plugin (2)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Drugmix
Со световой темой понятно. А что с синтаксической?
Вы не указали какой coder-файл использовался для подсветки.
В принципе можно получить/воспроизвести описываемый "эффект" и даже без включения режима повышенной контрастности если использовать нестандартные coder-файлы.
Например у меня в коллекции есть "txt.coder" Аверина (версии 1.1 от 25.07.2012), который грешит таким свойством и норовит обрабатывать все файлы без расширений (подхватывает все новосоздаваемые файлы за счет включения "" в список обрабатываемых расширений секции [Files:]).
1. Чтобы понять, в этом ли дело, попробуйте принудительно назначить используемую синтаксическую тему из числа стандартных.
2. Если не хотите отказываться от использования сторонних coder-файлов, то попробуйте поставить птичку в настройках плагина (секция "AutoComplete 2") у пункта "Системные цвета в списке".

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

opk44
по поводу 1. - я так и сделал, результат тот же.
2. хаа, спасибо, дело именно в этом оказалось (а вовсе не в контрастном режиме)! У меня в .coder файле не было нового раздела.


С добавлением новой секции в .coder файлы - следует добавить и правило в "Folds:" секцию файла coder.coder:

Code: Select all

;424=8+32+128+256
424	0	0	0	"Folds:"      "CompleteList:"      " 	"
;424=8+32+128+256
424	0	0	0	"CompleteList:"     "Blocks:"             " 	"
А можно пример добавления иконок в AutoComplete окно для 2-ух разных команд? Можно ли это не только на форуме написать, но и куда-то в документацию? Может стоит в Docs\Coder-[Eng|Rus].txt (или в coder.coder) добавить полное описание использования каждой секции с примерами?
Last edited by Drugmix on Thu Oct 09, 2014 8:10 am, edited 3 times in total.

Offline
Posts: 294
Joined: Tue Jul 27, 2010 11:18 pm

Post by Serge Yolkin »

Code: Select all

CompleteList:
2	12	`Courier New`	``	`"%a\AkelFiles\AF.icl",0`	``	`"%a\AkelFiles\AF.icl",1`	``	`"%a\AkelFiles\AF.icl",2`	``	${HighLight_BasicTextColor}	${HighLight_BasicBkColor}	${HighLight_SelTextColor}	${HighLight_SelBkColor}

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

Post by Skif_off »

Serge Yolkin
Разве добавление сразу в coder-файл можно считать универсальным решением?

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Serge Yolkin
аааа, блин, я-то думал оно умеет иконки для отдельных команд вообще выводить, а оно просто для 3-ёх типов сущностей (видимо, разделы "Blocks:", "Words:" и ещё какой-то).
А анимированный gif/apng поддерживает?

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

Post by Skif_off »

Drugmix
AutoComplete_ListBlockIcon - иконка для блоков.
AutoComplete_ListHlBaseIcon - иконка для слов из базы HighLight'а
AutoComplete_ListDocWordIcon - иконка для слов из документа.

Раз работает аналогично ContextMenu, то, вероятно, только dll, ico и icl (сужу по примеру Serge Yolkin).

Offline
Posts: 2
Joined: Thu Sep 20, 2007 7:03 am
Location: Russia

Post by Selya »

Подскажите пожалуйста, как в pascal.coder добавить правило, чтобы подсвечивало целые, вещественные и шестнадцатеричные числа:

Number := 123 + $FF + Trunc(12.3);

Или ссылку дайте, где про это почитать.

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Подскажите, пожалуйста:
для тега [ex] дана такая настройка:

Code: Select all

16389	3	#777777	#DDFFFF	"[ex]"	"[/ex]"	"\"	""	""
для тега [p] дана такая настройка:

Code: Select all

5	3	#008000	#CCFF99	"[p]"	"[/p]"	"\"	""	"[]{}"
Как настроить, чтобы в первом случае подсветка вела себя так же, как во втором случае, только без применения правила «Quote exclude»?
Image

Уточню: чтобы в случае когда в строке несколько одинаковых «Quotes», подсветка реагировала на первое, встречающееся в строке окончание Quote, а не на последнее.
Если такой настройки нет, возможно ли (если сочтёте нужным) её реализовать?
Last edited by yozhic on Thu Oct 30, 2014 4:42 pm, edited 1 time in total.

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

Post by Instructor »

Selya

Code: Select all

QuotesRE:
;==========================================================================
;Flags  Pattern         \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;==========================================================================
0	"(?<=\W)(\$[A-F\d]++|[\.\d]++)\b"  "\0=(0,${NUM},0)"
yozhic

Code: Select all

Quotes:
;======================================================================
;Flags  Font    Color   Color   Quote   Quote   Escape  Quote   Quote
;       style   text    bkgrnd  start   end     char    include exclude
;======================================================================
;16389=1+4+16384
16389	0	0	0	"[ex]"	"[ex]"	"\"	""	""
;16389=1+4+16384
16389	3	#777777	#DDFFFF	"[ex]"	"[/ex]"	"\"	""	""

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Instructor
Спасибо большое. Это и прекрасно, и ужасно. Прекрасно потому, что работает. Ужасно потому, что я бы сам никогда до этого не додумался :)

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Скажите, пожалуйста, это баг или фича?
Есть правило для подсветки диапазона:

Code: Select all

Quotes:
16389	0	0	0	"[c "	"[c"	"\"	""	""
16389	2	#475263	#BADCDC	"[c "	"[/c]"	"\"	""	""
И правило для подсветки слова:

Code: Select all

Words:
1	4	#008B8B	0	darkcyan
Эти правила дают следующий эффект:
Image

Т.е. граница слова не определяется. Если создать правило в другой секции:

Code: Select all

QuotesRE:
1	"\bdarkcyan\b"	\0=(4,#008B8B,0)
То проблема исправляется:
Image

Почему в одном случае определяется граница, а в другом нет? Это фича или баг?

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

Post by Instructor »

yozhic
Исправлено. Будет доступно после релиза 4.9.1.

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

Post by Skif_off »

Что-то непонятное: latex.coder,

Code: Select all

\Alpha\Beta \Gamma
окно автодополнения вылезает только на первой и третьей команде. Так и должно быть?

Добавлено:
Прогон, так и должно быть из-за того, что обратного слэша нет в разделителях, не могу найти решение (с Blocks тоже не прокатывает).

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

Post by Skif_off »

Infocatcher
Для diff.coder:

Code: Select all

Quotes:
;Add for WinMerge
513	0	${IF}	0	"> "	""	""	""	""
513	0	${STR}	0	"< "	""	""	""	""

QuotesRE:
0	"^(,{,1}[0-9]++)++(a|c|d)(,{,1}[0-9]++)++$"	"\1=(0,${OP},0) \2=(0,${DEL1},0) \3=(0,${OP},0)"
, если интересно.

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

Post by Infocatcher »

Skif_off
Ага, спасибо, добавил: https://github.com/Infocatcher/AkelPad_ ... df66bbad28
(переделал разбор номеров строк, только там так просто не видно из-за UTF-16)

Впрочем, тот же WinMerge умеет делать унифицированный патч, он как-то более распространен. :)

Цвета, правда, фиксированные у меня, надо бы все-таки расширить встроенный набор переменных, потому как тут явно должны быть ассоциации с добавлением и удалением.
Locked