1 Commits

Author SHA1 Message Date
Bailey Ling
a4d69d53b5 cache open buffers into a dictionary and loop over the keys 2015-02-19 07:22:47 -05:00
64 changed files with 251 additions and 1289 deletions

View File

@@ -1,32 +0,0 @@
# Contributions
Contributions and pull requests are welcome. Please take note of the following guidelines:
* Adhere to the existing style as much as possible; notably, 2 space indents and long-form keywords.
* Keep the history clean! Squash your branches before you submit a pull request. `pull --rebase` is your friend.
* Any changes to the core should be tested against Vim 7.2.
# Bugs
Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following:
* Reproduce it with this [minivimrc][7] repository to rule out any configuration conflicts. Even better, create a `gist` of your vimrc that is compatible with [pathogen][11].
* And to make it easier to reproduce, please supply the following:
* the `:version` of vim
* the commit of vim-airline you're using
* the OS that you're using, including terminal emulator, GUI vs non-GUI
# Themes
* If you submit a theme, please create a screenshot so it can be added to the [Wiki][14].
* In the majority of cases, modifications to colors of existing themes will likely be rejected. Themes are a subjective thing, so while you may prefer that a particular color be darker, another user will prefer it to be lighter, or something entirely different. The more popular the theme, the more unlikely the change will be accepted. However, it's pretty simple to create your own theme; copy the theme to `~/.vim/autoload/airline/themes` under a new name with your modifications, and it can be used.
# Maintenance
If you would like to take a more active role in improving vim-airline, please consider [becoming a maintainer][43].
[7]: https://github.com/bling/minivimrc
[11]: https://github.com/tpope/vim-pathogen
[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots
[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (C) 2013-2016 Bailey Ling
Copyright (C) 2013-2015 Bailey Ling
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the "Software"),

View File

@@ -1,18 +1,13 @@
# vim-airline [![Build Status](https://travis-ci.org/vim-airline/vim-airline.png)](https://travis-ci.org/vim-airline/vim-airline)
# vim-airline [![Build Status](https://travis-ci.org/bling/vim-airline.png)](https://travis-ci.org/bling/vim-airline)
Lean & mean status/tabline for vim that's light as air.
![img](https://github.com/vim-airline/vim-airline/wiki/screenshots/demo.gif)
![img](https://github.com/bling/vim-airline/wiki/screenshots/demo.gif)
# Features
* Tiny core written with extensibility in mind ([open/closed principle][8]).
* Integrates with a variety of plugins, including: [vim-bufferline][6],
[fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16],
[undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29],
[vim-signify][30], [quickfixsigns][39], [syntastic][5], [eclim][34],
[lawrencium][21], [virtualenv][31], [tmuxline][35], [taboo.vim][37],
[ctrlspace][38] and more.
* Integrates with a variety of plugins, including: [vim-bufferline][6], [fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16], [undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29], [vim-signify][30], [syntastic][5], [eclim][34], [lawrencium][21], [virtualenv][31], [tmuxline][35].
* Looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols.
* Optimized for speed; it loads in under a millisecond.
* Extensive suite of themes for popular color schemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others; have a look at the [screenshots][14] in the wiki.
@@ -93,7 +88,7 @@ Every section is composed of parts, and you can reorder and reconfigure them at
![image](https://f.cloud.github.com/assets/306502/1073278/f291dd4c-14a3-11e3-8a83-268e2753f97d.png)
Sections can contain accents, which allows for very granular control of visuals (see configuration [here](https://github.com/vim-airline/vim-airline/issues/299#issuecomment-25772886)).
Sections can contain accents, which allows for very granular control of visuals (see configuration [here](https://github.com/bling/vim-airline/issues/299#issuecomment-25772886)).
![image](https://f.cloud.github.com/assets/306502/1195815/4bfa38d0-249d-11e3-823e-773cfc2ca894.png)
@@ -122,14 +117,12 @@ I wrote the initial version on an airplane, and since it's light as air it turne
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:
* [Pathogen][11]
* `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline`
* `git clone https://github.com/bling/vim-airline ~/.vim/bundle/vim-airline`
* Remember to run `:Helptags` to generate help tags
* [NeoBundle][12]
* `NeoBundle 'vim-airline/vim-airline'`
* `NeoBundle 'bling/vim-airline'`
* [Vundle][13]
* `Plugin 'vim-airline/vim-airline'`
* [Plug][40]
* `Plug 'vim-airline/vim-airline'`
* `Plugin 'bling/vim-airline'`
* [VAM][22]
* `call vam#ActivateAddons([ 'vim-airline' ])`
* manual
@@ -158,27 +151,37 @@ Whoa! Everything got slow all of a sudden...
vim-airline strives to make it easy to use out of the box, which means that by default it will look for all compatible plugins that you have installed and enable the relevant extension.
Many optimizations have been made such that the majority of users will not see any performance degradation, but it can still happen. For example, users who routinely open very large files may want to disable the `tagbar` extension, as it can be very expensive to scan for the name of the current function.
Many optimizations have been made such that the majority of users will not see any performance degradation, but it can still happen. For example, users who routinely open very large files may want to disable the tagbar extension, as it can be very expensive to scan for the name of the current function.
The [minivimrc][7] project has some helper mappings to troubleshoot performance related issues.
If you don't want all the bells and whistles enabled by default, you can define a value for `g:airline_extensions`. When this variable is defined, only the extensions listed will be loaded; an empty array would effectively disable all extensions.
# Screenshots
A full list of screenshots for various themes can be found in the [Wiki][14].
# Maintainers
# Bugs
The project is currently being maintained by [Bailey Ling][41], [Christian Brabandt][42], and [Mike Hartington][44].
Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following:
If you are interested in becoming a maintainer (we always welcome more maintainers), please [go here][43].
* Reproduce it with this [minivimrc][7] repository to rule out any configuration conflicts.
* A link to your vimrc or a gist which shows how you configured the plugin(s).
* And so I can reproduce; your `:version` of vim, and the commit of vim-airline you're using.
# Contributions
Contributions and pull requests are welcome. Please take note of the following guidelines:
* Adhere to the existing style as much as possible; notably, 2 space indents and long-form keywords.
* Keep the history clean! squash your branches before you submit a pull request. `pull --rebase` is your friend.
* Any changes to the core should be tested against Vim 7.2.
* If you submit a theme, please create a screenshot so it can be added to the [Wiki][14].
# License
MIT License. Copyright (c) 2013-2016 Bailey Ling.
MIT License. Copyright (c) 2013-2015 Bailey Ling.
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/vim-airline/vim-airline/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/bling/vim-airline/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
[1]: https://github.com/Lokaltog/vim-powerline
[2]: https://github.com/Lokaltog/powerline
@@ -189,11 +192,11 @@ MIT License. Copyright (c) 2013-2016 Bailey Ling.
[7]: https://github.com/bling/minivimrc
[8]: http://en.wikipedia.org/wiki/Open/closed_principle
[9]: https://github.com/Shougo/unite.vim
[10]: https://github.com/ctrlpvim/ctrlp.vim
[10]: https://github.com/kien/ctrlp.vim
[11]: https://github.com/tpope/vim-pathogen
[12]: https://github.com/Shougo/neobundle.vim
[13]: https://github.com/gmarik/vundle
[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots
[14]: https://github.com/bling/vim-airline/wiki/Screenshots
[15]: https://github.com/techlivezheng/vim-plugin-minibufexpl
[16]: https://github.com/sjl/gundo.vim
[17]: https://github.com/mbbill/undotree
@@ -206,21 +209,13 @@ MIT License. Copyright (c) 2013-2016 Bailey Ling.
[24]: https://github.com/chriskempson/tomorrow-theme
[25]: https://github.com/tomasr/molokai
[26]: https://github.com/nanotech/jellybeans.vim
[27]: https://github.com/vim-airline/vim-airline/wiki/FAQ
[27]: https://github.com/bling/vim-airline/wiki/FAQ
[28]: https://github.com/chrisbra/csv.vim
[29]: https://github.com/airblade/vim-gitgutter
[30]: https://github.com/mhinz/vim-signify
[31]: https://github.com/jmcantrell/vim-virtualenv
[32]: https://github.com/chriskempson/base16-vim
[33]: https://github.com/vim-airline/vim-airline/wiki/Test-Plan
[33]: https://github.com/bling/vim-airline/wiki/Test-Plan
[34]: http://eclim.org
[35]: https://github.com/edkolev/tmuxline.vim
[36]: https://github.com/edkolev/promptline.vim
[37]: https://github.com/gcmt/taboo.vim
[38]: https://github.com/szw/vim-ctrlspace
[39]: https://github.com/tomtom/quickfixsigns_vim
[40]: https://github.com/junegunn/vim-plug
[41]: https://github.com/bling
[42]: https://github.com/chrisbra
[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer
[44]: https://github.com/mhartington

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let g:airline_statusline_funcrefs = get(g:, 'airline_statusline_funcrefs', [])
@@ -46,7 +46,6 @@ function! airline#load_theme()
call airline#highlighter#load_theme()
call airline#extensions#load_theme()
call airline#update_statusline()
endfunction
function! airline#switch_theme(name)
@@ -63,6 +62,7 @@ function! airline#switch_theme(name)
endtry
let w:airline_lastmode = ''
call airline#update_statusline()
call airline#load_theme()
" this is required to prevent clobbering the startup info message, i don't know why...
@@ -88,9 +88,6 @@ function! airline#switch_matching_theme()
endfunction
function! airline#update_statusline()
if airline#util#getwinvar(winnr(), 'airline_disabled', 0)
return
endif
for nr in filter(range(1, winnr('$')), 'v:val != winnr()')
if airline#util#getwinvar(nr, 'airline_disabled', 0)
continue
@@ -145,8 +142,6 @@ function! airline#check_mode(winnr)
let l:mode = ['replace']
elseif l:m =~# '\v(v|V||s|S|)'
let l:mode = ['visual']
elseif l:m ==# "t"
let l:mode = ['terminal']
else
let l:mode = ['normal']
endif
@@ -164,10 +159,6 @@ function! airline#check_mode(winnr)
call add(l:mode, 'paste')
endif
if g:airline_detect_crypt && exists("+key") && !empty(&key)
call add(l:mode, 'crypt')
endif
if &readonly || ! &modifiable
call add(l:mode, 'readonly')
endif

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:prototype = {}

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
function! airline#debug#profile1()

View File

@@ -1,11 +1,7 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
function! airline#deprecation#check()
if !exists('g:loaded_airline_themes')
echom 'airline themes have been migrated to github.com/vim-airline/vim-airline-themes and will be removed from the core in the near future.'
endif
if exists('g:airline_enable_fugitive') || exists('g:airline_fugitive_prefix')
echom 'The g:airline_enable_fugitive and g:airline_fugitive_prefix variables are obsolete. Please read the documentation about the branch extension.'
endif

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:ext = {}
@@ -121,13 +121,6 @@ function! airline#extensions#load()
" non-trivial number of external plugins use eventignore=all, so we need to account for that
autocmd CursorMoved * call <sid>sync_active_winnr()
if exists('g:airline_extensions')
for ext in g:airline_extensions
call airline#extensions#{ext}#init(s:ext)
endfor
return
endif
call airline#extensions#quickfix#init(s:ext)
if get(g:, 'loaded_unite', 0)
@@ -146,10 +139,6 @@ function! airline#extensions#load()
call airline#extensions#ctrlp#init(s:ext)
endif
if get(g:, 'ctrlspace_loaded', 0)
call airline#extensions#ctrlspace#init(s:ext)
endif
if get(g:, 'command_t_loaded', 0)
call airline#extensions#commandt#init(s:ext)
endif
@@ -159,7 +148,7 @@ function! airline#extensions#load()
endif
if (get(g:, 'airline#extensions#hunks#enabled', 1) && get(g:, 'airline_enable_hunks', 1))
\ && (exists('g:loaded_signify') || exists('g:loaded_gitgutter') || exists('g:loaded_changes') || exists('g:loaded_quickfixsigns'))
\ && (exists('g:loaded_signify') || exists('g:loaded_gitgutter') || exists('g:loaded_changes'))
call airline#extensions#hunks#init(s:ext)
endif
@@ -189,7 +178,7 @@ function! airline#extensions#load()
call airline#extensions#bufferline#init(s:ext)
endif
if (get(g:, 'airline#extensions#virtualenv#enabled', 1) && (exists(':VirtualEnvList') || isdirectory($VIRTUAL_ENV)))
if isdirectory($VIRTUAL_ENV) && get(g:, 'airline#extensions#virtualenv#enabled', 1)
call airline#extensions#virtualenv#init(s:ext)
endif
@@ -206,10 +195,6 @@ function! airline#extensions#load()
call airline#extensions#whitespace#init(s:ext)
endif
if get(g:, 'airline#extensions#wordcount#enabled', 1)
call airline#extensions#wordcount#init(s:ext)
endif
if get(g:, 'airline#extensions#tabline#enabled', 0)
call airline#extensions#tabline#init(s:ext)
endif

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:has_fugitive = exists('*fugitive#head')
@@ -9,25 +9,6 @@ if !s:has_fugitive && !s:has_lawrencium && !s:has_vcscommand
finish
endif
let s:head_format = get(g:, 'airline#extensions#branch#format', 0)
if s:head_format == 1
function! s:format_name(name)
return fnamemodify(a:name, ':t')
endfunction
elseif s:head_format == 2
function! s:format_name(name)
return pathshorten(a:name)
endfunction
elseif type(s:head_format) == type('')
function! s:format_name(name)
return call(s:head_format, [a:name])
endfunction
else
function! s:format_name(name)
return a:name
endfunction
endif
let s:git_dirs = {}
function! s:get_git_branch(path)
if has_key(s:git_dirs, a:path)
@@ -91,8 +72,6 @@ function! airline#extensions#branch#head()
let b:airline_head = ''
endif
let b:airline_head = s:format_name(b:airline_head)
if exists("g:airline#extensions#branch#displayed_head_limit")
let w:displayed_head_limit = g:airline#extensions#branch#displayed_head_limit
if len(b:airline_head) > w:displayed_head_limit - 1

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists('*bufferline#get_status_string')

View File

@@ -5,7 +5,7 @@ if !exists('*CapsLockStatusline')
endif
function! airline#extensions#capslock#status()
return tolower(CapsLockStatusline()) == '[caps]' ? 'CAPS' : ''
return CapsLockStatusline() == '[caps]' ? 'CAPS' : ''
endfunction
function! airline#extensions#capslock#init(ext)

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'command_t_loaded', 0)

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_csv', 0) && !exists(':Table')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_ctrlp', 0)

View File

@@ -1,18 +0,0 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:spc = g:airline_symbols.space
let s:padding = s:spc . s:spc . s:spc
function! airline#extensions#ctrlspace#statusline(...)
let b = airline#builder#new({ 'active': 1 })
call b.add_section('airline_a', s:padding . g:ctrlspace_symbols.cs . s:padding)
call b.add_section('airline_b', s:padding . ctrlspace#statusline_mode_segment(s:padding))
call b.split()
call b.add_section('airline_x', s:spc . ctrlspace#statusline_tab_segment() . s:spc)
return b.build()
endfunction
function! airline#extensions#ctrlspace#init(ext)
let g:ctrlspace_statusline_function = 'airline#extensions#ctrlspace#statusline()'
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:section_truncate_width = get(g:, 'airline#extensions#default#section_truncate_width', {

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':ProjectCreate')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
" we don't actually want this loaded :P

View File

@@ -1,7 +1,7 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_signify', 0) && !get(g:, 'loaded_gitgutter', 0) && !get(g:, 'loaded_changes', 0) && !get(g:, 'loaded_quickfixsigns', 0)
if !get(g:, 'loaded_signify', 0) && !get(g:, 'loaded_gitgutter', 0) && !get(g:, 'loaded_changes', 0)
finish
endif
@@ -44,21 +44,20 @@ function! s:get_hunks_empty()
return ''
endfunction
let s:source_func = ''
function! s:get_hunks()
if !exists('b:source_func')
if get(g:, 'loaded_signify') && sy#buffer_is_active()
let b:source_func = 's:get_hunks_signify'
if empty(s:source_func)
if get(g:, 'loaded_signify', 0)
let s:source_func = 's:get_hunks_signify'
elseif exists('*GitGutterGetHunkSummary')
let b:source_func = 's:get_hunks_gitgutter'
let s:source_func = 's:get_hunks_gitgutter'
elseif exists('*changes#GetStats')
let b:source_func = 's:get_hunks_changes'
elseif exists('*quickfixsigns#vcsdiff#GetHunkSummary')
let b:source_func = 'quickfixsigns#vcsdiff#GetHunkSummary'
let s:source_func = 's:get_hunks_changes'
else
let b:source_func = 's:get_hunks_empty'
let s:source_func = 's:get_hunks_empty'
endif
endif
return {b:source_func}()
return {s:source_func}()
endfunction
function! airline#extensions#hunks#get_hunks()

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':NetrwSettings')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_nrrw_rgn', 0)
@@ -39,8 +39,7 @@ function! airline#extensions#nrrwrgn#apply(...)
endif
endif
let range=(dict.multi ? '' : printf("[%d-%d]", dict.start[1], dict.end[1]))
call a:1.add_section('airline_c', printf("%s %s %s", name, range,
\ dict.enabled ? (&encoding ==? 'utf-8' ? "\u2713" : '') : '!'))
call a:1.add_section('airline_c', printf("%s %s %s", name, range, dict.enabled ? "\u2713" : '!'))
call a:1.split()
call a:1.add_section('airline_x', get(g:, 'airline_section_x').spc)
call a:1.add_section('airline_y', spc.get(g:, 'airline_section_y').spc)

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':PromptlineSnapshot')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let g:airline#extensions#quickfix#quickfix_text = 'Quickfix'

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':SyntasticCheck')

View File

@@ -1,16 +1,9 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:formatter = get(g:, 'airline#extensions#tabline#formatter', 'default')
let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
let s:show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1)
let s:ignore_bufadd_pat = get(g:, 'airline#extensions#tabline#ignore_bufadd_pat', '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree')
let s:combined = get(g:, 'airline#extensions#tabline#combined', 1)
let s:taboo = get(g:, 'airline#extensions#taboo#enabled', 1) && get(g:, 'loaded_taboo', 0)
if s:taboo
let g:taboo_tabline = 0
endif
function! airline#extensions#tabline#init(ext)
if has('gui_running')
@@ -38,24 +31,6 @@ function! s:toggle_on()
set tabline=%!airline#extensions#tabline#get()
endfunction
function! s:update_tabline()
let match = expand('<afile>')
if pumvisible()
return
elseif !get(g:, 'airline#extensions#tabline#enabled', 0)
return
" return, if buffer matches ignore pattern or is directory (netrw)
elseif empty(match)
\ || match(match, s:ignore_bufadd_pat) > -1
\ || isdirectory(expand("<afile>"))
return
endif
" force re-evaluation of tabline setting
set mod!
redraw
set mod!
endfunction
function! airline#extensions#tabline#load_theme(palette)
let colors = get(a:palette, 'tabline', {})
let l:tab = get(colors, 'airline_tab', a:palette.normal.airline_b)
@@ -89,9 +64,6 @@ function! airline#extensions#tabline#get()
call airline#extensions#tabline#buffers#invalidate()
endif
if !exists('#airline#BufAdd#*')
autocmd airline BufAdd * call <sid>update_tabline()
endif
if s:show_buffers && curtabcnt == 1 || !s:show_tabs
return airline#extensions#tabline#buffers#get()
else
@@ -100,18 +72,9 @@ function! airline#extensions#tabline#get()
endfunction
function! airline#extensions#tabline#title(n)
let title = ''
if s:taboo
let title = TabooTabTitle(a:n)
endif
if empty(title)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return airline#extensions#tabline#get_buffer_name(buflist[winnr - 1])
endif
return title
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return airline#extensions#tabline#get_buffer_name(buflist[winnr - 1])
endfunction
function! airline#extensions#tabline#get_buffer_name(nr)
@@ -134,24 +97,3 @@ function! airline#extensions#tabline#new_builder()
return airline#builder#new(builder_context)
endfunction
function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr)
let cur = bufnr('%')
if cur == a:bufnr
if g:airline_detect_modified && getbufvar(a:bufnr, '&modified')
let group = 'airline_tabmod'
else
let group = 'airline_tabsel'
endif
let s:current_modified = (group == 'airline_tabmod') ? 1 : 0
else
if g:airline_detect_modified && getbufvar(a:bufnr, '&modified')
let group = 'airline_tabmod_unsel'
elseif index(a:tab_bufs, a:bufnr) > -1
let group = 'airline_tab'
else
let group = 'airline_tabhid'
endif
endif
return group
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
@@ -22,9 +22,7 @@ function! airline#extensions#tabline#autoshow#on()
augroup airline_tabline_autoshow
autocmd!
if s:buf_min_count <= 0 && s:tab_min_count <= 1
if &lines > 3
set showtabline=2
endif
set showtabline=2
else
if s:show_buffers == 1
autocmd BufEnter * call <sid>show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list()))
@@ -36,13 +34,13 @@ function! airline#extensions#tabline#autoshow#on()
" Invalidate cache. This has to come after the BufUnload for
" s:show_buffers, to invalidate the cache for BufEnter.
autocmd BufLeave,BufAdd,BufUnload * call airline#extensions#tabline#buflist#invalidate()
autocmd BufAdd,BufUnload * call airline#extensions#tabline#buflist#invalidate()
augroup END
endfunction
function! s:show_tabline(min_count, total_count)
if a:total_count >= a:min_count
if &showtabline != 2 && &lines > 3
if &showtabline != 2
set showtabline=2
endif
else

View File

@@ -1,10 +1,9 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
scriptencoding utf-8
let s:buffer_idx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 0)
let s:show_tab_type = get(g:, 'airline#extensions#tabline#show_tab_type', 1)
let s:spc = g:airline_symbols.space
let s:current_bufnr = -1
@@ -38,6 +37,10 @@ function! airline#extensions#tabline#buffers#on()
autocmd!
autocmd BufDelete * call airline#extensions#tabline#buffers#invalidate()
augroup END
if s:buffer_idx_mode
call s:define_buffer_idx_mode_mappings()
endif
endfunction
function! airline#extensions#tabline#buffers#invalidate()
@@ -45,7 +48,6 @@ function! airline#extensions#tabline#buffers#invalidate()
endfunction
function! airline#extensions#tabline#buffers#get()
call <sid>map_keys()
let cur = bufnr('%')
if cur == s:current_bufnr
if !g:airline_detect_modified || getbufvar(cur, '&modified') == s:current_modified
@@ -62,7 +64,23 @@ function! airline#extensions#tabline#buffers#get()
continue
endif
let group = airline#extensions#tabline#group_of_bufnr(tab_bufs, nr)
if cur == nr
if g:airline_detect_modified && getbufvar(nr, '&modified')
let group = 'airline_tabmod'
else
let group = 'airline_tabsel'
endif
let s:current_modified = (group == 'airline_tabmod') ? 1 : 0
else
if g:airline_detect_modified && getbufvar(nr, '&modified')
let group = 'airline_tabmod_unsel'
elseif index(tab_bufs, nr) > -1
let group = 'airline_tab'
else
let group = 'airline_tabhid'
endif
endif
if s:buffer_idx_mode
if len(s:number_map) > 0
call b.add_section(group, s:spc . get(s:number_map, l:index, '') . '%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)' . s:spc)
@@ -78,9 +96,7 @@ function! airline#extensions#tabline#buffers#get()
call b.add_section('airline_tabfill', '')
call b.split()
call b.add_section('airline_tabfill', '')
if s:show_tab_type
call b.add_section('airline_tabtype', ' buffers ')
endif
call b.add_section('airline_tabtype', ' buffers ')
let s:current_bufnr = cur
let s:current_tabline = b.build()
@@ -157,26 +173,14 @@ function! s:select_tab(buf_index)
endif
endfunction
function! s:jump_to_tab(offset)
let l = s:current_visible_buffers
let i = index(l, bufnr('%'))
if i > -1
exec 'b!' . l[float2nr(fmod(i + a:offset, len(l)))]
endif
endfunction
function s:map_keys()
if s:buffer_idx_mode
noremap <silent> <Plug>AirlineSelectTab1 :call <SID>select_tab(0)<CR>
noremap <silent> <Plug>AirlineSelectTab2 :call <SID>select_tab(1)<CR>
noremap <silent> <Plug>AirlineSelectTab3 :call <SID>select_tab(2)<CR>
noremap <silent> <Plug>AirlineSelectTab4 :call <SID>select_tab(3)<CR>
noremap <silent> <Plug>AirlineSelectTab5 :call <SID>select_tab(4)<CR>
noremap <silent> <Plug>AirlineSelectTab6 :call <SID>select_tab(5)<CR>
noremap <silent> <Plug>AirlineSelectTab7 :call <SID>select_tab(6)<CR>
noremap <silent> <Plug>AirlineSelectTab8 :call <SID>select_tab(7)<CR>
noremap <silent> <Plug>AirlineSelectTab9 :call <SID>select_tab(8)<CR>
noremap <silent> <Plug>AirlineSelectPrevTab :<C-u>call <SID>jump_to_tab(-v:count1)<CR>
noremap <silent> <Plug>AirlineSelectNextTab :<C-u>call <SID>jump_to_tab(v:count1)<CR>
endif
function! s:define_buffer_idx_mode_mappings()
noremap! <unique> <Plug>AirlineSelectTab1 :call <SID>select_tab(0)<CR>
noremap! <unique> <Plug>AirlineSelectTab2 :call <SID>select_tab(1)<CR>
noremap! <unique> <Plug>AirlineSelectTab3 :call <SID>select_tab(2)<CR>
noremap! <unique> <Plug>AirlineSelectTab4 :call <SID>select_tab(3)<CR>
noremap! <unique> <Plug>AirlineSelectTab5 :call <SID>select_tab(4)<CR>
noremap! <unique> <Plug>AirlineSelectTab6 :call <SID>select_tab(5)<CR>
noremap! <unique> <Plug>AirlineSelectTab7 :call <SID>select_tab(6)<CR>
noremap! <unique> <Plug>AirlineSelectTab8 :call <SID>select_tab(7)<CR>
noremap! <unique> <Plug>AirlineSelectTab9 :call <SID>select_tab(8)<CR>
endfunction

View File

@@ -1,8 +1,15 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:excludes = get(g:, 'airline#extensions#tabline#excludes', [])
let s:exclude_preview = get(g:, 'airline#extensions#tabline#exclude_preview', 1)
let s:buffers = {}
for nr in range(1, bufnr('$'))
let s:buffers[nr] = 1
endfor
autocmd BufAdd * let s:buffers[expand('<abuf>')] = 1
autocmd BufDelete * let nr = expand('<abuf>') | if has_key(s:buffers, nr) | unlet s:buffers[nr] | endif
function! airline#extensions#tabline#buflist#invalidate()
unlet! s:current_buffer_list
@@ -14,8 +21,8 @@ function! airline#extensions#tabline#buflist#list()
endif
let buffers = []
let cur = bufnr('%')
for nr in range(1, bufnr('$'))
for key in keys(s:buffers)
let nr = str2nr(key)
if buflisted(nr) && bufexists(nr)
let toadd = 1
for ex in s:excludes
@@ -27,9 +34,6 @@ function! airline#extensions#tabline#buflist#list()
if getbufvar(nr, 'current_syntax') == 'qf'
let toadd = 0
endif
if s:exclude_preview && getbufvar(nr, '&bufhidden') == 'wipe' && getbufvar(nr, '&buftype') == 'nofile'
let toadd = 0
endif
if toadd
call add(buffers, nr)
endif

View File

@@ -1,25 +0,0 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:spc = g:airline_symbols.space
function! airline#extensions#tabline#combined#get()
let curtabnr = tabpagenr()
let b = airline#extensions#tabline#new_builder()
let buffers = tabpagebuflist(curtabnr)
for nr in buffers
let group = airline#extensions#tabline#group_of_bufnr(buffers, nr)
call b.add_section(group, s:spc.'%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)'.s:spc)
endfor
call b.add_section('airline_tabfill', '')
call b.split()
call b.add_section('airline_tabfill', '')
for tabnr in range(1, tabpagenr('$'))
let group = tabnr == curtabnr ? 'airline_tabtype' : 'airline_tab'
call b.add_section(group, s:spc . 'tab' . s:spc . tabnr . s:spc . '%' . tabnr . 'X' . 'x' . '%X' . s:spc)
endfor
return b.build()
endfunction

View File

@@ -1,9 +1,8 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.')
let s:fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1)
let s:fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0)
let s:buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ')
let s:buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
let s:buf_modified_symbol = g:airline_symbols.modified
@@ -20,9 +19,6 @@ function! airline#extensions#tabline#formatters#default#format(bufnr, buffers)
else
let _ .= fnamemodify(name, s:fmod)
endif
if a:bufnr != bufnr('%') && s:fnametruncate && strlen(_) > s:fnametruncate
let _ = strpart(_, 0, s:fnametruncate)
endif
endif
return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _)

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffers)
@@ -10,7 +10,7 @@ function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffer
if empty(name)
let map[nr] = '[No Name]'
else
let tail = fnamemodify(name, ':s?/\+$??:t')
let tail = fnamemodify(name, ':t')
if has_key(tails, tail)
let duplicates[nr] = nr
endif
@@ -23,10 +23,5 @@ function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffer
let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, fnamemodify(bufname(nr), ':p:.'))
endfor
if has_key(map, a:bufnr)
return map[a:bufnr]
endif
" if we get here, the buffer list isn't in sync with the selected buffer yet, fall back to the default
return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers)
return map[a:bufnr]
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
scriptencoding utf-8

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:show_tab_nr = get(g:, 'airline#extensions#tabline#show_tab_nr', 1)
@@ -6,7 +6,6 @@ let s:tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0)
let s:show_close_button = get(g:, 'airline#extensions#tabline#show_close_button', 1)
let s:show_tab_type = get(g:, 'airline#extensions#tabline#show_tab_type', 1)
let s:close_symbol = get(g:, 'airline#extensions#tabline#close_symbol', 'X')
let s:spc = g:airline_symbols.space
let s:current_bufnr = -1
let s:current_tabnr = -1
@@ -32,7 +31,6 @@ endfunction
function! airline#extensions#tabline#tabs#get()
let curbuf = bufnr('%')
let curtab = tabpagenr()
call s:map_keys()
if curbuf == s:current_bufnr && curtab == s:current_tabnr
if !g:airline_detect_modified || getbufvar(curbuf, '&modified') == s:current_modified
return s:current_tabline
@@ -40,17 +38,6 @@ function! airline#extensions#tabline#tabs#get()
endif
let b = airline#extensions#tabline#new_builder()
let buffers = tabpagebuflist(curtab)
for nr in buffers
let group = airline#extensions#tabline#group_of_bufnr(buffers, nr)
call b.add_section(group, s:spc.'%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)'.s:spc)
endfor
call b.add_section('airline_tabfill', '')
call b.split()
call b.add_section('airline_tabfill', '')
for i in range(1, tabpagenr('$'))
if i == curtab
let group = 'airline_tabsel'
@@ -65,42 +52,29 @@ function! airline#extensions#tabline#tabs#get()
else
let group = 'airline_tab'
endif
" if s:show_tab_nr
" if s:tab_nr_type == 0
" let tablen = s:spc . '%{len(tabpagebuflist('.i.'))}'
" elseif s:tab_nr_type == 1
" let tablen = s:spc . i
" else "== 2
" let tablen = s:spc . i . '.%{len(tabpagebuflist('.i.'))}'
" endif
" endif
call b.add_section(group, '%T'.i.' tab ' . i)
let val = '%('
if s:show_tab_nr
if s:tab_nr_type == 0
let val .= ' %{len(tabpagebuflist('.i.'))}'
else
let val .= (g:airline_symbols.space).i
endif
endif
call b.add_section(group, val.'%'.i.'T %{airline#extensions#tabline#title('.i.')} %)')
endfor
" if s:show_close_button
" call b.add_section('airline_tab', ' %999X'.s:close_symbol.' ')
" endif
" if s:show_tab_type
" call b.add_section('airline_tabtype', ' tabs ')
" endif
call b.add_raw('%T')
call b.add_section('airline_tabfill', '')
call b.split()
if s:show_close_button
call b.add_section('airline_tab', ' %999X'.s:close_symbol.' ')
endif
if s:show_tab_type
call b.add_section('airline_tabtype', ' tabs ')
endif
let s:current_bufnr = curbuf
let s:current_tabnr = curtab
let s:current_tabline = b.build()
return s:current_tabline
endfunction
function s:map_keys()
noremap <silent> <Plug>AirlineSelectTab1 :1tabn<CR>
noremap <silent> <Plug>AirlineSelectTab2 :2tabn<CR>
noremap <silent> <Plug>AirlineSelectTab3 :3tabn<CR>
noremap <silent> <Plug>AirlineSelectTab4 :4tabn<CR>
noremap <silent> <Plug>AirlineSelectTab5 :5tabn<CR>
noremap <silent> <Plug>AirlineSelectTab6 :6tabn<CR>
noremap <silent> <Plug>AirlineSelectTab7 :7tabn<CR>
noremap <silent> <Plug>AirlineSelectTab8 :8tabn<CR>
noremap <silent> <Plug>AirlineSelectTab9 :9tabn<CR>
noremap <silent> <Plug>AirlineSelectPrevTab gT
" tabn {count} goes to count tab does not go {count} tab pages forward!
noremap <silent> <Plug>AirlineSelectNextTab :<C-U>exe repeat(':tabn\|', v:count1)<cr>
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':TagbarToggle')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':Tmuxline')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':UndotreeToggle')

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_unite', 0)

