I'm helping Scott with the Gosu language plugin. We are still filling in the details of the PSI tree, but we've got a decent translation between our parsers data structures and the PSI stuff.
What I'm wondering about is how the editor works with the PsiFile. I've created an Annotator to display messages, but I keep getting the original PsiFile that was set up, so even after I fix errors, the error messages keep showing up. I have a feeling this is due to the way that we are constructing the Psi elements, but I was hoping someone could give me a clear explanation of the relationship between the editor and the PsiFile:
* Does the PsiFile manage it's own modifications via a reparse in response to editing?
* Is the PsiFile recreated by IntelliJ and replaced?
Some rough details on where to look or set breakpoints would be very helpful.
Thanks in advanced for your patience while I stumble around the IDE internals...