aboutsummaryrefslogtreecommitdiff
path: root/vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim
diff options
context:
space:
mode:
authorxero <x@xero.nu>2014-07-14 13:23:05 -0400
committerxero <x@xero.nu>2014-07-14 13:23:05 -0400
commit56560fd597f94dfe6fe5fa79648398ab29d05775 (patch)
tree7e77d23be98b2df8ef847f49ee645085356305be /vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim
parent1434c859bcf94a0bbee88e72c8a01849d0356293 (diff)
downloaddotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.tar.xz
dotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.zip
updated repo to manage dotfiles via gnu stow, the symlink farm manager. happy birthday commit! :birthday: :sparkles:
Diffstat (limited to 'vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim')
-rw-r--r--vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim27
1 files changed, 27 insertions, 0 deletions
diff --git a/vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim b/vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim
new file mode 100644
index 0000000..e4a790d
--- /dev/null
+++ b/vim/.vim/bundle/vim-airline/autoload/airline/extensions/tabline/unique_tail.vim
@@ -0,0 +1,27 @@
+" MIT License. Copyright (c) 2013-2014 Bailey Ling.
+" vim: et ts=2 sts=2 sw=2
+
+function! airline#extensions#tabline#unique_tail#format(bufnr, buffers)
+ let duplicates = {}
+ let tails = {}
+ let map = {}
+ for nr in a:buffers
+ let name = bufname(nr)
+ if empty(name)
+ let map[nr] = '[No Name]'
+ else
+ let tail = fnamemodify(name, ':t')
+ if has_key(tails, tail)
+ let duplicates[nr] = nr
+ endif
+ let tails[tail] = 1
+ let map[nr] = airline#extensions#tabline#default#wrap_name(nr, tail)
+ endif
+ endfor
+
+ for nr in values(duplicates)
+ let map[nr] = airline#extensions#tabline#default#wrap_name(nr, fnamemodify(bufname(nr), ':p:.'))
+ endfor
+
+ return map[a:bufnr]
+endfunction