From 8f6bbc985517a23ad2e078222002c84c3b05be70 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Wed, 21 Feb 2018 12:06:42 +0000 Subject: [PATCH] Extract uniq function. --- autoload/gitgutter.vim | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/autoload/gitgutter.vim b/autoload/gitgutter.vim index eb9c41d..15218bf 100644 --- a/autoload/gitgutter.vim +++ b/autoload/gitgutter.vim @@ -3,12 +3,7 @@ let s:t_string = type('') " Primary functions {{{ function! gitgutter#all(force) abort - let processed = {} - for bufnr in tabpagebuflist() - if has_key(processed, bufnr) - continue - endif - let processed[bufnr] = 1 + for bufnr in s:uniq(tabpagebuflist()) let file = expand('#'.bufnr.':p') if !empty(file) call gitgutter#init_buffer(bufnr) @@ -63,12 +58,7 @@ function! gitgutter#disable() abort call extend(buflist, tabpagebuflist(i + 1)) endfor - let processed = {} - for bufnr in buflist - if has_key(processed, bufnr) - continue - endif - let processed[bufnr] = 1 + for bufnr in s:uniq(buflist) let file = expand('#'.bufnr.':p') if !empty(file) call s:clear(bufnr) @@ -107,3 +97,13 @@ function! s:clear(bufnr) call gitgutter#hunk#reset(a:bufnr) call s:reset_tick(a:bufnr) endfunction + +function! s:uniq(list) + let processed = [] + for e in a:list + if index(a:list, e) == -1 + call add(a:list, e) + endif + endfor + return processed +endfunction