tomtom / quickfixsigns_vim

Mark quickfix & location list items with signs
http://www.vim.org/scripts/script.php?script_id=2584
GNU General Public License v3.0
131 stars 13 forks source link

Jumpy behaviour (get toggled by itself, e.g. on InsertLeave) #44

Closed blueyed closed 10 years ago

blueyed commented 10 years ago

I've noticed lately (with the latest updates), that quickfixsigns get toggled off and on on certain events, e.g.: after startup they are are visible for a short time, then get turned off (the whole column). On InsertLeave they'll get displayed again (but only when waiting long enough), and then will disappear later again.

I am using: let g:quickfixsigns_events = ['BufEnter', 'CursorHold', 'CursorHoldI', 'InsertLeave'].

tomtom commented 10 years ago

Do you have removed "marks" from g:quickfixsigns_classes or changed the value of g:quickfixsigns#marks#buffer?

blueyed commented 10 years ago

Do you have removed "marks" from g:quickfixsigns_classes or changed the value of g:quickfixsigns#marks#buffer?

No.

I guess than the new option for setting a dummy mark does not fix it for me.

I can easily produce when using x to delete a character: it takes updatetime for the signs to disappear (just changed it down to 500ms from 2000 to verify). quickfixsign seems to really forget about the marks / does not find them anymore: I can make the column re-appear by setting a mark, but the others aren't displayed.

Apart from that, the file in question is in git, with changes, so there should be signs always (apart from ., ' etc).

tomtom commented 10 years ago

I guess than the new option for setting a dummy mark does not fix it for me. Could you please make sure you actually use the latest version from github. Could you also please disable your custom configuration and make sure no other plugin is messing around with signs. The dummy sign is now re-enabled by default (again) and I don't see how you could experience the behaviour you described if there is no other plugin/vim code removing all signs. Thanks.

blueyed commented 10 years ago

Sorry, I have tracked it down to YouCompleteMe causing this finally.

FWIW, with debugging enabled, I've seen a lot of "id not found" messages, and it turns out that YCM was changed to remove all signs.. (https://github.com/Valloric/YouCompleteMe/issues/887)

The reason for this change appears to be "flickering" when updating the signs, which might be caused mostly by calling sign place / sign unplace via the Python API...

I wondered if it would be feasible to have a quickfixsigns API that other plugins could make use of - so that YCM would not have to implement only updating changed signs etc by itself.

tomtom commented 10 years ago

The reason for this change appears to be "flickering" when updating the signs, which might be caused mostly by calling |sign place| / |sign unplace| via the Python API... The "flicker" probably is a result from removing all signs.

I wondered if it would be feasible to have a quickfixsigns API that other plugins could make use of

That could be done rather easily. I added a mini-tutorial: https://github.com/tomtom/quickfixsigns_vim/blob/master/doc/quickfixsigns.txt#L40

HTH

blueyed commented 10 years ago

@tomtom Awesome! Thanks a lot.