1
0
mirror of https://github.com/amix/vimrc synced 2025-07-23 04:54:59 +08:00

Track new files from updated packages

This commit is contained in:
Isaac Andrade
2016-02-17 12:03:42 -07:00
parent 6ac337eccd
commit 5a56192fd3
16 changed files with 756 additions and 0 deletions

View File

@ -0,0 +1,97 @@
" MIT License. Copyright (c) 2016 Kevin Sapper
" vim: et ts=2 sts=2 sw=2
scriptencoding utf-8
let s:current_bufnr = -1
let s:current_tabnr = -1
let s:current_tabline = ''
function! airline#extensions#tabline#ctrlspace#off()
augroup airline_tabline_ctrlspace
autocmd!
augroup END
endfunction
function! airline#extensions#tabline#ctrlspace#on()
augroup airline_tabline_ctrlspace
autocmd!
autocmd BufDelete * call airline#extensions#tabline#ctrlspace#invalidate()
augroup END
endfunction
function! airline#extensions#tabline#ctrlspace#invalidate()
let s:current_bufnr = -1
let s:current_tabnr = -1
endfunction
function! airline#extensions#tabline#ctrlspace#get()
let cur_buf = bufnr('%')
let s:tab_list = ctrlspace#api#TabList()
for tab in s:tab_list
if tab.current
let cur_tab = tab.index
endif
endfor
if cur_buf == s:current_bufnr && cur_tab == s:current_tabnr
return s:current_tabline
endif
let b = airline#extensions#tabline#new_builder()
call b.add_section_spaced('airline_tabtype', 'buffers')
let s:buffer_list = ctrlspace#api#BufferList(cur_tab)
for buffer in s:buffer_list
if cur_buf == buffer.index
if buffer.modified
let group = 'airline_tabmod'
else
let group = 'airline_tabsel'
endif
else
if buffer.modified
let group = 'airline_tabmod_unsel'
elseif buffer.visible
let group = 'airline_tab'
else
let group = 'airline_tabhid'
endif
endif
let buf_name = '%(%{airline#extensions#tabline#get_buffer_name('.buffer.index.')}%)'
call b.add_section_spaced(group, buf_name)
endfor
call b.add_section('airline_tabfill', '')
call b.split()
call b.add_section('airline_tabfill', '')
for tab in s:tab_list
if tab.current
if tab.modified
let group = 'airline_tabmod_right'
else
let group = 'airline_tabsel_right'
endif
else
if tab.modified
let group = 'airline_tabmod_unsel_right'
else
let group = 'airline_tabhid_right'
endif
endif
call b.add_section_spaced(group, tab.title.ctrlspace#api#TabBuffersNumber(tab.index))
endfor
call b.add_section_spaced('airline_tabtype', 'tabs')
let s:current_bufnr = cur_buf
let s:current_tabnr = cur_tab
let s:current_tabline = b.build()
return s:current_tabline
endfunction

View File

@ -0,0 +1,22 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_unicodePlugin', 0)
finish
endif
function! airline#extensions#unicode#apply(...)
if exists(":UnicodeTable") == 2 && bufname('') ==# 'UnicodeTable'
call airline#parts#define('unicode', {
\ 'text': '[UnicodeTable]',
\ 'accent': 'bold' })
let w:airline_section_a = airline#section#create(['unicode'])
let w:airline_section_b = ''
let w:airline_section_c = ''
let w:airline_section_y = ''
endif
endfunction
function! airline#extensions#unicode#init(ext)
call a:ext.add_statusline_func('airline#extensions#unicode#apply')
endfunction

View File

@ -0,0 +1,58 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
function! airline#extensions#wordcount#formatters#default#format()
let words = string(s:wordcount())
if empty(words)
return
endif
let separator = s:get_decimal_group()
if words > 999 && !empty(separator)
" Format number according to locale, e.g. German: 1.245 or English: 1,245
let a = join(reverse(split(words, '.\zs')),'')
let a = substitute(a, '...', '&'.separator, 'g')
let words = join(reverse(split(a, '.\zs')),'')
endif
return words . " words" . g:airline_symbols.space . g:airline_right_alt_sep . g:airline_symbols.space
endfunction
function! s:wordcount()
if exists("*wordcount")
let l:mode = mode()
if l:mode ==# 'v' || l:mode ==# 'V' || l:mode ==# 's' || l:mode ==# 'S'
let l:visual_words = wordcount()['visual_words']
if l:visual_words != ''
return l:visual_words
else
return 0
endif
else
return wordcount()['words']
endif
elseif mode() =~? 's'
return
else
let old_status = v:statusmsg
let position = getpos(".")
exe "silent normal! g\<c-g>"
let stat = v:statusmsg
call setpos('.', position)
let v:statusmsg = old_status
let parts = split(stat)
if len(parts) > 11
return str2nr(parts[11])
else
return
endif
endif
endfunction
function s:get_decimal_group()
if match(v:lang, '\v\cC|en') > -1
return ','
elseif match(v:lang, '\v\cde|dk|fr|pt') > -1
return '.'
endif
return ''
endfunction

View File

@ -0,0 +1,36 @@
" MIT License. Copyright (c) 2015 Evgeny Firsov.
" vim: et ts=2 sts=2 sw=2
let s:spc = g:airline_symbols.space
let s:error_symbol = get(g:, 'airline#extensions#ycm#error_symbol', 'E:')
let s:warning_symbol = get(g:, 'airline#extensions#ycm#warning_symbol', 'W:')
function! airline#extensions#ycm#init(ext)
call airline#parts#define_function('ycm_error_count', 'airline#extensions#ycm#get_error_count')
call airline#parts#define_function('ycm_warning_count', 'airline#extensions#ycm#get_warning_count')
endfunction
function! airline#extensions#ycm#get_error_count()
if exists(':YcmDiag')
let cnt = youcompleteme#GetErrorCount()
if cnt != 0
return s:error_symbol.cnt
endif
endif
return ''
endfunction
function! airline#extensions#ycm#get_warning_count()
if exists(':YcmDiag')
let cnt = youcompleteme#GetWarningCount()
if cnt != 0
return s:warning_symbol.cnt.s:spc
endif
endif
return ''
endfunction