Discuss and announce AkelPad plugins
Offline
Posts: 382 Joined: Wed Sep 28, 2011 3:05 pm
Post
by Cuprum » Sat Dec 30, 2023 12:21 pm
Задумал сделать подсветку Котлина. Из-за особенностей языка в коде возможны весьма
сложные конструкции .
Более-менее удалось правильно подсветить такой однострочный пример
Code: Select all
val message = "$n is ${if (n > 0) "positive" else if (n < 0) "negative and ${if (n % 2 == 0) "even" else "odd"}" else "zero"}"
с помощью
регулярок регулярок
Code: Select all
QuotesRE:
;================================================================================================================
;Flags Pattern \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=... ParentID RuleID
;================================================================================================================
0 `".*"` "\0=(0,${STR},0)" 0 1
0 `\$\{.*\}` "\0=(0,0,0)" 1 2
0 `"[^"]*(?=\$\{)` "\0=(0,${STR},0)" 1 3
0 `"[^"]*"` "\0=(0,${STR},0)" 1 3
0 `(?<=\})[^"}]*"` "\0=(0,${STR},0)" 1 3
0 `"[^"}]*?(?=\$\{)` "\0=(0,${STR},0)" 2 3
0 `(?<=\})[^"}]*?"` "\0=(0,${STR},0)" 2 3
0 `"[^"}]*?"` "\0=(0,${STR},0)" 2 3
0 `(?<!\\)(\$)([A-Za-z_][A-Za-z_\d]*)` "\1=(0,${OP},0) \2=(0,${HighLight_BasicTextColor},0)" -2
0 `\$(?=\{)` "\0=(0,${OP},0)" -2
.
Результат Результат .
Но ожидаемо из-за жадности поиска кавычек в первом правиле QuotesRE вот такая строка
Code: Select all
(e.message?.let { ": $it" } ?: ""))
сразу ломает
подсветку подсветку .
Код выше еще можно раскрасить последовательно с помощью Quotes, но там тоже будут ложные срабатывания во многих других участках кода.
Есть у кого идеи как сделать такие случаи?
А возможно ли вообще?
Offline
Posts: 165 Joined: Fri Aug 15, 2008 8:58 am
Post
by Diamen » Sat Aug 24, 2024 7:43 pm
Rarely crash, step:
Download and load
this file in editor.
Down with cursor.
When arrive to row 50 crash.
Offline
Posts: 165 Joined: Fri Aug 15, 2008 8:58 am
Post
by Diamen » Thu Sep 19, 2024 6:49 am
Why CodeFold not work in json.coder?
Offline
Site Admin
Posts: 6411 Joined: Thu Jul 06, 2006 7:20 am
Post
by Instructor » Sun Oct 06, 2024 5:05 pm
Diamen wrote: ↑ Sat Aug 24, 2024 7:43 pm Rarely crash, step:
There is 14 lines in "jsonlint.html" file and no crash.
Offline
Posts: 47 Joined: Sat Jul 05, 2008 11:30 am
Location: Odesa, Ukraine
Post
by ewild » Mon Oct 07, 2024 8:48 am
Diamen wrote: ↑ Thu Sep 19, 2024 6:49 am
Why CodeFold not work in json.coder?
Not confirmed. It works as intended.
Instructor wrote: ↑ Sun Oct 06, 2024 5:05 pm
There is 14 lines in "jsonlint.html" file...
There are 56 lines in the file.
It's seen either just by viewing the page source online in the browser or the downloaded file:
Code: Select all
command:
wget --timestamping --no-hsts "https://interno.altervista.org/temp/jsonlint.html"
result:
jsonlint.html, 2024-08-24 22:37:48, 1538 b, md5: e141f932b258184501b32c58f4e4639c
Instructor wrote: ↑ Sun Oct 06, 2024 5:05 pm
... and no crash.
Can confirm that. No crash on jsonlint.html for AkelPad v.4.9.9 64-bit + Coder plugin v.20.4 64-bit.
Offline
Posts: 165 Joined: Fri Aug 15, 2008 8:58 am
Post
by Diamen » Mon Oct 07, 2024 4:06 pm
Diamen wrote: ↑ Sat Aug 24, 2024 7:43 pm
Rarely crash, step:
Download and load
this file in editor.
Down with cursor.
When arrive to row 50 crash.
It crash if I have in AkelPad.ini:
Coder::CodeFold=65536
LineBoard::Main=65536
but if I change font size with ctrl- not crash .
Why not work CodeFold for .json to me?
Offline
Site Admin
Posts: 6411 Joined: Thu Jul 06, 2006 7:20 am
Post
by Instructor » Mon Oct 07, 2024 4:22 pm
Diamen wrote: ↑ Mon Oct 07, 2024 4:06 pm It crash if I have in AkelPad.ini
Can you send to email or share your akelpad folder with problem HTML file?
Offline
Posts: 165 Joined: Fri Aug 15, 2008 8:58 am
Post
by Diamen » Mon Oct 07, 2024 6:27 pm
Diamen wrote: ↑ Sat Aug 24, 2024 7:43 pm
Why not work CodeFold for .json to me?
excuse me, I confuse with XBrackets plugin.
Offline
Posts: 165 Joined: Fri Aug 15, 2008 8:58 am
Post
by Diamen » Mon Oct 07, 2024 6:34 pm
Instructor wrote: ↑ Mon Oct 07, 2024 4:22 pm
Diamen wrote: ↑ Mon Oct 07, 2024 4:06 pm It crash if I have in AkelPad.ini
Can you send to email or share your akelpad folder with problem HTML file?
I changed zooms and I can't reproduce it anymore.
Offline
Posts: 1879 Joined: Mon Aug 06, 2007 1:07 pm
Contact:
Post
by Infocatcher » Thu Nov 14, 2024 6:47 pm
У меня тут спрашивают про подсветку ссылок только при наведении:
https://github.com/Infocatcher/AkelPad_coder/issues/5
То есть чтобы текст ссылки выводился как обычный и подсвечивался только при наведении курсора.
Впрочем, я бы подчеркивание оставил (и сделал бы отдельной настройкой его отключение).
Offline
Site Admin
Posts: 6411 Joined: Thu Jul 06, 2006 7:20 am
Post
by Instructor » Sun Nov 17, 2024 6:16 pm
Infocatcher
Подсветка ссылок приоритетнее чем Folds. Поэтому нельзя, чтобы ссылки зависили от Folds.
Offline
Posts: 1879 Joined: Mon Aug 06, 2007 1:07 pm
Contact:
Post
by Infocatcher » Sun Nov 17, 2024 6:28 pm
Instructor
Так это в процессе поиска приоритет.
А можно найти, запомнить, но не красить, пока не отработает Coder, если тот установлен?
Offline
Site Admin
Posts: 6411 Joined: Thu Jul 06, 2006 7:20 am
Post
by Instructor » Sun Nov 24, 2024 5:05 pm
Infocatcher
Сделать можно, но это смена приоритетов. Данная смена не планируется.
Offline
Posts: 7 Joined: Sat Feb 19, 2011 6:00 pm
Post
by newquaker » Tue Feb 04, 2025 11:19 am
подскажите будьте добры возможно ли указать относительный путь в параметре HighLight_BkImageFile? я указал там файл 1.jpg положив рядом с exe, но он не отображается
Offline
Posts: 286 Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь
Post
by yozhic » Tue Feb 04, 2025 12:07 pm
newquaker
Здесь действуют внутренние переменные AkelPad
В
справке поиском по %a гляньте, все они перечислены.
Ещё пример:
см. картинку см. картинку
Last edited by
yozhic on Thu Feb 06, 2025 9:11 am, edited 1 time in total.