Ваш код не работает так, как написано, потому что self.replace1
и self.replace2
не являются строками, они являются функциями (методами), а возвращаемое значение из on_query_completions
нуждается в строках.
Если ваше намерениечтобы получить результат методов и использовать их в качестве текста замены, вы должны вызывать их, а не просто ссылаться на них:
import sublime
import sublime_plugin
class MyPlugin(sublime_plugin.EventListener):
def on_query_completions(self, view, prefix, locations):
""" not working, but this is I hoped """
return [
['key1', self.replace1()],
['key2', self.replace2()],
]
def replace1(self):
return 'replace1'
def replace2(self):
return 'replace2'