From f3ea7c8003c7a65de29c2f4e0e1bf0d592dd0ad8 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 28 Jan 2024 16:05:38 +0200 Subject: [.vimrc] Reworked entire vimrc --- .vim/miniplugins/tabline.vim | 91 -------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 .vim/miniplugins/tabline.vim (limited to '.vim/miniplugins/tabline.vim') diff --git a/.vim/miniplugins/tabline.vim b/.vim/miniplugins/tabline.vim deleted file mode 100644 index bb6fe57..0000000 --- a/.vim/miniplugins/tabline.vim +++ /dev/null @@ -1,91 +0,0 @@ -let tabcap = '' -let tabmiddlecap = '' - -set tabline=%!TablineGenerator() - -" Tab data/helper functions {{{ - function! TabFilename(n) - let buflist = tabpagebuflist(a:n) - let winnr = tabpagewinnr(a:n) - let _ = (expand('#'..buflist[winnr - 1]..':t') !=# '') ? expand('#'..buflist[winnr - 1]..':t') : '[No Name]' - - " Limit the width of tabs, so they don't go out of the screen - let tabNameLengthMax = &columns/(((tabpagenr('$') > 0) ? tabpagenr('$') : 0) + 5) - - return WebDevIconsGetFileTypeSymbol(_) .. ' ' .. _[0:tabNameLengthMax] - endfunction - - function! TabReadonly(n) - let winnr = tabpagewinnr(a:n) - return gettabwinvar(a:n, winnr, '&readonly') ? ' ' : '' - endfunction - - function! TabModified(n) - let winnr = tabpagewinnr(a:n) - return gettabwinvar(a:n, winnr, '&modified') ? ' ' : (gettabwinvar(a:n, winnr, '&modifiable') ? '' : ' ') - endfunction -" }}} - -" Colors {{{ - autocmd ColorScheme * call TLCreateHighlightGroups() - - " Colorscheme clears highlights https://vi.stackexchange.com/a/3356 - function! TLCreateHighlightGroups() - hi TLTab ctermfg=252 ctermbg=242 - hi TLTabSel ctermfg=252 ctermbg=235 - hi TLRest ctermfg=248 ctermbg=238 - - let s:hi_tltab = hlget('TLTab')[0] - let s:hi_tltabsel = hlget('TLTabSel')[0] - let s:hi_tlrest = hlget('TLRest')[0] - call hlset([#{name: 'TLTabSelLC', ctermfg: s:hi_tltab['ctermbg'], ctermbg: s:hi_tltabsel['ctermbg'] }, - \ #{name: 'TLTabSelRC', ctermfg: s:hi_tltabsel['ctermbg'], ctermbg: s:hi_tltab['ctermbg'] }, - \ #{name: 'TLTabSelRCF', ctermfg: s:hi_tltabsel['ctermbg'], ctermbg: s:hi_tlrest['ctermbg'] }, - \ #{name: 'TLTabRCF', ctermfg: s:hi_tltab['ctermbg'], ctermbg: s:hi_tlrest['ctermbg'] }]) - endfunction - call TLCreateHighlightGroups() -" }}} - -function! TablineGenerator() - let s = '' - - " For each tab i - for i in range(1, tabpagenr('$')) - " Sets the tab page number, so that mouse clicks work - let s ..= '%' .. i .. 'T' - - let innerText = '%{TabFilename(' .. i .. ')}%{TabReadonly(' .. i .. ')}%{TabModified(' .. i .. ')} ' - - " If tab is the selected one - if i == tabpagenr() - " If tab isn't the left most - if i > 1 - let s ..= '%#TLTabSelLC#%{tabcap}' - endif - - let s ..= '%#TLTabSel# ' .. l:innerText - - " If tab is the last one, right cap bg color has to be different - let s ..= (i == tabpagenr('$') ? '%#TLTabSelRCF#' : '%#TLTabSelRC#') .. '%{tabcap}' - - else - let s ..= '%#TLTab#' - " If tab isn't to the right of selected and isn't the left most - if (i-1 != tabpagenr()) && (i > 1) - let s ..= '%{tabmiddlecap}' - endif - - let s ..= ' ' .. l:innerText - - " Last tab has to have a tabcap - if i == tabpagenr('$') - let s ..= '%#TLTabRCF#%{tabcap}' - endif - endif - endfor - - " After last tab, fill with TLRest - let s ..= '%#TLRest#%T' - - return s -endfunction -- cgit v1.2.3