Это не плагин. Есть такая бесплатная программа RenPy для создание визуальных новелл. Вся игра пишется в редакторе на питоне + свои функции, методы и классы. Меня не устраивают идущие в комплекте редакторы кода. Хочу внедрить Cudatext. Уже сделал лексер, некоторые примеры кода закинул в сниппеты, написал плагин для обрамления выделенного текста в часто используемые тэги и повесил их на кнопки. И теперь не знаю, как лучше писать функции.
Встроенное автодополнение не очень устраивает. Оно удобно для небольших функций. Например, не хватает табстопов или хотя бы первоначальной установки курсора в нужное место. Но при этом оно нагляднее, чем сниппеты. Сразу можно понять тип записи+подсказку прочитать.
Сейчас у меня функции, где не нужны табстопы "загнаны" в автодополнение, а где много параметров - в сниппеты. Это не слишком удобно. Приходится, то ctrl-enter жать, то на tab.
В идеале мне хотелось бы в сниппетах иметь большие фрагменты кода, напр., код какой-нибудь функции, чтобы можно было легко из проекта в проект её переносить, а в автодополнении уже саму функцию с возможностью подстановки параметров.
Вот и решил разобраться с complete_alt. Возможно, что-то получится. Но пока не очень...
Делаю так:
Code: Select all
def on_complete(self, ed_self):
txt = 'sample1\tTest\tFirst file\nsample2\tTest\tSecond'
ed.complete_alt(txt,'sam',3,selected=0)
return True
В результате по ctrl-enter появляется окно с двумя строками, но при нажатии на любую из строк ничего не вставляется.