I'm trying to integrate Parinfer (http://shaunlebron.github.io/parinfer/) into my plugin. Basically I have to update the document for an editor with a transformation of the original text based on document updates. I'm using a document listener for this, but I can't find a way to figure out if the change is as a result of user action in an editor or not. Is there a way to do this? What I need is the caret position for the editor which provoked the change, if any. I can maintain a list of all editors open on a document and modify the algorithm to take all carets into account, but I thought I'd check if there was a better way to do this first.