View File

@@ -1,6 +1,10 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !isdirectory($VIRTUAL_ENV)
finish
endif
let s:spc = g:airline_symbols.space
function! airline#extensions#virtualenv#init(ext)
@@ -8,22 +12,14 @@ function! airline#extensions#virtualenv#init(ext)
endfunction
function! airline#extensions#virtualenv#apply(...)
if &filetype =~# "python"
if &filetype =~ "python"
if get(g:, 'virtualenv_loaded', 0)
let statusline = virtualenv#statusline()
else
let statusline = fnamemodify($VIRTUAL_ENV, ':t')
endif
if !empty(statusline)
call airline#extensions#append_to_section('x',
\ s:spc.g:airline_right_alt_sep.s:spc.statusline)
endif
call airline#extensions#append_to_section('x',
\ s:spc.g:airline_right_alt_sep.s:spc.statusline)
endif
endfunction
function! airline#extensions#virtualenv#update()
if &filetype =~# "python"
call airline#extensions#virtualenv#apply()
call airline#update_statusline()
endif
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
" http://got-ravings.blogspot.com/2008/10/vim-pr0n-statusline-whitespace-flags.html
@@ -15,7 +15,6 @@ let s:default_checks = ['indent', 'trailing']
let s:trailing_format = get(g:, 'airline#extensions#whitespace#trailing_format', 'trailing[%s]')
let s:mixed_indent_format = get(g:, 'airline#extensions#whitespace#mixed_indent_format', 'mixed-indent[%s]')
let s:long_format = get(g:, 'airline#extensions#whitespace#long_format', 'long[%s]')
let s:indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0)
let s:max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000)
@@ -28,11 +27,9 @@ function! s:check_mixed_indent()
" spaces before or between tabs are not allowed
let t_s_t = '(^\t* +\t\s*\S)'
" <tab>(<space> x count)
" count of spaces at the end of tabs should be less than tabstop value
" count of spaces at the end of tabs should be less then tabstop value
let t_l_s = '(^\t+ {' . &ts . ',}' . '\S)'
return search('\v' . t_s_t . '|' . t_l_s, 'nw')
elseif s:indent_algo == 2
return search('\v(^\t* +\t\s*\S)', 'nw')
else
return search('\v(^\t+ +)|(^ +\t+)', 'nw')
endif
@@ -49,14 +46,7 @@ function! airline#extensions#whitespace#check()
let trailing = 0
if index(checks, 'trailing') > -1
try
let regexp = get(g:, 'airline#extensions#whitespace#trailing_regexp', '\s$')
let trailing = search(regexp, 'nw')
catch
echomsg 'airline#whitespace: error occured evaluating '. regexp
echomsg v:exception
return ''
endtry
let trailing = search('\s$', 'nw')
endif
let mixed = 0
@@ -64,12 +54,7 @@ function! airline#extensions#whitespace#check()
let mixed = s:check_mixed_indent()
endif
let long = 0
if index(checks, 'long') > -1 && &tw > 0
let long = search('\%>'.&tw.'v.\+', 'nw')
endif
if trailing != 0 || mixed != 0 || long != 0
if trailing != 0 || mixed != 0
let b:airline_whitespace_check = s:symbol
if s:show_message
if trailing != 0
@@ -78,9 +63,6 @@ function! airline#extensions#whitespace#check()
if mixed != 0
let b:airline_whitespace_check .= (g:airline_symbols.space).printf(s:mixed_indent_format, mixed)
endif
if long != 0
let b:airline_whitespace_check .= (g:airline_symbols.space).printf(s:long_format, long)
endif
endif
endif
endif

