Page 1 of 1

Проблема с собственным лексером

Posted: 09.09.2021 11:20
by Alex842
Всем привет!

Есть такая программа для создания визуальных новел - RenPy. Она бесплатная и популярная для разработки новел.
Несколько лет назад я увлекся этим делом (разработкой визуальных новел), начал осваивать данную программу. Написание кода в ней ведется в сторонних редакторах. При установке программа уже предлагает несколько на выбор. Но ни один меня не устроил. На тот момент я уже давно работал в CudaText и решил "прикрутить" его к RenPy. Изучил документацию, написал новый лексер, автодополнение, подсветку синтаксиса, тему... Все работало замечательно.
Затем я на пару лет забросил все это. Сейчас решил вернуться. Но для начала обновил CudaText до новой версии и... столкнулся с проблемой.
В версии 1.90.1 в дереве кода все отображается хорошо. Все ключевые слова, которые я задал в лексере, определяются как надо, и по ним дерево строится нормально.
А в новой версии все сломалось (см. скриншоты).

Во вложении скриншоты и архив с лексером и примером файла RenPy (Python со своими плюшками).

Ссылка на сброку Cudatext (1.90.1), настроенную под работу с RenPy. В ней все работает хорошо.
https://cloud.mail.ru/public/sFQT%2FEPNc8SZQG

Posted: 09.09.2021 13:48
by main Alexey
Это потому что после 1.90 код для indent-based folding поменялся!

1.105.5 (2020/06)

+ add: option "lexer_folding_max_lines" - when document has too many lines, parser doesn't find fold-blocks
+ add: reworked parser code which handles indentation-based folding (e.g. in Python); reworked lexer Python for this; all lexers in add-ons which use indentation-based folding will be reworked soon

для старого лексера новый код не Окей. надо обновить лексер. или еще раз сделать "свой лекс" на базе нового Питон лекса.
SynWrite тоже обновился - чтобы поддержать новую систему фолдов. соответственно правьте ваш лексер В НОВОМ synwrite. когда в новом заработает - все окей.

Posted: 09.09.2021 13:50
by main Alexey
я советую сделать "ваш вариант" еще раз уже на новом моем Питон лексе. если будет трудно, помогу, присылайте ваш лексер на support(at)uvviewsoft.com

Posted: 09.09.2021 15:03
by Alex842
Спасибо за подсказку и предложение помощи. Сначала попробую сам разобраться.