From 84cb4b8b9d954e39ff9eaa76afcb06da1cb0b79a Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Tue, 4 Feb 2014 12:49:55 +0100 Subject: [PATCH] Remove orphaned signs. --- autoload/sign.vim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/autoload/sign.vim b/autoload/sign.vim index 4f69f5e..6cd5a4c 100644 --- a/autoload/sign.vim +++ b/autoload/sign.vim @@ -82,6 +82,12 @@ function! sign#find_current_signs(file_name) let line_number = str2nr(split(components[0], '=')[1]) if name =~# 'GitGutter' let id = str2nr(split(components[1], '=')[1]) + " Remove orphaned signs (signs placed on lines which have been deleted). + " (When a line is deleted its sign lingers. Subsequent lines' signs' + " line numbers are decremented appropriately.) + if has_key(gitgutter_signs, line_number) + execute "sign unplace" gitgutter_signs[line_number].id + endif let gitgutter_signs[line_number] = {'id': id, 'name': name} else call add(other_signs, line_number)