PyDev Jython スクリプトで変更されたテキストの通知を登録するにはどうすればよいですか?
エディターでテキストを分析し、特定の状況下でテキストにコメントを追加する PyDev 用の Jython スクリプトを作成したいと思います。ユーザーが何かを入力するたびに、分析を再度実行する必要があります。
PyDev での Jython スクリプトの概要を読み、スクリプトの例を見ましたが、それらはすべてコマンド キーからトリガーされるようです。PyEdit クラスを調べたところ、IPyEditListener3 の onInputChanged イベントに登録する必要があるようです。
以下のスクリプトを試しましたが、イベント ハンドラが呼び出されないようです。私は何を取りこぼしたか?
if False:
from org.python.pydev.editor import PyEdit #@UnresolvedImport
cmd = 'command string'
editor = PyEdit
#-------------- REQUIRED LOCALS
#interface: String indicating which command will be executed
assert cmd is not None
#interface: PyEdit object: this is the actual editor that we will act upon
assert editor is not None
print 'command is:', cmd, ' file is:', editor.getEditorFile().getName()
if cmd == 'onCreateActions':
from org.python.pydev.editor import IPyEditListener #@UnresolvedImport
from org.python.pydev.editor import IPyEditListener3 #@UnresolvedImport
class PyEditListener(IPyEditListener, IPyEditListener3):
def onInputChanged(self,
edit,
oldInput,
newInput,
monitor):
print 'onInputChanged'
try:
editor.addPyeditListener(PyEditListener())
except Exception, ex:
print ex
print 'finished.'