View File

@@ -1,30 +0,0 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:filetypes = get(g:, 'airline#extensions#wordcount#filetypes', '\vhelp|markdown|rst|org|text')
let s:format = get(g:, 'airline#extensions#wordcount#format', '%d words')
let s:formatter = get(g:, 'airline#extensions#wordcount#formatter', 'default')
function! s:update()
if match(&ft, s:filetypes) > -1
if get(b:, 'airline_wordcount_cache', '') is# '' ||
\ b:airline_wordcount_cache isnot# get(b:, 'airline_wordcount', '') ||
\ get(b:, 'airline_change_tick', 0) != b:changedtick
" cache data
let b:airline_wordcount = airline#extensions#wordcount#formatters#{s:formatter}#format()
let b:airline_wordcount_cache = b:airline_wordcount
let b:airline_change_tick = b:changedtick
endif
endif
endfunction
function! airline#extensions#wordcount#apply(...)
if &ft =~ s:filetypes
call airline#extensions#prepend_to_section('z', '%{get(b:, "airline_wordcount", "")}')
endif
endfunction
function! airline#extensions#wordcount#init(ext)
call a:ext.add_statusline_func('airline#extensions#wordcount#apply')
autocmd BufReadPost,CursorMoved,CursorMovedI * call s:update()
endfunction

