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: 6311
- 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: 1161
- 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: 381
- 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)"
Никак не могу понять, почему?