Re: Coder plugin (3)
Posted: Sat Dec 30, 2023 12:21 pm
Задумал сделать подсветку Котлина. Из-за особенностей языка в коде возможны весьма сложные конструкции.
Более-менее удалось правильно подсветить такой однострочный пример
с помощью .
.
Но ожидаемо из-за жадности поиска кавычек в первом правиле QuotesRE вот такая строка
сразу ломает .
Код выше еще можно раскрасить последовательно с помощью Quotes, но там тоже будут ложные срабатывания во многих других участках кода.
Есть у кого идеи как сделать такие случаи? А возможно ли вообще?
Более-менее удалось правильно подсветить такой однострочный пример
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"}".
Но ожидаемо из-за жадности поиска кавычек в первом правиле QuotesRE вот такая строка
Code: Select all
(e.message?.let { ": $it" } ?: ""))Код выше еще можно раскрасить последовательно с помощью Quotes, но там тоже будут ложные срабатывания во многих других участках кода.
Есть у кого идеи как сделать такие случаи? А возможно ли вообще?

