I have my LineMarkerProvider implementation and it works well for small files. But I noticed that when line marker computations take time no marker is displayed. My markers do not appear, even though I return some from getLineMarkerInfo() calls.
Also, I don't quite get collectSlowLineMarkers expected semantics. If I abandon getLineMarkerInfo() and do the stuff in collectSlowLineMarkers, my markers just blink and dissaper on editing text.
The question is - how I deal with LineMarkerProvider methods? Examples don't help, some have only first, some only second, some have both methods implemented. As far as I understand they need not be consistent, i.e. I can add line marker for some elements inside collectSlow.. and not return for same PsiElements in getLineMarkerInfo call, and vice versa.