View File

@@ -1,48 +0,0 @@
" 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")
return wordcount()['words']
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') > -1
return '.'
endif
return ''
endfunction

View File

@@ -1,19 +1,17 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:is_win32term = (has('win32') || has('win64')) && !has('gui_running') && (empty($CONEMUBUILD) || &term !=? 'xterm')
let s:is_win32term = (has('win32') || has('win64')) && !has('gui_running')
let s:separators = {}
let s:accents = {}
function! s:gui2cui(rgb, fallback)
if a:rgb == ''
return a:fallback
elseif match(a:rgb, '^\%(NONE\|[fb]g\)$') > -1
return a:rgb
endif
let rgb = map(split(a:rgb[1:], '..\zs'), '0 + ("0x".v:val)')
return airline#msdos#round_msdos_colors(rgb)
let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)')
let rgb = [rgb[0] > 127 ? 4 : 0, rgb[1] > 127 ? 2 : 0, rgb[2] > 127 ? 1 : 0]
return rgb[0]+rgb[1]+rgb[2]
endfunction
function! s:get_syn(group, what)
@@ -65,13 +63,13 @@ function! airline#highlighter#exec(group, colors)
endif
exec printf('hi %s %s %s %s %s %s %s %s',
\ a:group,
\ get(colors, 0, '') isnot# '' ? 'guifg='.colors[0] : '',
\ get(colors, 1, '') isnot# '' ? 'guibg='.colors[1] : '',
\ get(colors, 2, '') isnot# '' ? 'ctermfg='.colors[2] : '',
\ get(colors, 3, '') isnot# '' ? 'ctermbg='.colors[3] : '',
\ get(colors, 4, '') isnot# '' ? 'gui='.colors[4] : '',
\ get(colors, 4, '') isnot# '' ? 'cterm='.colors[4] : '',
\ get(colors, 4, '') isnot# '' ? 'term='.colors[4] : '')
\ get(colors, 0, '') != '' ? 'guifg='.colors[0] : '',
\ get(colors, 1, '') != '' ? 'guibg='.colors[1] : '',
\ get(colors, 2, '') != '' ? 'ctermfg='.colors[2] : '',
\ get(colors, 3, '') != '' ? 'ctermbg='.colors[3] : '',
\ get(colors, 4, '') != '' ? 'gui='.colors[4] : '',
\ get(colors, 4, '') != '' ? 'cterm='.colors[4] : '',
\ get(colors, 4, '') != '' ? 'term='.colors[4] : '')
endfunction
function! s:exec_separator(dict, from, to, inverse, suffix)

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
function! s:check_defined(variable, default)
@@ -15,13 +15,13 @@ function! airline#init#bootstrap()
let s:loaded = 1
let g:airline#init#bootstrapping = 1
call s:check_defined('g:airline_left_sep', get(g:, 'airline_powerline_fonts', 0)?"\ue0b0":">")
call s:check_defined('g:airline_left_alt_sep', get(g:, 'airline_powerline_fonts', 0)?"\ue0b1":">")
call s:check_defined('g:airline_right_sep', get(g:, 'airline_powerline_fonts', 0)?"\ue0b2":"<")
call s:check_defined('g:airline_right_alt_sep', get(g:, 'airline_powerline_fonts', 0)?"\ue0b3":"<")
call s:check_defined('g:airline_detect_modified', 1)
call s:check_defined('g:airline_detect_paste', 1)
call s:check_defined('g:airline_detect_crypt', 1)
call s:check_defined('g:airline_detect_iminsert', 0)
call s:check_defined('g:airline_inactive_collapse', 1)
call s:check_defined('g:airline_exclude_filenames', ['DebuggerWatch','DebuggerStack','DebuggerStatus'])
@@ -41,7 +41,6 @@ function! airline#init#bootstrap()
\ 's' : 'SELECT',
\ 'S' : 'S-LINE',
\ '' : 'S-BLOCK',
\ 't' : 'TERMINAL',
\ }, 'keep')
call s:check_defined('g:airline_theme_map', {})
@@ -63,7 +62,6 @@ function! airline#init#bootstrap()
\ 'branch': get(g:, 'airline_branch_prefix', get(g:, 'airline_powerline_fonts', 0) ? "\ue0a0" : ''),
\ 'modified': '+',
\ 'space': ' ',
\ 'crypt': get(g:, 'airline_crypt_symbol', nr2char(0x1F512)),
\ }, 'keep')
call airline#parts#define('mode', {
@@ -72,17 +70,13 @@ function! airline#init#bootstrap()
\ })
call airline#parts#define_function('iminsert', 'airline#parts#iminsert')
call airline#parts#define_function('paste', 'airline#parts#paste')
call airline#parts#define_function('crypt', 'airline#parts#crypt')
call airline#parts#define_function('filetype', 'airline#parts#filetype')
call airline#parts#define('readonly', {
\ 'function': 'airline#parts#readonly',
\ 'accent': 'red',
\ })
call airline#parts#define_raw('file', '%f%m')
call airline#parts#define_raw('path', '%F%m')
call airline#parts#define('linenr', {
\ 'raw': '%{g:airline_symbols.linenr}%#__accent_bold#%4l%#__restore__#',
\ 'accent': 'bold'})
call airline#parts#define_raw('linenr', '%{g:airline_symbols.linenr}%#__accent_bold#%4l%#__restore__#')
call airline#parts#define_function('ffenc', 'airline#parts#ffenc')
call airline#parts#define_empty(['hunks', 'branch', 'tagbar', 'syntastic', 'eclim', 'whitespace','windowswap'])
call airline#parts#define_text('capslock', '')
@@ -93,17 +87,13 @@ endfunction
function! airline#init#sections()
let spc = g:airline_symbols.space
if !exists('g:airline_section_a')
let g:airline_section_a = airline#section#create_left(['mode', 'crypt', 'paste', 'capslock', 'iminsert'])
let g:airline_section_a = airline#section#create_left(['mode', 'paste', 'capslock', 'iminsert'])
endif
if !exists('g:airline_section_b')
let g:airline_section_b = airline#section#create(['hunks', 'branch'])
endif
if !exists('g:airline_section_c')
if exists("+autochdir") && &autochdir == 1
let g:airline_section_c = airline#section#create(['%<', 'path', spc, 'readonly'])
else
let g:airline_section_c = airline#section#create(['%<', 'file', spc, 'readonly'])
endif
let g:airline_section_c = airline#section#create(['%<', 'file', spc, 'readonly'])
endif
if !exists('g:airline_section_gutter')
let g:airline_section_gutter = airline#section#create(['%='])

View File

