全部,
我正在使用 QScintilla 来语法高亮并自动完成我的领域特定语言 (DSL)。
我通过重新实现(QsciLexerCustom)编写了一个自定义词法分析器,并且我正在尝试使用自动完成功能。我的问题是自动完成功能不像我想要的那样工作。我希望我的自定义词法分析器像 QsciLexerPython 一样工作。也就是说,如果我在 api 中添加“toto.titi.tata”,当我输入“toto”时。在我的 qscintilla 编辑器中,它建议我使用“titi.tata”。截至目前,它建议我 toto.titi.tata。:(
我试图将“autoCompletionWordSeparators”添加到我的词法分析器中,但它不起作用。如何让我的自定义词法分析器像 QsciLexerPython 一样自动完成工作?非常感谢 !
Lexer = customlexer(self.text)
api = QsciAPIs(Lexer)
api.add('toto.titi.tata')
api.prepare()
Lexer.setAPIs(api)
self.text.setLexer(Lexer)
class lexer(QsciLexerCustom):
def __init__(self, parent):
QsciLexerCustom.__init__(self, parent)
def autoCompletionWordSeparators(self):
return ['.']