所有自定義詞法,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/ –