@@ -1,57 +0,0 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
" basic 16 msdos from MSDOS
" see output of color, should be
" 0 Black
" 1 DarkBlue
" 2 DarkGreen
" 3 DarkCyan
" 4 DarkRed
" 5 DarkMagenta
" 6 Brown
" 7 LightGray
" 8 DarkGray
" 9 Blue
" 10 Green
" 11 Cyan
" 12 Red
" 13 Magenta
" 14 Yellow
" 15 White
let s:basic16 = [
\ [ 0x00, 0x00, 0x00 ],
\ [ 0x00, 0x00, 0x80 ],
\ [ 0x00, 0x80, 0x00 ],
\ [ 0x00, 0x80, 0x80 ],
\ [ 0x80, 0x00, 0x00 ],
\ [ 0x80, 0x00, 0x80 ],
\ [ 0x80, 0x80, 0x00 ],
\ [ 0xC0, 0xC0, 0xC0 ],
\ [ 0x80, 0x80, 0x80 ],
\ [ 0x00, 0x00, 0xFF ],
\ [ 0x00, 0xFF, 0x00 ],
\ [ 0x00, 0xFF, 0xFF ],
\ [ 0xFF, 0x00, 0x00 ],
\ [ 0xFF, 0x00, 0xFF ],
\ [ 0xFF, 0xFF, 0x00 ],
\ [ 0xFF, 0xFF, 0xFF ]
\ ]
function! airline#msdos#round_msdos_colors(rgblist)
" Check for values from MSDOS 16 color terminal
let best = []
let min = 100000
let list = s:basic16
for value in list
let t = abs(value[0] - a:rgblist[0]) +
\ abs(value[1] - a:rgblist[1]) +
\ abs(value[2] - a:rgblist[2])
if min > t
let min = t
let best = value
endif
endfor
return index(s:basic16, best)
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:parts = {}
@@ -54,10 +54,6 @@ function! airline#parts#mode()
return get(w:, 'airline_current_mode', '')
endfunction
function! airline#parts#crypt()
return g:airline_detect_crypt && exists("+key") && !empty(&key) ? g:airline_symbols.crypt : ''
endfunction
function! airline#parts#paste()
return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
endfunction

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
call airline#init#bootstrap()

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
" generates a dictionary which defines the colors for each highlight group

View File

@@ -15,7 +15,7 @@ let s:V4 = [ '#c7915b' , 173 ] " coffee
let s:PA = [ '#f4cf86' , 222 ] " dirtyblonde
let s:RE = [ '#ff9eb8' , 211 ] " dress
let s:IA = [ s:N3[1] , s:N2[1] , s:N3[3] , s:N2[3] , '' ]
let s:IA = [ s:N2[1] , s:N3[1] , s:N2[3] , s:N3[3] , '' ]
let g:airline#themes#badwolf#palette = {}

View File

@@ -96,42 +96,12 @@ else
let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#base16#palette.visual_modified = g:airline#themes#base16#palette.normal_modified
" Use VertSplit's bg and default fg (reversed) for inactive statusline.
let s:VS = airline#themes#get_highlight('VertSplit')
let s:IA = [ s:VS[1], 'NONE', s:VS[2], 'NONE', 'reverse']
let g:airline#themes#base16#palette.inactive =
\ airline#themes#generate_color_map(s:IA, s:IA, s:IA, s:IA, s:IA, s:IA)
let s:IM = [ s:VS[1], 'NONE', s:VS[2], 'NONE', 'reverse,italic']
let g:airline#themes#base16#palette.inactive_modified =
\ airline#themes#generate_color_map(s:IM, s:IM, s:IM, s:IM, s:IM, s:IM)
" Warnings
let s:WI = airline#themes#get_highlight2(['WarningMsg', 'bg'], ['WarningMsg', 'fg'], 'bold')
let g:airline#themes#base16#palette.normal.airline_warning = [
\ s:WI[0], s:WI[1], s:WI[2], s:WI[3]
\ ]
let g:airline#themes#base16#palette.normal_modified.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let g:airline#themes#base16#palette.insert.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let g:airline#themes#base16#palette.insert_modified.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let g:airline#themes#base16#palette.visual.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let g:airline#themes#base16#palette.visual_modified.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let g:airline#themes#base16#palette.replace.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let g:airline#themes#base16#palette.replace_modified.airline_warning =
\ g:airline#themes#base16#palette.normal.airline_warning
let s:IA = airline#themes#get_highlight2(['NonText', 'fg'], ['CursorLine', 'bg'])
let g:airline#themes#base16#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
let g:airline#themes#base16#palette.inactive_modified = {
\ 'airline_c': [ group[0], '', group[2], '', '' ]
\ }
endfunction
call airline#themes#base16#refresh()
endif

View File

@@ -1,77 +0,0 @@
" Normal mode
" [ guifg, guibg, ctermfg, ctermbg, opts ]
let s:N1 = [ '#141413' , '#CAE682' , 232 , 'green' ] " mode
let s:N2 = [ '#CAE682' , '#32322F' , 'green' , 235 ] " info
let s:N3 = [ '#CAE682' , '#242424' , 'green' , 234 ] " statusline
let s:N4 = [ '#86CD74' , 'DarkGreen' ] " mode modified
" Insert mode
let s:I1 = [ '#141413' , '#FDE76E' , 232 , 'yellow' ]
let s:I2 = [ '#FDE76E' , '#32322F' , 'yellow' , 235 ]
let s:I3 = [ '#FDE76E' , '#242424' , 'yellow' , 234 ]
let s:I4 = [ '#FADE3E' , 'yellow' ]
" Visual mode
let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 'blue' ]
let s:V2 = [ '#B5D3F3' , '#32322F' , 'blue' , 235 ]
let s:V3 = [ '#B5D3F3' , '#242424' , 'blue' , 234 ]
let s:V4 = [ '#7CB0E6' , 'blue' ]
" Replace mode
let s:R1 = [ '#141413' , '#E5786D' , 232 , 'red' ]
let s:R2 = [ '#E5786D' , '#32322F' , 'red' , 235 ]
let s:R3 = [ '#E5786D' , '#242424' , 'red' , 234 ]
let s:R4 = [ '#E55345' , 'red' ]
" Paste mode
let s:PA = [ '#94E42C' , 005 ]
" Info modified
let s:IM = [ '#40403C' , 236 ]
" Inactive mode
let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ]
let g:airline#themes#base16color#palette = {}
let g:airline#themes#base16color#palette.accents = {
\ 'red': [ '#E5786D' , '' , 203 , '' , '' ],
\ }
let g:airline#themes#base16color#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#base16color#palette.normal_modified = {
\ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] ,
\ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] }
let g:airline#themes#base16color#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#base16color#palette.insert_modified = {
\ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] ,
\ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] }
let g:airline#themes#base16color#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#base16color#palette.visual_modified = {
\ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] ,
\ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] }
let g:airline#themes#base16color#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
let g:airline#themes#base16color#palette.replace_modified = {
\ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] ,
\ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] }
let g:airline#themes#base16color#palette.insert_paste = {
\ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] ,
\ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] }
let g:airline#themes#base16color#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
let g:airline#themes#base16color#palette.inactive_modified = {
\ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] }

View File

@@ -1,58 +0,0 @@
let g:airline#themes#behelit#palette = {}
" Normal mode
let s:N1 = [ '#121212', '#5f87ff', 233, 69 ]
let s:N2 = [ '#5f87ff', '#262626', 69 , 235 ]
let s:N3 = [ '#5f87ff', '#1c1c1c', 69 , 234, 'bold' ]
let g:airline#themes#behelit#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#behelit#palette.normal_modified = {
\ 'airline_c': [ '#d7005f', '#1c1c1c', 161, 234, 'bold' ],
\ }
" Insert mode
let s:I1 = [ '#121212', '#00ff87', 233, 48 ]
let s:I2 = s:N2
let s:I3 = s:N3
let g:airline#themes#behelit#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#behelit#palette.insert_modified = g:airline#themes#behelit#palette.normal_modified
let g:airline#themes#behelit#palette.insert_paste = {
\ 'airline_a': [ "#121212", "#5f5faf", 233, 61, '' ],
\ }
" Replace mode
let g:airline#themes#behelit#palette.replace = copy(g:airline#themes#behelit#palette.insert)
let g:airline#themes#behelit#palette.replace.airline_a = [ s:I1[0], '#d70057', s:I1[2], 161, '' ]
let g:airline#themes#behelit#palette.replace_modified = g:airline#themes#behelit#palette.insert_modified
" Visual mode
let s:V1 = [ '#121212', '#5fff5f', 233, 83 ]
let s:V2 = s:N2
let s:V3 = s:N3
let g:airline#themes#behelit#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#behelit#palette.visual_modified = g:airline#themes#behelit#palette.normal_modified
" Inactive window
let s:IA1 = [ '#4e4e4e', '#1c1c1c', 239, 234, '' ]
let s:IA2 = [ '#4e4e4e', '#262626', 239, 235, '' ]
let s:IA3 = [ '#4e4e4e', '#1c1c1c', 239, 234, 'bold' ]
let g:airline#themes#behelit#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
let g:airline#themes#behelit#palette.inactive_modified = {
\ 'airline_c': [ '#5f5f87', '#1c1c1c', 60, 234, 'bold' ],
\ }
" Accents
let g:airline#themes#behelit#palette.accents = {
\ 'red': [ '#d7005f', '', 161, '' ]
\ }
" Warnings
let s:WI = [ '#121212', '#d7005f', 233, 161 ]
let g:airline#themes#behelit#palette.normal.airline_warning = s:WI
let g:airline#themes#behelit#palette.normal_modified.airline_warning = s:WI
let g:airline#themes#behelit#palette.insert.airline_warning = s:WI
let g:airline#themes#behelit#palette.insert_modified.airline_warning = s:WI
let g:airline#themes#behelit#palette.insert_paste.airline_warning = s:WI
let g:airline#themes#behelit#palette.visual.airline_warning = s:WI
let g:airline#themes#behelit#palette.visual_modified.airline_warning = s:WI
let g:airline#themes#behelit#palette.replace.airline_warning = s:WI
let g:airline#themes#behelit#palette.replace_modified.airline_warning = s:WI

View File

@@ -1,63 +0,0 @@
let g:airline#themes#cool#palette = {}
" NORMAL
let s:N1 = [ '#585858' , '#E4E4E4' , 17 , 190 ]
let s:N2 = [ '#E4E4E4' , '#0087AF' , 255 , 238 ]
let s:N3 = [ '#EEEEEE' , '#005F87' , 85 , 234 ]
let g:airline#themes#cool#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
"let g:airline#themes#cool#palette.normal_modified = {
"\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
"\ }
" INSERT
let s:I1 = [ '#585858' , '#E4E4E4' , 17 , 45 ]
let s:I2 = [ '#E4E4E4' , '#47AF00' , 255 , 27 ]
let s:I3 = [ '#EEEEEE' , '#2E8700' , 15 , 17 ]
let g:airline#themes#cool#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
"let g:airline#themes#cool#palette.insert_modified = {
"\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
"\ }
"let g:airline#themes#cool#palette.insert_paste = {
"\ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] ,
"\ }
" REPLACE
let s:R1 = [ '#585858' , '#E4E4E4' , 17 , 45 ]
let s:R2 = [ '#E4E4E4' , '#AF5F00' , 255 , 27 ]
let s:R3 = [ '#EEEEEE' , '#875300' , 15 , 17 ]
let g:airline#themes#cool#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
"let g:airline#themes#cool#palette.replace.airline_a = [ s:I2[0] , '#af0000' , s:I2[2] , 124 , '' ]
"let g:airline#themes#cool#palette.replace_modified = g:airline#themes#cool#palette.insert_modified
" VISUAL
let s:V1 = [ '#585858' , '#E4E4E4' , 232 , 214 ]
let s:V2 = [ '#E4E4E4' , '#AF2800' , 232 , 202 ]
let s:V3 = [ '#EEEEEE' , '#872800' , 15 , 52 ]
let g:airline#themes#cool#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
"let g:airline#themes#cool#palette.visual_modified = {
"\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
"\ }
" INACTIVE
let s:IA1 = [ '#585858' , '#E4E4E4' , 239 , 234 , '' ]
let s:IA2 = [ '#E4E4E4' , '#466D79' , 239 , 235 , '' ]
let s:IA3 = [ '#EEEEEE' , '#324E59' , 239 , 236 , '' ]
let g:airline#themes#cool#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
"let g:airline#themes#cool#palette.inactive_modified = {
"\ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] ,
"\ }
let g:airline#themes#cool#palette.accents = {
\ 'red': [ '#ff0000' , '' , 160 , '' ]
\ }
" CTRLP
if !get(g:, 'loaded_ctrlp', 0)
finish
endif
let g:airline#themes#cool#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
\ [ '#E4E4E4' , '#00AFA2' , 231 , 98 , '' ],
\ [ '#EEEEEE' , '#008787' , 55 , 231 , '' ],
\ [ '#585858' , '#E4E4E4' , 189 , 55 , '' ])

