Coder plugin (3)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Re: Coder plugin (3)

Post by AZJIO »

Cuprum wrote: Sat Dec 30, 2023 12:21 pm Задумал сделать подсветку Котлина.
Можете ли дать файл подсветки для проверки?
У вас внутри кавычек подсвечена переменная. То есть получилось что кавычка не закончена. Внутри кавычек как я понимаю текст, а текст не должен быть подсвечен как будто это код. Или текст или код. Кавычка не закрыта, если так задано регулярным выражением, то будет путаница в открывающих и закрывающих кавычках. Жадность регулируется знаком "?", с ним регвыр не жадный, останавливаясь на минимальной длине совпадения.

Для Kotlin содер Java не подойдёт?

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

Re: Coder plugin (3)

Post by Cuprum »

AZJIO wrote: Wed Feb 05, 2025 3:10 am Можете ли дать файл подсветки для проверки?
К сожалению нет, я долго ковырялся с своим кодер-файлом для Котлина, сейчас глянул, там в файле какая-то билиберда :D. Видимо, плюнул на это дело.
Кодер файл от Java не подойдет, хотя концептуально языки близки, синтаксис у Котлина другой, похитрее.

sha
Offline
Posts: 3
Joined: Thu Feb 27, 2025 3:24 am

Re: Coder plugin (3)

Post by sha »

как в "Fold end" отловить подмаску из регекспа в "Fold start"? Ни \1 или $1 не ловят.

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Re: Coder plugin (3)

Post by AZJIO »

как бы это выглядело если бы \1 или $1 работал?

sha
Offline
Posts: 3
Joined: Thu Feb 27, 2025 3:24 am

Re: Coder plugin (3)

Post by sha »

ну вот вижу в каком-то coder-файле в секции Folds: конструкцию

Code: Select all

3145769	0	0	0	"^( *)ifeq"	"^\101endif"	" 	"	0	0
очевидно, что \101 - это подмаска из начального регекспа. Но это не работает. Насколько понимаю, сделать подсветку типа heredoc можно только в секции "Fold:" с флагами допускающими регекспы. "<<<(\w+)$" "^\s*\101" - не работает как и \1 и $1. Это возможно в принципе?

Offline
Posts: 348
Joined: Mon Jun 03, 2019 2:33 am

Re: Coder plugin (3)

Post by AZJIO »

sha
Насколько я понимаю здесь два независимых регулярных выражения, одно для начала, второе для конца. В справке есть пример показывающий что ссылки на группы работают.

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

Re: Coder plugin (3)

Post by Instructor »

AlexeyB wrote: Fri Mar 25, 2022 4:56 pm3. В комментариях к синтаксическим файлам говорится, что в шаблоне конца блока можно использовать обратную ссылку \101 для доступа к значению группы 1 начала блока, \102 - группы 2 и т.д. В секции Folds это не работает:

Code: Select all

;===========================================================================
;Flags  Font    Color   Color   Fold     Fold     Deli    Parent  Rule  Rule
;       style   text    bkgrnd  start    end      miters  ID      ID    file
;===========================================================================
3145728 0       #080    0       "<(\d)"  "\101>"  ""      0       0
Image
sha wrote: Sun Mar 02, 2025 12:37 pmкак в "Fold end" отловить подмаску из регекспа в "Fold start"? Ни \1 или $1 не ловят.
См. Coder v21.0

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

Re: Coder plugin (3)

Post by Instructor »

Добавлено: обратная ссылка для начала блока в конце блока при использовании флага 2097152. Обратная ссылка \101 соответствует \1 в начале блока, \102 соответствует \2 и т. д. (секции "Folds:" и "Skips:").
Исправлено: ошибка при выходе из программы с разделённым окном.

Added: backreference for fold start in fold end when 2097152 flag is used. Backreference \101 matches \1 in fold start, \102 matches \2 and so on ("Folds:" and "Skips:" sections).
Fixed: error when exiting program with a split window.

Coder plugin v21.0
Post Reply