Coder plugin (2)
- Author
 - Message
 
- 
				
								Offline
 - Posts: 30
 - Joined: Sat Nov 26, 2011 1:52 pm
 
Нет, рано я радовался… Щас перепроверил на нескольких схемах, чё-то нифига эта "волшебная" формула с "Xor" не работает. Например:
			
			
									
																
						Code: Select all
-------------------------------------------------
 [1]    :    [2]   :    [3]     :   [4]
-------------------------------------------------
Тема    :  Задано  :  Показано  :  FFFFFF Xor [2]
-------------------------------------------------
Bespin  :  FFFF00  :  0000FF    :  0000FF
Cobalt  :  656565  :  9AB8DA    :  9A9A9A
Monokai :  8F908A  :  574757    :  706F75
Twilight:  868686  :  6D6D6D    :  797979
Zenburn :  5D666E  :  9DA6AE    :  A29991
-------------------------------------------------
Обозначения (номера) колонок
[1] название темы
[2] цвет, заданный в настройках для "HighLight_ColumnColor"
[3] цвет, показываемый на экране РЕАЛЬНО
[4] "волшебная" формула: FFFFFF Xor [2]
В итоге мы видим, что значения в колонках [3] и [4]
совпадают только у схемы Bespin, а у остальных они
разнятся, т.о. "волшебная" формула не работает :(- 
				
								Offline
 - Site Admin
 - Posts: 6412
 - Joined: Thu Jul 06, 2006 7:20 am
 
Включите и увидите:Egor wrote:... а что такое "зебра"?
Главное меню -> Настройки -> Параметры... -> Редактор 1 -> Зебра
Пропуск = 2
Заливка = 2
Если используется "не захватывать", то начало/конец диапазона также проходят через обработку остальными правилами.Egor wrote:Про 32/64 я вроде понял: это чтобы сами кавычки не подсвечивались? А что тогда такое 128/256 (don't catch) — в чём отличие от 32/64?Code: Select all
32 don't highlight quote start 64 don't highlight quote end 128 don't catch and don't highlight quote start 256 don't catch and don't highlight quote end
Кэш - это файл "{AkelPad}\AkelFiles\Plugs\Coder\cache". Дает данные плагину: какие файлы *.coder за какие расширения отвечают, без необходимости загрузки этих файлов, т.е. ускоряет инициализацию плагина.Egor wrote:Да, еще хотел спросить: там в настройках Coder'a есть опция "кэш: использовать/не использовать" — зачем он нужен, этот кэш, и что он даёт?
Если вам надо цвет #0000FF, то указываете цвет #0000FF. Ничего мудрить не надо. Активная строка имеет не сплошной цвет, а её отрисовка организуется через смешивание при наложении цветов. Если нужны подробности см. в исходниках функцию AE_ActiveColumnDraw в AkelEdit.c.Egor wrote:То есть если я хочу получить на экране для HighLight_ColumnColor, например, цвет #0000FF, то в окне настроек мне надо прописать цвет #FFFF00...
Для удобства.Egor wrote:в окне настройки цветов цветовой темы переменные в списке можно двигать вверх-вниз (клик правой кнопкой мыши > Переместить вверх/Переместить вниз), — на что влияет порядок переменных в этом списке, или это просто для удобства?
- 
				
								Offline
 - Posts: 30
 - Joined: Sat Nov 26, 2011 1:52 pm
 
Исходники мне все равно ни о чём не скажут, ибо C я не знаю.Instructor wrote:Если вам надо цвет #0000FF, то указываете цвет #0000FF. Ничего мудрить не надо. Активная строка имеет не сплошной цвет, а её отрисовка организуется через смешивание при наложении цветов. Если нужны подробности см. в исходниках функцию AE_ActiveColumnDraw в AkelEdit.c.

То, что вертикальная линия рисуется пунктиром это я понял (на картинке это видно). Пример взят из темы "Twilight". В окне настроек цветов HighLight_ColumnColor = #868686, Теперь я беру цвет с экрана колор-пикером (я использую ColorCop). На картинке видно, что цвет пунктира #6D6D6D. Так вот, объясните мне просто и тупо: как мне узнать цвет, который надо задать в окне настроек, чтобы получить ЖЕЛАЕМЫЙ цвет "квадратика" в пунктире. И я не понимаю, как можно обойтись без "мудрежа", если воочию видно, что реальный цвет "квадратика" не равен заданному в настройках цвету. Или я что-то не так понимаю?
- 
				
								Offline
 - Posts: 3
 - Joined: Sun Apr 27, 2014 10:53 am
 
I found a bug in Coder::HighLight.
In C++,
everything above incorrectly gets highlighted as a comment.
			
			
									
																
						In C++,
Code: Select all
/* test
// comment */ Not a comment!
- 
				
								Offline
 - Posts: 30
 - Joined: Sat Nov 26, 2011 1:52 pm
 
Я попробовал, да, вот теперь всё правильно, вертикальная линия показывается тем же цветом, каким указано в настройках значение переменной HighLight_ColumnColor.Instructor wrote:Egor
Тестовая версия
- 
				
								Offline
 - Posts: 1162
 - Joined: Sun Oct 20, 2013 11:44 am
 
Starg
It's not a bug, it's nuance
For example: in \AkelFiles\Plugs\Coder\cpp.coder replace
by
in section Quotes.
But needs to be clarified: such a rule doesn't create any problems?
Or
? Just in case?
			
			
									
																
						It's not a bug, it's nuance
For example: in \AkelFiles\Plugs\Coder\cpp.coder replace
Code: Select all
1	3	${COMM}	0	"//"	""	":"	""	""Code: Select all
1	3	${COMM}	0	"//"	"*/"	""	""	""
1	3	${COMM}	0	"//"	""	":"	""	""But needs to be clarified: such a rule doesn't create any problems?
Or
Code: Select all
;513=1+512
513	3	${COMM}	0	"//"	"*/"	""	""	""
1	3	${COMM}	0	"//"	""	":"	""	""- 
				
								Offline
 - Posts: 3
 - Joined: Sun Apr 27, 2014 10:53 am
 
Skif_off
Thank you. It works correctly.
And I have one more question about highlighting raw string literal.
Single-line raw string literals can be easily highlighted by QuotesRE, but how do I highlight multi-line raw string literals?
			
			
									
																
						Thank you. It works correctly.
And I have one more question about highlighting raw string literal.
Single-line raw string literals can be easily highlighted by QuotesRE, but how do I highlight multi-line raw string literals?
Code: Select all
const char* str = R"foo(
"Hello"
World!
)foo"; 
- 
				
								Offline
 - Posts: 267
 - Joined: Mon Mar 12, 2007 3:45 pm
 
Включено: "Добавлять словами из документа".
Введено: Автоматический список — Показывать после — N символов.
Если в coder-файле в секции Words есть слово, состоящее из N букв (например, «is» «or» «on», а в настройках "Показывать после — 2 символов"), а в тексте есть слово начинающееся на эти N буквы (например «isNull»), то после ввода этих N букв («is») — вообще не показывается AutoComplete-список. А должен бы показать «is* isNull+».
Стоит внести в coder-файл слово, например, «iss» и обновить кэш — как начинают показываться «is* iss* isNull+».
P.S.
Для «if» нормально показывается, судя по всему, потому что им (if'ом) заполнена секция «Folds:»..
			
			
									
																
						Введено: Автоматический список — Показывать после — N символов.
Если в coder-файле в секции Words есть слово, состоящее из N букв (например, «is» «or» «on», а в настройках "Показывать после — 2 символов"), а в тексте есть слово начинающееся на эти N буквы (например «isNull»), то после ввода этих N букв («is») — вообще не показывается AutoComplete-список. А должен бы показать «is* isNull+».
Стоит внести в coder-файл слово, например, «iss» и обновить кэш — как начинают показываться «is* iss* isNull+».
P.S.
Для «if» нормально показывается, судя по всему, потому что им (if'ом) заполнена секция «Folds:»..
- 
				
								Offline
 - Posts: 382
 - Joined: Wed Sep 28, 2011 3:05 pm
 
Ребята, а кто пояснит вот такое поведение. Есть css.coder. В нем такие правила QuotesRE:
Первое подсвечивает идентификаторы, второе подсвечивает решетку указанным цветом внутри background или background-color; третье нужно, чтобы не подсвечивать таким же цветом как у идентификатора цвет, когда в нем не 3 или 6 символов (в процессе печати).
При таких правилах, когда, допустим, напечатано только 4 символа, цвет все равно подсвечивается
Но стоить третье правило записать без \b на конце
подсветка цветом идентификатора 
Никак не могу понять, почему?
			
			
									
																
						Code: Select all
0   "(#(?!\d|--|-\d)(\w|-)+)\b"  "\1=(0,${VAR},0)"
0   "\:.*(#)([A-F\d]{6}|[A-F\d]{3})\b"  "\1=(0,0,\2)"
0   "\:.*(#)([A-F\d]{1,2}|[A-F\d]{4,5})\b"  "\1=(0,0,0)"При таких правилах, когда, допустим, напечатано только 4 символа, цвет все равно подсвечивается
Но стоить третье правило записать без \b на конце
Code: Select all
0   "\:.*(#)([A-F\d]{1,2}|[A-F\d]{4,5})"  "\1=(0,0,0)"Никак не могу понять, почему?