View File

@@ -1,59 +0,0 @@
" vim-airline companion theme of distinguished
" (https://github.com/Lokaltog/vim-distinguished)
" I have nothing to do with the original
" distinguished theme other than being a big fan.
" this theme was shamelessly created by modifying
" the Ubaryd airline theme.
let s:gray = [245, '#8a8a8a']
let s:golden = [143, '#afaf5f']
let s:pink = [131, '#af5f5f']
let s:blue = [ 67, '#5f87af']
let s:orange = [166, '#d75f00']
let s:outerfg = [ 16, '#000000']
let s:innerbg = [234, '#1c1c1c']
let s:middle = ['#bcbcbc', '#444444', 250, 238]
" Normal mode
let s:N1 = [s:outerfg[1], s:gray[1], s:outerfg[0], s:gray[0]]
let s:N3 = [s:gray[1], s:innerbg[1], s:gray[0], s:innerbg[0]]
" Insert mode
let s:I1 = [s:outerfg[1], s:golden[1], s:outerfg[0], s:golden[0]]
let s:I3 = [s:golden[1], s:innerbg[1], s:golden[0], s:innerbg[0]]
" Visual mode
let s:V1 = [s:outerfg[1], s:pink[1], s:outerfg[0], s:pink[0]]
let s:V3 = [s:pink[1], s:innerbg[1], s:pink[0], s:innerbg[0]]
" Replace mode
let s:R1 = [s:outerfg[1], s:blue[1], s:outerfg[0], s:blue[0]]
let s:R3 = [s:blue[1], s:innerbg[1], s:blue[0], s:innerbg[0]]
" Inactive pane
let s:IA = [s:middle[1], s:innerbg[1], s:middle[3], s:innerbg[0]]
let g:airline#themes#distinguished#palette = {}
let g:airline#themes#distinguished#palette.accents = {
\ 'red': ['#d70000', '', 160, '', '']}
let g:airline#themes#distinguished#palette.inactive = {
\ 'airline_a': s:IA,
\ 'airline_b': s:IA,
\ 'airline_c': s:IA}
let g:airline#themes#distinguished#palette.normal = airline#themes#generate_color_map(s:N1, s:middle, s:N3)
let g:airline#themes#distinguished#palette.normal_modified = {
\ 'airline_a': ['', s:orange[1], '', s:orange[0], ''],
\ 'airline_c': [s:orange[1], '', s:orange[0], '', ''],
\ 'airline_x': [s:orange[1], '', s:orange[0], '', ''],
\ 'airline_z': ['', s:orange[1], '', s:orange[0], '']}
let g:airline#themes#distinguished#palette.insert = airline#themes#generate_color_map(s:I1, s:middle, s:I3)
let g:airline#themes#distinguished#palette.insert_modified = {}
let g:airline#themes#distinguished#palette.replace = airline#themes#generate_color_map(s:R1, s:middle, s:R3)
let g:airline#themes#distinguished#palette.replace_modified = {}
let g:airline#themes#distinguished#palette.visual = airline#themes#generate_color_map(s:V1, s:middle, s:V3)
let g:airline#themes#distinguished#palette.visual_modified = {}

View File

@@ -1,6 +1,3 @@
let g:airline#themes#durant#palette = {}
let s:N1 = [ '#005f00' , '#afd700' , 22 , 148 ]
let s:N2 = [ '#93a1a1' , '#586e75' , 245 , 240 ]
let s:N3 = [ '#93a1a1' , '#073642' , 240 , 233 ]

View File

@@ -1,34 +0,0 @@
" vim-airline theme based on vim-hybrid and powerline
" (https://github.com/w0ng/vim-hybrid)
" (https://github.com/Lokaltog/powerline)
let g:airline#themes#hybridline#palette = {}
let s:N1 = [ '#282a2e' , '#c5c8c6' , 'black' , 15 ]
let s:N2 = [ '#c5c8c6' , '#373b41' , 15 , 8 ]
let s:N3 = [ '#ffffff' , '#282a2e' , 255 , 'black' ]
let g:airline#themes#hybridline#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#hybridline#palette.normal.airline_a = ['#005f00', '#b5bd68', 22, 10, '']
let s:I1 = [ '#005f5f' , '#8abeb7' , 23 , 14 ]
let s:I2 = [ '#c5c8c6' , '#0087af' , 15 , 31 ]
let s:I3 = [ '#ffffff' , '#005f87' , 255 , 24 ]
let g:airline#themes#hybridline#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#hybridline#palette.insert_paste = {
\ 'airline_a': ['#000000', '#ac4142', 16 , 1, ''] ,
\ }
let g:airline#themes#hybridline#palette.replace = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#hybridline#palette.replace.airline_a = ['#000000', '#CC6666', 16, 9]
let g:airline#themes#hybridline#palette.visual = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#hybridline#palette.visual.airline_a = ['#000000', '#de935f', 16, 3]
let s:IA1 = [ '#4e4e4e' , '#1c1c1c' , 239 , 234 , '' ]
let s:IA2 = [ '#4e4e4e' , '#262626' , 239 , 235 , '' ]
let s:IA3 = [ '#4e4e4e' , '#303030' , 239 , 236 , '' ]
let g:airline#themes#hybridline#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
let g:airline#themes#hybridline#palette.accents = {
\ 'red': [ '#ff0000' , '' , 160 , '' ]
\ }

View File

@@ -1,65 +0,0 @@
let g:airline#themes#papercolor#palette = {}
let g:airline#themes#papercolor#palette.accents = {
\ 'red': [ '#66d9ef' , '' , 81 , '' , '' ],
\ }
" Normal Mode:
let s:N1 = [ '#585858' , '#e4e4e4' , 240 , 254 ] " Mode
let s:N2 = [ '#e4e4e4' , '#0087af' , 254 , 31 ] " Info
let s:N3 = [ '#eeeeee' , '#005f87' , 255 , 24 ] " StatusLine
let g:airline#themes#papercolor#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#papercolor#palette.normal_modified = {
\ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] ,
\ }
" Insert Mode:
let s:I1 = [ '#585858' , '#e4e4e4' , 240 , 254 ] " Mode
let s:I2 = [ '#e4e4e4' , '#0087af' , 254 , 31 ] " Info
let s:I3 = [ '#eeeeee' , '#005f87' , 255 , 24 ] " StatusLine
let g:airline#themes#papercolor#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#papercolor#palette.insert_modified = {
\ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] ,
\ }
" Replace Mode:
let g:airline#themes#papercolor#palette.replace = copy(g:airline#themes#papercolor#palette.insert)
let g:airline#themes#papercolor#palette.replace.airline_a = [ '#d7005f' , '#e4e4e4' , 161 , 254, '' ]
let g:airline#themes#papercolor#palette.replace_modified = {
\ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] ,
\ }
" Visual Mode:
let s:V1 = [ '#005f87', '#e4e4e4', 24, 254 ]
let s:V2 = [ '', '#0087af', '', 31 ]
let s:V3 = [ '#e4e4e4', '#005f87', 254, 24 ]
let g:airline#themes#papercolor#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#papercolor#palette.visual_modified = {
\ 'airline_c': [ '#e4e4e4', '#005f87', 254, 24 ] ,
\ }
" Inactive:
let s:IA = [ '#585858' , '#e4e4e4' , 240 , 254 , '' ]
let g:airline#themes#papercolor#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
let g:airline#themes#papercolor#palette.inactive_modified = {
\ 'airline_c': [ '#585858' , '#e4e4e4' , 240 , 254 , '' ] ,
\ }
" CtrlP:
if !get(g:, 'loaded_ctrlp', 0)
finish
endif
let g:airline#themes#papercolor#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
\ [ '#e4e4e4' , '#005f87' , 254 , 24 , '' ] ,
\ [ '#e4e4e4' , '#0087af' , 254 , 31 , '' ] ,
\ [ '#585858' , '#e4e4e4' , 240 , 254 , 'bold' ] )

View File

@@ -1,92 +0,0 @@
" vim-airline 'term' theme
" it is using current terminal colorscheme
" and in gvim i left colors from 'wombat' theme but i am not using it anyway
" Normal mode
" [ guifg, guibg, ctermfg, ctermbg, opts ]
let s:N1 = [ '#141413' , '#CAE682' , 232 , 2 ] " mode
let s:N2 = [ '#CAE682' , '#32322F' , 2 , 'black' ] " info
let s:N3 = [ '#CAE682' , '#242424' , 2 , 233 ] " statusline
let s:N4 = [ '#86CD74' , 10 ] " mode modified
" Insert mode
let s:I1 = [ '#141413' , '#FDE76E' , 232 , 3 ]
let s:I2 = [ '#FDE76E' , '#32322F' , 3 , 'black' ]
let s:I3 = [ '#FDE76E' , '#242424' , 3 , 233 ]
let s:I4 = [ '#FADE3E' , 11 ]
" Visual mode
let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 4 ]
let s:V2 = [ '#B5D3F3' , '#32322F' , 4 , 'black' ]
let s:V3 = [ '#B5D3F3' , '#242424' , 4 , 233 ]
let s:V4 = [ '#7CB0E6' , 12 ]
" Replace mode
let s:R1 = [ '#141413' , '#E5786D' , 232 , 1 ]
let s:R2 = [ '#E5786D' , '#32322F' , 1 , 'black' ]
let s:R3 = [ '#E5786D' , '#242424' , 1 , 233 ]
let s:R4 = [ '#E55345' , 9 ]
" Paste mode
let s:PA = [ '#94E42C' , 6 ]
" Info modified
let s:IM = [ '#40403C' , 238 ]
" Inactive mode
let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ]
let g:airline#themes#term#palette = {}
let g:airline#themes#term#palette.accents = {
\ 'red': [ '#E5786D' , '' , 203 , '' , '' ],
\ }
let g:airline#themes#term#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#term#palette.normal_modified = {
\ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] ,
\ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] }
let g:airline#themes#term#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#term#palette.insert_modified = {
\ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] ,
\ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] }
let g:airline#themes#term#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#term#palette.visual_modified = {
\ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] ,
\ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] }
let g:airline#themes#term#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
let g:airline#themes#term#palette.replace_modified = {
\ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] ,
\ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] }
let g:airline#themes#term#palette.insert_paste = {
\ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] ,
\ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] ,
\ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] }
let g:airline#themes#term#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
let g:airline#themes#term#palette.inactive_modified = {
\ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] }
if !get(g:, 'loaded_ctrlp', 0)
finish
endif
let g:airline#themes#term#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
\ [ '#DADADA' , '#242424' , 253 , 234 , '' ] ,
\ [ '#DADADA' , '#40403C' , 253 , 238 , '' ] ,
\ [ '#141413' , '#DADADA' , 232 , 253 , 'bold' ] )

