Page 91 of 101

Posted: Wed Aug 08, 2012 11:42 am
by F. Phoenix
Как-нибудь можно в синтакс-файле прописать, чтоб двойные кавычки внутри строки расценивались как простой символ? Если, например, хочется, чтоб в C# строки с префиксом @ подсвечивались иначе, чем без оного.

Если прописываю кавычки как эскейп-символ внутри строк, начинающихся и кончающихся ими же, то Акел как-то неадекватно сие воспринимает, а если оставляю пустым, то двойные кавычки интерпретируются как конец одной строки и начало другой, т.е. нужный цвет слетает.

PS: Какую функцию в секции Quotes несут include/exclude я вообще не понял.

Posted: Thu Aug 09, 2012 6:36 pm
by Instructor
F. Phoenix
Конкретный пример?

Posted: Thu Aug 09, 2012 7:13 pm
by F. Phoenix
В шарпе префикс @ перед строкой отключает обработку \ как эскейп-символа, но символ кавычек в строке можно использовать, набирая его дважды.
Например, команду запуска c:\my_folder\my_program.exe --open-file="d:\my_file.txt" \k можно прописать так:

Code: Select all

var command = @"c:\my_folder\my_program.exe --open-file=""d:\my_file.txt"" \k";
ну и вот, а как в синтакс-файле такое поведение прописать, чтоб воспринимал сие как одну строку, а не 3?

Posted: Sat Aug 11, 2012 2:40 pm
by Instructor
F. Phoenix
Сейчас только тремя строками.

Posted: Thu Aug 16, 2012 9:56 am
by 230116885
Может ли плагин так:
Image

Posted: Thu Aug 16, 2012 2:52 pm
by Instructor
230116885
Можно использовать вертикальную линию каретки:

Image

Posted: Thu Aug 16, 2012 3:42 pm
by FeyFre
Ух ты! (с)
Раз уж Вы там код правите, то можно сразу же попросить: в AEN_PAINT добавить нотификацию после отрисовки линии? Я хочу в SpellCheck заиспользовать, но мне нужно именно после.

Posted: Thu Aug 16, 2012 4:05 pm
by Instructor
FeyFre
Не вижу практического смысла. Приходящее AEN_PAINT с AEPNT_DRAWLINE несет в AENPAINT все необходимые данные. Т.е., когда приходит AEN_PAINT с AEPNT_DRAWLINE, AENPAINT.hDC уже содержит строку, нарисованную редактором, и получатель может нарисовать в AENPAINT.hDC что-либо дополнительно.

Posted: Thu Aug 16, 2012 4:23 pm
by FeyFre
Instructor, пересмотрел - понял, это я стормозил. Переменная bUseBufferDC совсем мешает пониманию(если её FALSE то нотификация вообще не придет. Я так понимаю - буферизированное рисование. И только с ним нотификация придет - не порядок. С другой стороны буферизация в коде не отключается вообще - тогда зачем тот флаг. Потому я и спутал "копирование из буфера на окно" с действительным рисованием.)
Индекс первого символа линии которую перерисовывает тоже несет? А то я что-то в том коде теряюсь. А что на местах индексов в свёрнутой линии?
И да, очень бы не помешало что-бы регион был выставлен на границы линии. Или лучше самому ставить?

Posted: Thu Aug 16, 2012 8:04 pm
by se7h
Instructor wrote:230116885
Можно использовать вертикальную линию каретки:

Image
и всё-таки упомянутая
Image
удобней, ведь одновременно видны границы всех скобок кода

Posted: Fri Aug 17, 2012 9:25 am
by VladSh
230116885, se7h
Поддерживаю.
Может кто-то помнит, как быстро включить/выключить вертикальный маркер?

Posted: Fri Aug 17, 2012 10:17 am
by 230116885
Instructor
Это не совсем то. В Notepad++ реализовано. Ещё подкрашивание опциональное удобная штука очень.
Image

Posted: Sun Aug 19, 2012 2:44 pm
by Lenchik
Coder 10.0 не "переваривает" новую группу параметров bkImage.

И хотелось бы примеров использования регулярных выражений в подсветке синтаксиса. Или может кто-то из сведущих переведет для начала, как это работает:

Code: Select all

QuotesRE:
;=========================================================================================
;Flags  Pattern                        \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;=========================================================================================
;0	`(")([^"\\]*(\\.[^"\\]*)*)(")` `\1=(0,${DEL1},0) \2=(3,${STR},0) \4=(0,${DEL1},0)`
Потенциальные возможности заманчвы - перенос подсветок из систем подсветки на регулярных выражениях.

Posted: Sun Aug 19, 2012 3:42 pm
by Instructor
Lenchik wrote:Coder 10.0 не "переваривает" новую группу параметров bkImage.
Если указывается файл напрямую в .coder файле, то он должен заключатся в кавычки, т.к. это строка, а не число.

Posted: Sun Aug 19, 2012 4:01 pm
by Instructor
Изменено: игнорирование стиля шрифта теперь имеет три переключателя (Coder::Settings).
Добавлено: секция "QuotesRE:" в .coder файлы - возможность использовать регулярные выражения для диапазонов (Coder::HighLight).
Добавлено: секция "BkImage:" в .coder файлы и переменные "HighLight_BkImageFile", "HighLight_BkImageAlpha" для указания фоновой картинки, а также значения прозрачности выделения (Coder::HighLight).
Добавлено: найти выделенное слово в заголовке корневого блока (F12). Может быть использовано для поиска определения функции (Coder::CodeFold).

Changed: font style ignoring setting now has three switches (Coder :: Settings).
Added: section "QuotesRE:" in .coder files - ability to use regular expressions for quotes (Coder::HighLight).
Added: section "BkImage:" in .coder files and variables "HighLight_BkImageFile", "HighLight_BkImageAlpha" to specify the background image, and also the selection transparency value (Coder::HighLight).
Added: find selected word in the title of the root block (F12). It can be used to find the function definition (Coder::CodeFold).


Coder plugin v10.0