I am writing a plugin to support a new language in ReSharper and I found that writing a highlighting daemon stage does not bring the suffice result in syntax highlighting. The thing is that the highlighting created this way disappears for the time the user is typing.
For example, when the user starts changing a string literal node marked with orange ('String') highlighting it turns black for a moment and then again turns back orange. It is acceptable, PSI plugin follows this approach in particular, but I'm still looking for a better solution because I know that syntax highlighting for the languages like C# does not have this flaw.
May be somebody has an idea how it works in C# or how to fix it another way?