View File

@@ -1,45 +0,0 @@
let g:airline#themes#xtermlight#palette = {}
let s:N1 = [ '#eeeeee' , '#005fff' , 255 , 27 ]
let s:N2 = [ '#000087' , '#00d7ff' , 18 , 45 ]
let s:N3 = [ '#005fff' , '#afffff' , 27 , 159 ]
let g:airline#themes#xtermlight#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#xtermlight#palette.normal_modified = {
\ 'airline_c': [ '#d70000' , '#ffdfdf' , 160 , 224 , '' ] ,
\ }
let s:I1 = [ '#eeeeee' , '#00875f' , 255 , 29 ]
let s:I2 = [ '#005f00' , '#00d787' , 22 , 42 ]
let s:I3 = [ '#005f5f' , '#afff87' , 23 , 156 ]
let g:airline#themes#xtermlight#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#xtermlight#palette.insert_modified = {
\ 'airline_c': [ '#d70000' , '#ffdfdf' , 160 , 224 , '' ] ,
\ }
let g:airline#themes#xtermlight#palette.insert_paste = {
\ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] ,
\ }
let g:airline#themes#xtermlight#palette.replace = copy(g:airline#themes#xtermlight#palette.insert)
let g:airline#themes#xtermlight#palette.replace.airline_a = [ s:I2[0] , '#ff0000' , s:I1[2] , 196 , '' ]
let g:airline#themes#xtermlight#palette.replace_modified = g:airline#themes#xtermlight#palette.insert_modified
let s:V1 = [ '#eeeeee' , '#ff5f00' , 255 , 202 ]
let s:V2 = [ '#5f0000' , '#ffaf00' , 52 , 214 ]
let s:V3 = [ '#d75f00' , '#ffff87' , 166 , 228 ]
let g:airline#themes#xtermlight#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#xtermlight#palette.visual_modified = {
\ 'airline_c': [ '#d70000' , '#ffdfdf' , 160 , 224 , '' ] ,
\ }
let s:IA1 = [ '#6c6c6c' , '#b2b2b2' , 242 , 249 , '' ]
let s:IA2 = [ '#8a8a8a' , '#d0d0d0' , 245 , 252 , '' ]
let s:IA3 = [ '#a8a8a8' , '#eeeeee' , 248 , 255 , '' ]
let g:airline#themes#xtermlight#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
let g:airline#themes#xtermlight#palette.inactive_modified = {
\ 'airline_c': [ '#d70000' , '' , 160 , '' , '' ] ,
\ }

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
call airline#init#bootstrap()

View File

