全て、
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 ['.']