The processing of annotators is usually cancelled as soon as the user made changes, e.g. when the user resumed typing.
Technically, this is achieved by calling ProgressManager.checkCanceled() often enough. It's throwing an exception when the processing should stop.
Our external annotator isn't calling this yet.
To improve editor latency we should call it. Ideally, it should be called for all stages of the external annotator (i.e. in collectInformation, doAnnotate and apply).
I think it's best to first add tests (#115) before making changes for this.
Perhaps also run the IDE with a profiler to find obvious blocking of the EDT?
The processing of annotators is usually cancelled as soon as the user made changes, e.g. when the user resumed typing.
Technically, this is achieved by calling
ProgressManager.checkCanceled()often enough. It's throwing an exception when the processing should stop.Our external annotator isn't calling this yet.
To improve editor latency we should call it. Ideally, it should be called for all stages of the external annotator (i.e. in
collectInformation,doAnnotateandapply).I think it's best to first add tests (#115) before making changes for this.
Perhaps also run the IDE with a profiler to find obvious blocking of the EDT?