@@ -14,17 +14,16 @@ CONTENTS *airline-contents*
03. Name ................................................. |airline-name|
04. Configuration ............................... |airline-configuration|
05. Commands ......................................... |airline-commands|
06. Autocommands ................................. |airline-autocommands|
07. Customization ............................... |airline-customization|
08. Extensions ..................................... |airline-extensions|
09. Advanced Customization ............. |airline-advanced-customization|
10. Funcrefs ......................................... |airline-funcrefs|
11. Pipeline ......................................... |airline-pipeline|
12. Writing Extensions ..................... |airline-writing-extensions|
13. Writing Themes ..................................... |airline-themes|
14. Troubleshooting ........................... |airline-troubleshooting|
15. Contributions ............................... |airline-contributions|
16. License ........................................... |airline-license|
06. Customization ............................... |airline-customization|
07. Extensions ..................................... |airline-extensions|
08. Advanced Customization ............. |airline-advanced-customization|
09. Funcrefs ......................................... |airline-funcrefs|
10. Pipeline ......................................... |airline-pipeline|
11. Writing Extensions ..................... |airline-writing-extensions|
12. Writing Themes ..................................... |airline-themes|
13. Troubleshooting ........................... |airline-troubleshooting|
14. Contributions ............................... |airline-contributions|
15. License ........................................... |airline-license|
==============================================================================
INTRODUCTION *airline-intro*
@@ -70,9 +69,6 @@ values):
* enable paste detection >
let g:airline_detect_paste=1
<
* enable crypt detection >
let g:airline_detect_crypt=1
<
* enable iminsert detection >
let g:airline_detect_iminsert=0
<
@@ -150,25 +146,14 @@ COMMANDS *airline-commands*
:AirlineRefresh *:AirlineRefresh*
Refreshes all highlight groups and redraws the statusline.
==============================================================================
AUTOCOMMANDS *airline-autocommands*
Airline comes with some user-defined autocommands.
|AirlineAfterInit| after plugin is initialized, but before the statusline
is replaced
|AirlineToggledOn| after airline is activated and replaced the statusline
|AirlineToggledOff| after airline is deactivated and the statusline is
restored to the original
==============================================================================
CUSTOMIZATION *airline-customization*
The following are some unicode symbols for customizing the left/right
separators, as well as the powerline font glyphs.
separators, as well as the powerline font glyths.
Note: You must define the dictionary first before setting values. Also, it's a
good idea to check whether it exists as to avoid accidentally overwriting
good idea to check whether if it exists as to avoid accidentally overwritting
its contents. >
if !exists('g:airline_symbols')
let g:airline_symbols = {}
@@ -179,7 +164,6 @@ its contents. >
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.crypt = '🔒'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.linenr = '␤'
let g:airline_symbols.linenr = '¶'
@@ -218,7 +202,7 @@ section.
>
variable names default contents
----------------------------------------------------------------------------
let g:airline_section_a (mode, crypt, paste, iminsert)
let g:airline_section_a (mode, paste, iminsert)
let g:airline_section_b (hunks, branch)
let g:airline_section_c (bufferline or filename)
let g:airline_section_gutter (readonly, csv)
@@ -239,22 +223,13 @@ Most extensions are enabled by default and lazily loaded when the
corresponding plugin (if any) is detected.
By default, airline will attempt to load any extension it can find in the
'runtimepath'. On some systems this can result in an undesirable startup
'runtimepath'. On some systems this can result in an undersirable startup
cost. You can disable the check with the following flag. >
let g:airline#extensions#disable_rtp_load = 1
<
Note: Third party plugins that rely on this behavior will be affected. You
will need to manually load them.
Alternatively, if you want a minimalistic setup and would rather opt-in which
extensions get loaded instead of disabling each individually, you can declare
the following list variable: >
" an empty list disables all extensions
let g:airline_extensions = []
" or only load what you want
let g:airline_extensions = ['branch', 'tabline']
<
------------------------------------- *airline-default*
The default extension understands all of the `g:` variables in the
|airline-configuration| section, however it also has some more fine-tuned
@@ -271,7 +246,7 @@ configuration values that you can use.
" Note: set to an empty dictionary to disable truncation.
let g:airline#extensions#default#section_truncate_width = {}
<
* configure the layout of the sections by specifying an array of two arrays
* configure the layout of the sections by specificing an array of two arrays
(first array is the left side, second array is the right side). >
let g:airline#extensions#default#layout = [
\ [ 'a', 'b', 'c' ],
@@ -309,31 +284,13 @@ vcscommand <http://www.vim.org/scripts/script.php?script_id=90>
<
* change the text for when no branch is detected >
let g:airline#extensions#branch#empty_message = ''
<
* use vcscommand.vim if available >
let g:airline#extensions#branch#use_vcscommand = 0
<
* truncate long branch names to a fixed length >
let g:airline#extensions#branch#displayed_head_limit = 10
<
* customize formatting of branch name >
" default value leaves the name unmodifed
let g:airline#extensions#branch#format = 0
" to only show the tail, e.g. a branch 'feature/foo' becomes 'foo', use
let g:airline#extensions#branch#format = 1
" to truncate all path sections but the last one, e.g. a branch
" 'foo/bar/baz' becomes 'f/b/baz', use
let g:airline#extensions#branch#format = 2
" if a string is provided, it should be the name of a function that
" takes a string and returns the desired value
let g:airline#extensions#branch#format = 'CustomBranchName'
function! CustomBranchName(name)
return '[' . a:name . ']'
endfunction
<
------------------------------------- *airline-syntastic*
syntastic <https://github.com/scrooloose/syntastic>
@@ -366,7 +323,6 @@ csv.vim <https://github.com/chrisbra/csv.vim>
vim-gitgutter <https://github.com/airblade/vim-gitgutter>
vim-signify <https://github.com/mhinz/vim-signify>
changesPlugin <https://github.com/chrisbra/changesPlugin>
quickfixsigns <https://github.com/tomtom/quickfixsigns_vim>
* enable/disable showing a summary of changed hunks under source control. >
let g:airline#extensions#hunks#enabled = 1
@@ -405,31 +361,6 @@ eclim <https://eclim.org>
|airline-syntastic| extension. >
let g:airline#extensions#eclim#enabled = 1
------------------------------------- *airline-wordcount*
* enable/disable word counting. >
let g:airline#extensions#wordcount#enabled = 1
<
* regex of filetypes to enable word counting. >
" the default value matches filetypes typically used for documentation
" such as markdown and help files.
let g:airline#extensions#wordcount#filetypes = ...
(default: markdown,rst,org,help,text)
* defines the name of a formatter for word count will be displayed: >
" The default will try to guess LC_NUMERIC and format number accordingly
" e.g. 1,042 in English and 1.042 in German locale
let g:airline#extensions#wordcount#formatter = 'default'
" here is how you can define a 'foo' formatter:
" create a file in the dir autoload/airline/extensions/wordcount/formatters/
" called foo.vim
" this example needs at least Vim > 7.4.1042
function! airline#extensions#wordcount#formatters#foo#format()
return (wordcount()['words'] == 0 ? 'NONE' :
\ wordcount()['words'] > 100 ? 'okay' : 'not enough')
endfunction
let g:airline#extensions#wordline#formatter = 'foo'
<
------------------------------------- *airline-whitespace*
* enable/disable detection of whitespace errors. >
let g:airline#extensions#whitespace#enabled = 1
@@ -441,17 +372,12 @@ eclim <https://eclim.org>
" certain number of spaces are allowed after tabs, but not in between
" this algorithm works well for /** */ style comments in a tab-indented file
let g:airline#extensions#whitespace#mixed_indent_algo = 1
" spaces are allowed after tabs, but not in between
" this algorithm works well with programming styles that use tabs for
" indentation and spaces for alignment
let g:airline#extensions#whitespace#mixed_indent_algo = 2
<
* customize the whitespace symbol. >
let g:airline#extensions#whitespace#symbol = '!'
<
* configure which whitespace checks to enable. >
let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'long' ]
let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing' ]
<
* configure the maximum number of lines where whitespace checking is enabled. >
let g:airline#extensions#whitespace#max_lines = 20000
@@ -462,10 +388,6 @@ eclim <https://eclim.org>
* configure the formatting of the warning messages. >
let g:airline#extensions#whitespace#trailing_format = 'trailing[%s]'
let g:airline#extensions#whitespace#mixed_indent_format = 'mixed-indent[%s]'
let g:airline#extensions#whitespace#long_format = 'long[%s]'
* configure custom trailing whitespace regexp rule >
let g:airline#extensions#whitespace#trailing_regexp = '\s$'
<
------------------------------------- *airline-tabline*
* enable/disable enhanced tabline. >
@@ -479,14 +401,10 @@ eclim <https://eclim.org>
<
* configure filename match rules to exclude from the tabline. >
let g:airline#extensions#tabline#excludes = []
* enable/disable display preview window buffer in the tabline.
let g:airline#extensions#tabline#exclude_preview = 1
* configure how numbers are displayed in tab mode. >
<
* configure how numbers are calculated in tab mode. >
let g:airline#extensions#tabline#tab_nr_type = 0 " # of splits (default)
let g:airline#extensions#tabline#tab_nr_type = 1 " tab number
let g:airline#extensions#tabline#tab_nr_type = 2 " splits and tab number
<
* enable/disable displaying tab number in tabs mode. >
let g:airline#extensions#tabline#show_tab_nr = 1
@@ -510,32 +428,19 @@ exposed.
nmap <leader>7 <Plug>AirlineSelectTab7
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9
nmap <leader>- <Plug>AirlineSelectPrevTab
nmap <leader>+ <Plug>AirlineSelectNextTab
Note: Mappings will be ignored within a NERDTree buffer.
Note: In buffer_idx_mode these mappings won't change the
current tab, but switch to the buffer visible in that tab.
Use |gt| for switching tabs.
In tabmode, those mappings will switch to the specified tab.
* defines the name of a formatter for how buffer names are displayed. >
let g:airline#extensions#tabline#formatter = 'default'
" here is how you can define a 'foo' formatter:
" create a file in the dir autoload/airline/extensions/tabline/formatters/
" called foo.vim
function! airline#extensions#tabline#formatters#foo#format(bufnr, buffers)
function! airline#extensions#tabline#foo#format(bufnr, buffers)
return fnamemodify(bufname(a:bufnr), ':t')
endfunction
let g:airline#extensions#tabline#formatter = 'foo'
<
Note: the following variables are only used by the 'default' formatter.
When no disambiguation is needed, both 'unique_tail_improved' and
'unique_tail' delegate formatting to 'default', so these variables also
control rendering of unique filenames when using these formatters.
* configure whether buffer numbers should be shown. >
let g:airline#extensions#tabline#buffer_nr_show = 0
@@ -548,9 +453,6 @@ exposed.
<
* configure collapsing parent directories in buffer name. >
let g:airline#extensions#tabline#fnamecollapse = 1
<
* configure truncating non-active buffer names to specified length. >
let g:airline#extensions#tabline#fnametruncate = 0
" The `unique_tail` algorithm will display the tail of the filename, unless
" there is another file of the same name, in which it will display it along
@@ -584,11 +486,6 @@ exposed.
* configure symbol used to represent close button
let g:airline#extensions#tabline#close_symbol = 'X'
* configure pattern to be ignored on BufAdd autocommand >
" fixes unneccessary redraw, when e.g. opening Gundo window
let airline#extensions#tabline#ignore_bufadd_pat =
\ '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree'
<
Note: Enabling this extension will modify 'showtabline' and 'guioptions'.
@@ -629,19 +526,19 @@ promptline <https://github.com/edkolev/promptline.vim>
let airline#extensions#promptline#color_template = 'visual'
let airline#extensions#promptline#color_template = 'replace'
<
------------------------------------- *airline-nrrwrgn*
------------------------------------- *airline-nrrwrgn*
NrrwRgn <https://github.com/chrisbra/NrrwRgn>
* enable/disable NrrwRgn integration >
let g:airline#extensions#nrrwrgn#enabled = 1
------------------------------------- *airline-capslock*
------------------------------------- *airline-capslock*
vim-capslock <https://github.com/tpope/vim-capslock>
* enable/disable vim-capslock integration >
let g:airline#extensions#capslock#enabled = 1
------------------------------------- *airline-windowswap*
------------------------------------- *airline-windowswap*
vim-windowswap <https://github.com/wesQ3/vim-windowswap>
* enable/disable vim-windowswap integration >
@@ -650,22 +547,10 @@ vim-windowswap <https://github.com/wesQ3/vim-windowswap>
* set marked window indicator string >
let g:airline#extensions#windowswap#indicator_text = 'WS'
<
------------------------------------- *airline-taboo*
taboo.vim <https://github.com/gcmt/taboo.vim>
* enable/disable taboo.vim integration >
let g:airline#extensions#taboo#enabled = 1
<
------------------------------------- *airline-ctrlspace*
vim-ctrlspace <https://github.com/szw/vim-ctrlspace>
* enable/disable vim-ctrlspace integration >
let g:airline#extensions#ctrlspace#enabled = 1
<
==============================================================================
ADVANCED CUSTOMIZATION *airline-advanced-customization*
The defaults will accommodate the mass majority of users with minimal
The defaults will accomodate the mass majority of users with minimal
configuration. However, if you want to reposition sections or contents you can
do so with built-in helper functions, which makes it possible to create
sections in a more declarative style.
@@ -686,10 +571,6 @@ greater than a minimum width. >
Parts can be configured to be visible conditionally. >
call airline#parts#define_condition('foo', 'getcwd() =~ "work_dir"')
<
Now add part "foo" to section section airline_section_y: >
let g:airline_section_y = airline#section#create_right(['ffenc','foo'])
<
Note: Part definitions are combinative; e.g. the two examples above modify the
same `foo` part.
@@ -701,7 +582,6 @@ Before is a list of parts that are predefined by vim-airline.
* `mode` displays the current mode
* `iminsert` displays the current insert method
* `paste` displays the paste indicator
* crypt displays the crypted indicator
* `filetype` displays the file type
* `readonly` displays the read only indicator
* `file` displays the filename and modified indicator
@@ -736,7 +616,7 @@ define a section like this: >
let g:airline_section_b = airline#section#create_left(['ffenc','file'])
let g:airline_section_c = airline#section#create(['%{getcwd()}'])
endfunction
autocmd User AirlineAfterInit call AirlineInit()
autocmd VimEnter * call AirlineInit()
<
This will create a section with the `mode`, followed by a space, and our `foo`
part in section `a`. Section `b` will have two parts with a left-side
@@ -764,7 +644,7 @@ the most powerful way to customize the statusline, and sometimes it may be
easier to go this route than the above methods.
Every section can have two values. The default value is the global `g:`
variable which is used in the absence of a `w:` value. This makes it very easy
variable which is used in the absense of a `w:` value. This makes it very easy
to override only certain parts of the statusline by only defining window-local
variables for a subset of all sections.
@@ -915,7 +795,7 @@ Contributions and pull requests are welcome.
==============================================================================
LICENSE *airline-license*
MIT License. Copyright © 2013-2016 Bailey Ling.
MIT License. Copyright © 2013-2015 Bailey Ling.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if &cp || v:version < 702 || (exists('g:loaded_airline') && g:loaded_airline)
@@ -6,36 +6,36 @@ if &cp || v:version < 702 || (exists('g:loaded_airline') && g:loaded_airline)
endif
let g:loaded_airline = 1
autocmd VimEnter * call airline#deprecation#check()
let s:airline_initialized = 0
let s:airline_theme_defined = 0
function! s:init()
if s:airline_initialized
return
if !s:airline_initialized
let s:airline_initialized = 1
call airline#init#bootstrap()
call airline#extensions#load()
call airline#init#sections()
let s:airline_theme_defined = exists('g:airline_theme')
if s:airline_theme_defined || !airline#switch_matching_theme()
let g:airline_theme = get(g:, 'airline_theme', 'dark')
call airline#switch_theme(g:airline_theme)
endif
endif
let s:airline_initialized = 1
call airline#extensions#load()
call airline#init#sections()
let s:airline_theme_defined = exists('g:airline_theme')
if s:airline_theme_defined || !airline#switch_matching_theme()
let g:airline_theme = get(g:, 'airline_theme', 'dark')
call airline#switch_theme(g:airline_theme)
endif
silent doautocmd User AirlineAfterInit
endfunction
function! s:on_window_changed()
if pumvisible() && (!&previewwindow || g:airline_exclude_preview)
if pumvisible()
return
endif
call s:init()
call <sid>init()
call airline#update_statusline()
endfunction
function! s:on_colorscheme_changed()
call s:init()
call <sid>init()
if !s:airline_theme_defined
if airline#switch_matching_theme()
return
@@ -81,11 +81,11 @@ function! s:airline_toggle()
\ | call airline#load_theme()
augroup END
if s:airline_initialized
call s:on_window_changed()
endif
silent doautocmd User AirlineToggledOn
if s:airline_initialized
call <sid>on_window_changed()
endif
endif
endfunction
@@ -93,7 +93,6 @@ function! s:get_airline_themes(a, l, p)
let files = split(globpath(&rtp, 'autoload/airline/themes/'.a:a.'*'), "\n")
return map(files, 'fnamemodify(v:val, ":t:r")')
endfunction
function! s:airline_theme(...)
if a:0
call airline#switch_theme(a:1)
@@ -101,14 +100,10 @@ function! s:airline_theme(...)
echo g:airline_theme
endif
endfunction
command! -nargs=? -complete=customlist,<sid>get_airline_themes AirlineTheme call <sid>airline_theme(<f-args>)
command! AirlineToggleWhitespace call airline#extensions#whitespace#toggle()
command! AirlineToggle call <sid>airline_toggle()
command! AirlineRefresh call airline#load_theme() | call airline#update_statusline()
command! -bar -nargs=? -complete=customlist,<sid>get_airline_themes AirlineTheme call <sid>airline_theme(<f-args>)
command! -bar AirlineToggleWhitespace call airline#extensions#whitespace#toggle()
command! -bar AirlineToggle call s:airline_toggle()
command! -bar AirlineRefresh call airline#load_theme() | call airline#update_statusline()
call airline#init#bootstrap()
call s:airline_toggle()
autocmd VimEnter * call airline#deprecation#check()
call <sid>airline_toggle()

View File

@@ -1,7 +1,7 @@
let g:airline_theme = 'dark'
call airline#init#bootstrap()
call airline#init#sections()
source plugin/airline.vim
doautocmd VimEnter
function! MyFuncref(...)
call a:1.add_raw('hello world')

View File

@@ -1,5 +1,7 @@
call airline#init#bootstrap()
call airline#init#sections()
source plugin/airline.vim
doautocmd VimEnter
describe 'commands'
it 'should toggle off and on'

View File

@@ -1,10 +1,8 @@
let g:airline#extensions#default#layout = [
\ [ 'c', 'a', 'b', 'warning' ],
\ [ 'x', 'z', 'y' ]
\ ]
let g:airline_theme = 'dark'
call airline#init#bootstrap()
call airline#init#sections()
source plugin/airline.vim
doautocmd VimEnter
call airline#load_theme()
describe 'default'
before
@@ -12,6 +10,10 @@ describe 'default'
end
it 'should use the layout'
let g:airline#extensions#default#layout = [
\ [ 'c', 'a', 'b', 'warning' ],
\ [ 'x', 'z', 'y' ]
\ ]
call airline#extensions#default#apply(s:builder, { 'winnr': 1, 'active': 1 })
let stl = s:builder.build()
Expect stl =~ 'airline_c_to_airline_a'