Michael,
– When viPlugin is activated it removes the current UndoManager and sets a new DefaultUndoManager (Eclipse is very strict in what it wants to give to plugins, so I had to do that).
That’s likely a problem as the IBM editors have an extensive undo framework that they use. Your change might kill standard undo functionality in the editor as a result.
– viPlugin takes over the caret (thick caret — thin caret switching) for different modes.
Also problematic as the caret is reset when the “changed” event fires.
I’ll try to restore the original caret, when saving and see if that helps :o)
To help you out, here’s the code that’s barfing below.
public void changed(Object element) {
super.changed(element);
// end recording for revert
if (fChangingElements.contains(element)) {
fChangingElements.remove(element);
StructuredTextUndoManager undoMgr = getModel(element).getUndoManager();
undoMgr.endRecording(this, 0, 0);
undoMgr.getTextViewer().getTextWidget().setCaretOffset(0); // line 929 from the stacktrace
}
}
Another question: I’ve seen that you (as company) are certifying plugins that work well with MyEclipseIDE. Is such a certificate possible for viPlugin, or is this too far fetched?
It’s not far-fetched, but in light of the amount of time we spend enhancing the portal and MyEclipse itself, we (as a company) haven’t actively pursued the certification thing. We just haven’t had time. 🙂