所有自定义词法,QScintilla自动完成对蟒蛇
我使用QScintilla的语法高亮和自动完成我的领域特定语言(DSL)。
我通过重新实现(QsciLexerCustom),我尝试使用自动完成写了一个定制词法分析器。 我的问题是,自动完成不像我想要的那样工作。 我想我的自定义词法像QsciLexerPython工作。也就是说,如果我将'toto.titi.tata'添加到api中,那么当我键入'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 ['.']
这并没有回答这个问题,但我已经在QScintilla中为自定义词法分析器实现了自动完成功能,但是我还必须创建一个自定义分析器来查找代码中的类和函数定义。使用SendScintilla(),您可以通过QScintilla轻松使用低级Scintilla api调用来显示自动填充框,但是填充它需要定制解析器。 – code9999
这也可以帮助:http://qscintilla.com/ –