157 Commits

Author SHA1 Message Date
Bailey Ling
f7835562a3 spike for combined buffers/tabs
prototype for #639
2016-01-27 23:17:45 -05:00
Bailey Ling
3cd278ad08 add deprecation warning regarding themes #923. 2016-01-27 22:46:57 -05:00
Bailey Ling
69587e1aa0 Merge pull request #839 from yeskeen/master
add cool theme
2016-01-27 22:17:59 -05:00
Bailey Ling
87e2e578b5 Merge pull request #865 from dlanileonardo/master
Base16 Theme for Terminal with 16 colors
2016-01-27 22:17:35 -05:00
Bailey Ling
2cf0ac1230 Merge pull request #937 from chrisbra/xtermlight
add xtermlight theme
2016-01-27 22:17:21 -05:00
Christian Brabandt
94611d1091 Merge pull request #951 from chrisbra/fix_wordcount
fix stupid typo
2016-01-27 21:23:16 +01:00
Christian Brabandt
da21b97529 fix stupid typo 2016-01-27 21:22:39 +01:00
Christian Brabandt
82d1cab392 Merge pull request #950 from chrisbra/msdos_colors
Better algorightm, to get msdos colors
2016-01-27 20:46:03 +01:00
Christian Brabandt
b094374f37 Merge pull request #944 from chrisbra/wordcount_formatter
Some improvements to the wordcount plugin
2016-01-27 20:41:21 +01:00
Christian Brabandt
1be1ed8810 Merge pull request #947 from chrisbra/custom_trailing_space
Allow to customize the trailing whitespace regexp
2016-01-27 20:40:47 +01:00
Christian Brabandt
768a475add Better algorightm, to get msdos colors
currently, full 255 colors were returned, while in fact
msdos console only supports 16 colors. So fix this.
2016-01-27 20:37:58 +01:00
Christian Brabandt
1490f59e75 Merge pull request #949 from chrisbra/cmd_highlighter
cmd.exe: Check for NONE/fg/bg of color value
2016-01-27 19:13:51 +01:00
Christian Brabandt
5181d49a63 cmd.exe: Check for NONE/fg/bg of color value
Color values can have NONE/fg/bg values as well, and this would
error out.
2016-01-27 19:12:54 +01:00
Christian Brabandt
a1cb468339 Merge pull request #948 from cHoco/patch-1
base16-theme: Revert changes for active statusline
2016-01-27 17:29:56 +01:00
Enrico Ghirardi
04f4b0f778 base16-theme: Revert changes for active statusline 2016-01-27 17:13:57 +01:00
Christian Brabandt
453f4b759f Allow to customize the trailing whitespace regexp
Currently, vim-airline uses hard-coded '\s$' to check for trailing
whitespace. However you might want to check for different values.
Therefore, set the variable
g:airline#extensions#whitespace#trailing_regexp to the required regexp
value.

closes #663
2016-01-27 14:18:28 +01:00
Christian Brabandt
020ee382dc Merge pull request #945 from chrisbra/bufadd_ignore
fix issue #939
2016-01-26 20:58:10 +01:00
Christian Brabandt
889492e01c fix issue #939 2016-01-26 07:52:42 +01:00
Christian Brabandt
97e204f3b6 Some improvements to the wordcount plugin
1) allow for custom formatting of the output of the wordcount formatter
   This allows for formatting numbers correctly e.g. 1,042 in English
   locale and 1.042 in German locale.

2) cache values, so that no on every cursor move the wordcount needs to
   be recalculated.
2016-01-25 21:00:05 +01:00
Bailey Ling
c35fd1a068 Merge pull request #942 from chrisbra/hi_problem_758
Correct the comparison for given color codes
2016-01-25 09:31:28 -05:00
Christian Brabandt
349ca86c71 Correct the comparison for given color codes
this issue fixes #758

The problem was, that a given color list ['','',0,'',''] was given to
the airline#highlighter#exec() function. This resulted in the following
comparison:

if (get(colors,2,'') != '')  ? 'ctermfg='.colors[2] : ''

which, since echo 0 != '' returns falls will return a single:

:hi group

and no color codes given and therefore, Vim would output the
current highlighting group.

Use isnot# as comparison to fix this issue.
2016-01-25 12:21:34 +01:00
Christian Brabandt
fb76dfbca1 Merge pull request #941 from chrisbra/doc
clarify how to add custom parts to the statusline
2016-01-23 22:10:16 +01:00
Christian Brabandt
9e25f52c6f clarify how to add custom parts to the statusline 2016-01-23 22:09:37 +01:00
Christian Brabandt
cce3e41398 Merge pull request #940 from chrisbra/nrrwrgn
NrrwRgn: Only use Utf-8 Glyph in utf8 encoding
2016-01-23 21:35:28 +01:00
Christian Brabandt
e42c0b0f33 NrrwRgn: Only use Utf-8 Glyph in utf8 encoding
Fixes #567
2016-01-23 21:31:34 +01:00
Bailey Ling
8fb92586ee Merge pull request #938 from chrisbra/undefined_bold
Before using hlgroups make sure they exist
2016-01-23 13:50:38 -05:00
Bailey Ling
698db37591 Merge pull request #932 from chrisbra/updated-doc
clarify buffer_idx mode mappings
2016-01-23 13:47:17 -05:00
Christian Brabandt
b1c00b6cc9 define linenr with bold accent 2016-01-23 12:49:13 +01:00
Christian Brabandt
5923ced2b0 clarify buffer_idx mode mappings
Also add mappings for tabmode as suggested.
2016-01-22 20:20:18 +01:00
Bailey Ling
fb255b570d Merge pull request #935 from chrisbra/bufadd_autocmd
update tabline on bufadd events
2016-01-22 09:14:14 -05:00
Christian Brabandt
b6d65b41a0 add xtermlight theme
fixes #770
2016-01-22 11:17:20 +01:00
Christian Brabandt
8ae46e989d update tabline on bufadd events 2016-01-21 21:10:25 +01:00
Christian Brabandt
8afd72d886 Merge pull request #936 from h3xx/fix-logic-simplicity
Simplify logic on if statement
2016-01-21 20:50:14 +01:00
Dan Church
1d6ec383e4 Simplify logic on if statement
Referencing the same boolean multiple times in a logical statement is
probably not what was intended.
2016-01-21 10:46:36 -06:00
Christian Brabandt
d07799421a Merge pull request #934 from chrisbra/formatter
fix typo in documentation about formatters
2016-01-20 23:59:05 +01:00
Christian Brabandt
604f744727 fix typo in documentation about formatters
fixes #873
2016-01-20 23:53:14 +01:00
Christian Brabandt
0e6a0b9389 Merge pull request #893 from blueyed/theme-base16-vertsplit
base16 theme: use Normal/VertSplit for inactive statusline
2016-01-20 23:31:36 +01:00
Christian Brabandt
fb77c3ac27 Merge pull request #933 from chrisbra/fix_virtualenv
fix issue with virtualenv
2016-01-20 23:23:12 +01:00
Christian Brabandt
2ebe79a0d0 fix issue with virtualenv 2016-01-20 23:21:20 +01:00
Daniel Hahler
c10a072b9e base16 theme: use Normal/VertSplit for inactive statusline 2016-01-20 22:50:19 +01:00
Bailey Ling
17eff4f4b0 Merge pull request #931 from chrisbra/tabline-mappings
use silent flag for AirlineSelectTab mappings
2016-01-20 15:25:48 -05:00
Bailey Ling
b8278dc446 Merge pull request #930 from chrisbra/511
Make the virtualenv extension work better
2016-01-20 15:25:29 -05:00
Christian Brabandt
6c1fb7e275 use silent flag for AirlineSelectTab mappings 2016-01-20 20:07:45 +01:00
Christian Brabandt
7ace10651f Make the virtualenv extension work better
This fixes #511

It allows the virtualenv plugin to call back and tell the airline plugin
to update the statusline. Therefore, the new function
airline#extensions#virtualenv#update() is provided. However, to properly
fix this issue, the virtualenv plugin needs to call this function.

Second, depending on $VIRTUAL_ENV is not safe, since the virtualenv
plugin might define it itsself when calling :VirtualEnvActivate
Therefore skip this test and just test for existance of he
:VirtualEnvList command.
2016-01-20 20:02:21 +01:00
Christian Brabandt
dcfe24bc6d Merge pull request #929 from chrisbra/preview-window
Also draw a nice statusline in the preview window
2016-01-20 19:27:24 +01:00
Christian Brabandt
0a75e493a6 Also draw a nice statusline in the preview window
This fixes issue #858

previously, the the on_window_changed() function returned early when the
popupmenu was visible, which also means, that a new preview window
created by the popup menu would not be rendered correctly until one
moves into this window.

Therefore, I made it not return early, even if the popup menu was opened
to make sure, it will be rendered. However, since the popup menu is
open, this might have unwanted consequences, if some plugin or other
function from airline calls some normal mode command (e.g. wordcount
which should not be enabled for preview windows). So this might break
subtile in other areas later.

An alternative might be to just document the fact, that airline won't
color preview windows at all. But I don't like that either.
2016-01-19 20:48:56 +01:00
Bailey Ling
348663f7f8 introduce contributing.md 2016-01-18 14:01:39 -05:00
Bailey Ling
44769aab3a Merge pull request #925 from chrisbra/show_tabline
Check window size
2016-01-17 18:29:04 -05:00
Christian Brabandt
db6bf458fb Check window size
Before setting showtabline option, make sure, there is enough room
fixes #863
2016-01-17 18:35:24 +01:00
Christian Brabandt
8845f56686 Merge pull request #921 from chrisbra/doc-wordcount
use wordcount function if available
2016-01-16 12:56:51 +01:00
Christian Brabandt
06723fc82c Merge pull request #922 from mhinz/i-cant-think-of-a-good-name-for-this
Hunks: make s:source_func local to buffer
2016-01-15 13:16:05 +01:00
Marco Hinz
d85d697b5f Hunks: make s:source_func local to buffer
Prior to this change airline set the function for getting hunks only once,
which works as long as you don't use simlar plugins for different VCS at the
same time.

If that was the case, only one plugin would have won, depending on the first
buffer handled by these plugins. And although the code for the other plugin
was run every time, you would never see the actual line changes, since airline
didn't even bother checking.

Now these plugins can be used side-by-side in the same Vim instance, e.g.
gitgutter for, well, git and signify for the rest.
2016-01-15 13:05:01 +01:00
Christian Brabandt
17f5eaaa6a use wordcount function if available 2016-01-15 12:55:23 +01:00
Bailey Ling
048b24a916 happy 2016! 2016-01-14 21:38:38 -05:00
Bailey Ling
2c613a1746 update maintainers list 2016-01-14 21:36:49 -05:00
Bailey Ling
e53a77b1e6 update readme about maintainers, update badge 2016-01-14 21:01:28 -05:00
Bailey Ling
004c4259a3 Merge pull request #920 from chrisbra/doc-wordcount
adjust default value for wordcount extension
2016-01-14 19:40:00 -05:00
Christian Brabandt
f6fc6419be adjust default value for wordcount extension
document default value for wordcount extension
add text file for wordcount extension
2016-01-14 21:43:45 +01:00
Christian Brabandt
83880b9a1f Merge pull request #919 from mhinz/fix-readme
README updates
2016-01-14 15:04:35 +01:00
Marco Hinz
ae2f3dc6e2 README: add vim-plug to installation section 2016-01-14 13:25:20 +01:00
Marco Hinz
79cdd75a0c README: update URLs to reflect new repo location 2016-01-14 13:23:50 +01:00
Bailey Ling
ca6ab34e3c Merge pull request #910 from chrisbra/fix_908
autochdir is only available with big builds
2016-01-05 22:19:30 -05:00
Christian Brabandt
c1fbea46bc autochdir option is only available in big builds 2016-01-05 11:15:20 +01:00
Bailey Ling
0138313656 Merge pull request #905 from zandrmartin/master
fixed black fg in distinguished theme
2015-12-28 21:16:10 -05:00
Zandr Martin
0931311916 delete screenshot from repo 2015-12-28 17:11:04 -06:00
Zandr Martin
daafeed223 fixed black fg in distinguished theme 2015-12-28 14:47:16 -06:00
Bailey Ling
39810a33dd Merge pull request #904 from zandrmartin/master
add distinguished theme
2015-12-28 15:10:41 -05:00
Bailey Ling
2fbdbc8893 Merge pull request #888 from ohcibi/feature/add-pathshorten-as-long-branch-name-option
Add `pathshorten` as a built-in format for long branch names
2015-12-28 14:56:02 -05:00
Bailey Ling
4791dcac02 Merge pull request #884 from yousong/dconf
init.vim: use %F in section_c if autochdir is set.
2015-12-28 14:51:20 -05:00
Bailey Ling
6a9eb4d915 Merge pull request #883 from somini/wordcount_autocmd
Change format of wordcount
2015-12-28 14:50:20 -05:00
Zandr Martin
4733a92e20 add distinguished theme 2015-12-28 11:39:29 -06:00
Bailey Ling
06f2cb5a89 Merge pull request #900 from heni/fix/ctrlp-link
Change ctrlp link to more correct repository
2015-12-25 10:31:00 -05:00
Eugene Krokhalev
a0c7e1538b Change ctrlp link to more correct repository 2015-12-24 10:15:26 +03:00
Tobias Witt
b48e2390cb Add pathshorten as a built-in format for long branch names 2015-11-19 11:03:54 +01:00
Yousong Zhou
18a19532ea init.vim: use %F in section_c if autochdir is set.
The difference as per documentation of :statusline

    f S   Path to the file in the buffer, as typed or relative to current
	  directory.
    F S   Full path to the file in the buffer.
2015-11-11 12:03:28 +08:00
somini
e0841b10a7 Don't update the word count on select mode
Fixes #868
2015-11-10 20:20:53 +00:00
somini
1c498d1af3 Add format to the wordcount plugin 2015-11-10 20:11:20 +00:00
Dlani Mendes
6a14987276 Base16 True Pallete 2015-10-19 14:44:10 -02:00
Bailey Ling
14d14cf951 Merge pull request #872 from wilywampa/normal_cmd
Change normal command to normal! command
2015-10-18 14:00:34 -04:00
Jacob Niehus
a8d40a1bc3 Change normal command to normal! command 2015-10-16 15:22:53 -07:00
Bailey Ling
8c30610c5f allow wordcount filetypes to be customized. resolves #864. 2015-10-07 20:44:34 -04:00
Bailey Ling
2637e3ee58 fix error from expanding snippets. resolves #862 2015-10-06 14:44:19 -04:00
Bailey Ling
a253b68812 length guard before extracting the word count (#861) 2015-10-06 11:26:36 -04:00
Bailey Ling
e1ffd1cc30 Merge pull request #854 from kazuoteramoto/master
Add check for long lines to extensions#whitespace
2015-10-05 10:49:02 -04:00
Kazuo Teramoto
5c799511c9 Add check for long lines to extensions#whitespace
Check for lines > textwidth, disabled by default.
2015-10-05 11:40:55 -03:00
Bailey Ling
e59c3ecd6e add wordcount extension
resolves #761
2015-10-05 10:18:14 -04:00
Bailey Ling
bb4be0095d add info about theme pull requests 2015-10-05 09:13:57 -04:00
Bailey Ling
543438e482 Merge pull request #844 from actionless/add-term-theme
add 'term' colorschheme
2015-10-05 09:04:42 -04:00
Bailey Ling
8f42044cc9 Merge pull request #822 from thblt/master
Improved documentation on formatters
2015-10-05 08:57:41 -04:00
Bailey Ling
b7a2159128 Merge pull request #815 from chrisbra/disabled
fix disabled bug
2015-10-05 08:51:56 -04:00
Bailey Ling
4b4c70308a Merge pull request #838 from RsrchBoy/topic/capslock
Fix vim-capslock functionality after changes in CapsLockStatusline()
2015-10-05 08:38:49 -04:00
Bailey Ling
2659eafa3a Merge pull request #856 from poppyschmo/bufsweep
Sweep tabline of unlisted buffers on BufLeave
2015-10-05 08:30:53 -04:00
Bailey Ling
cc23d65af7 Merge pull request #832 from oblique/update_behelit
behelit theme: Add color for insert_paste warning
2015-10-05 08:28:55 -04:00
poppyschmo
a58b3cba55 Sweep tabline of unlisted buffers on each BufLeave 2015-09-25 14:11:07 -07:00
actionless
2efa4c0815 add 'term' colorschheme 2015-08-27 19:06:15 +02:00
no-name
3db2b66587 add cool theme 2015-08-20 12:14:50 +08:00
Chris Weyl
022c769494 Fix vim-capslock functionality after changes in CapsLockStatusline()
CapsLockStatusline() used to return '[caps]' when soft-capslock was
on... and now returns '[Caps]'.  As we're just using this to test for
the lock, we lower-case the return value in order to "normalize" the
value across versions.

The change in behaviour can be seen at:

tpope/vim-capslock@3a0f051373
2015-08-19 15:51:09 -07:00
oblique
4bfb57f40d behelit theme: Add color for insert_paste warning 2015-08-11 19:40:04 +03:00
Thibault
92c2ac1c14 Improved documentation on formatters
Explains how unique_tail and unique_tail_improved delegate formatting of already-unique filenames to default.
2015-07-16 18:45:59 +02:00
Christian Brabandt
c761566dcf fix disabled bug 2015-07-10 21:12:30 +02:00
Bailey Ling
cdc6d98a09 Merge pull request #788 from toupeira/patch-1
Remove trailing slashes in unique_tail formatter
2015-07-08 22:28:28 -04:00
Bailey Ling
3942ce6790 Merge pull request #797 from cHoco/master
Tabline: add exclude_preview option to hide preview buffer
2015-07-08 22:22:39 -04:00
Enrico Ghirardi
317e5fa47a Tabline: add exclude_preview option to hide preview buffer 2015-06-28 22:34:37 +02:00
Bailey Ling
78566c37ae Merge pull request #796 from jusga/typos
Fix typos in the documentation
2015-06-28 13:32:49 -04:00
Bailey Ling
9afda181dd Merge pull request #803 from oblique/master
Add behelit theme
2015-06-26 10:34:58 -04:00
oblique
373b83ee58 Add behelit theme 2015-06-25 13:36:18 +03:00
Justin Gassner
efa8edf3ae Fix typos in the documentation 2015-06-14 00:41:36 +02:00
Bailey Ling
b29e01fa22 nr2char only takes 1 parameter in 7.3
addresses regression with #791
2015-06-09 22:08:49 -04:00
Bailey Ling
22b43c909a Merge pull request #791 from 0x0dea/simpler_crypt
Simplify crypt indicator generation
2015-06-09 17:01:12 -04:00
Bailey Ling
a5a88ce662 Merge pull request #784 from NLKNguyen/papercolor_theme
Add papercolor theme
2015-06-09 16:04:26 -04:00
Bailey Ling
14759c1b57 Merge pull request #794 from hpurmann/fix_nvim_key
Add checks for existing key to make #786 work in neovim
2015-06-09 16:00:30 -04:00
Hendrik Purmann
a0110e13bd Add checks for existing key to make #786 work in neovim 2015-06-09 18:19:16 +02:00
D.E. Akers
9837c1e7c8 Simplify crypt indicator generation
nr2char() is a much simpler way to obtain UTF-8 codepoints beyond 0xFFFF.
2015-06-09 10:04:10 -04:00
Bailey Ling
540c148d31 Merge pull request #786 from chrisbra/crypt
Add crypt indicator
2015-06-09 08:46:06 -04:00
Markus Koller
312f847e73 Remove trailing slashes when getting path tail 2015-06-04 18:14:06 +03:00
Christian Brabandt
9d90e2cbfe Add crypt indicator
If editing an encrypted file, add an indicator, that the file is
encrypted
2015-06-02 20:40:19 +02:00
Nguyen Nguyen
7acfcc9aed Add papercolor theme 2015-05-29 23:17:34 -07:00
Bailey Ling
67de5f2257 Merge pull request #776 from jrtc27/master
Added support for Neovim's terminal buffer mode
2015-05-25 21:12:30 -04:00
James Clarke
0b5ef59cf5 Added support for Neovim's terminal buffer mode 2015-05-25 17:10:27 +01:00
Bailey Ling
491b3335cd Merge pull request #763 from h3xx/master
Fix grammatical error in comment
2015-05-19 21:11:48 -04:00
Bailey Ling
1e46a46bb3 Merge pull request #754 from blueyed/hunks-support-quickfixsigns
Support for quickfixsigns in hunks extension
2015-05-19 21:09:42 -04:00
Bailey Ling
673ca1ace2 Merge pull request #759 from DanielFGray/patch-1
use -bar when defining commands
2015-05-19 21:08:25 -04:00
Bailey Ling
3d3c382822 Merge pull request #751 from esmil/master
whitespace: add more lenient mixed whitespace algorithm
2015-05-19 20:54:03 -04:00
Daniel Hahler
f22fbfd41d hunks: add support for quickfixsigns
Closes: https://github.com/bling/vim-airline/pull/754
2015-05-03 19:50:11 +02:00
Dan Church
bb2d6d8436 Fix grammatical error in comment 2015-04-28 12:25:26 -05:00
Daniel Gray
be2ea5d7be use -bar when defining commands
-bar allows the user to chain commands after it
2015-04-24 13:26:44 -05:00
Emil Renner Berthing
e6ca2ac58d whitespace: add more lenient mixed whitespace algorithm 2015-04-14 19:01:08 +02:00
Bailey Ling
f45ecdac15 Merge pull request #736 from lawm/truncate
tabline: add fnametruncate option to truncate long tab/buffer names
2015-03-24 21:45:28 -04:00
Bailey Ling
f1869cc47c Merge pull request #735 from jordwalke/master
Add warnings color for base16 color schemes
2015-03-23 12:22:18 -04:00
Lawrence M
252978e4ac tabline: add fnametruncate option to truncate long tab/buffer names 2015-03-20 16:37:36 -07:00
Jordan W
8d93bc7fd4 Add warnings color for base16 color schemes
This replaces the color-clashing orange default with something more reasonable.
2015-03-20 12:25:07 -07:00
Bailey Ling
5dc0cc5418 allow displayed_head_limit to work alongside format. resolves #729. 2015-03-14 12:26:35 -04:00
Bailey Ling
5e1cc0a28b Merge pull request #728 from w0ng/upstream
Add new theme: hybridline.vim
2015-03-11 23:08:13 -04:00
Bailey Ling
837f53cf79 Merge pull request #724 from ecsousa/ConEmuColors
Dectect when vim.exe is running on ConEmu with 256 colors configured
2015-03-09 19:30:12 -04:00
Andrew Wong
57767cc320 Add new theme: hybridline.vim
update hybridline comment
2015-03-10 02:17:13 +11:00
Eduardo Antunes C. de Sousa
7ea4b510af Dectect when vim.exe is running on ConEmu with 256 colors configured, so
it will use full color scheme.

More information on http://stackoverflow.com/questions/14315519/conemu-vim-syntax-highlight
2015-03-06 11:42:04 -03:00
Bailey Ling
1b8e4b965a fix regressions introduced from recent init changes. resolves #721. 2015-03-03 22:07:55 -05:00
Bailey Ling
77c58de628 add info about g:airline_extensions to readme. 2015-03-01 10:59:53 -05:00
Bailey Ling
96a94d8c3a add option to display both tab number and splits. resolves #440. 2015-03-01 09:56:36 -05:00
Bailey Ling
3635b78448 Merge pull request #722 from lynnard/master
tabline -- added AirlineSelect{NextTab,PrevTab} commands with countable support
2015-03-01 09:34:12 -05:00
Lingnan Dai
661c5fb0c5 tabline -- added AirlineSelect{NextTab,PrevTab} commands with countable support 2015-03-01 00:18:02 +00:00
Bailey Ling
50e47ced42 add g:airline_extensions variable for manual loading 2015-02-28 17:40:23 -05:00
Bailey Ling
51095bad95 fix failing tests 2015-02-27 22:45:12 -05:00
Bailey Ling
ca44fd467c support display only tail end of a branch; as well as custom format
functions. resolves #710.
2015-02-27 22:04:13 -05:00
Bailey Ling
f0492b5aea add basic integration for vim-ctrlspace 2015-02-27 21:44:43 -05:00
Bailey Ling
8aad42644c integration with taboo.vim; resolves #476 and #575. 2015-02-27 21:12:45 -05:00
Bailey Ling
36bc297e60 fix statusline out of sync right after colorscheme change 2015-02-27 09:09:26 -05:00
Bailey Ling
b6e29a8cfb fix durant theme. resolves #704. 2015-02-27 07:35:31 -05:00
Bailey Ling
c78767a564 fix buffer mismatch in certain cases. resolves #715. 2015-02-26 23:08:59 -05:00
Bailey Ling
b08784907a eagerly bootstrap all the variables, but load extensions after vim is
loaded. #720
2015-02-26 16:15:39 -05:00
Bailey Ling
ec18e6639d initialize before VimEnter, resolves #717 and #718.
a lot of users are still using VimEnter instead of the new
AirlineAfterInit, this changes allows those configs to continue working.
2015-02-25 19:31:50 -05:00
Bailey Ling
e2a120869b fix load error for buffer_idx_mode. resolves #711 2015-02-20 19:37:55 -05:00
Bailey Ling
618851188a hide tab type as per documented variable. resolves #667. 2015-02-19 21:33:05 -05:00
Bailey Ling
59752b2659 clean up initialization code 2015-02-19 21:31:06 -05:00
Bailey Ling
5b55dd94f4 Merge pull request #709 from walterl/master
badwolf theme: make inactive status line stand out more
2015-02-19 21:30:26 -05:00
Walter Leibbrandt
83000d9a30 badwolf theme: make inactive status line stand out more - in console vim too. 2015-02-20 02:10:54 +02:00
Walter Leibbrandt
791de5a34d badwolf theme: make inactive status line stand out more 2015-02-19 16:00:25 +02:00
64 changed files with 1286 additions and 240 deletions

32
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,32 @@
# 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-2015 Bailey Ling
Copyright (C) 2013-2016 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,13 +1,18 @@
# vim-airline [![Build Status](https://travis-ci.org/bling/vim-airline.png)](https://travis-ci.org/bling/vim-airline)
# vim-airline [![Build Status](https://travis-ci.org/vim-airline/vim-airline.png)](https://travis-ci.org/vim-airline/vim-airline)
Lean & mean status/tabline for vim that's light as air.
![img](https://github.com/bling/vim-airline/wiki/screenshots/demo.gif)
![img](https://github.com/vim-airline/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], [syntastic][5], [eclim][34], [lawrencium][21], [virtualenv][31], [tmuxline][35].
* 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.
* 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.
@@ -88,7 +93,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/bling/vim-airline/issues/299#issuecomment-25772886)).
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)).
![image](https://f.cloud.github.com/assets/306502/1195815/4bfa38d0-249d-11e3-823e-773cfc2ca894.png)
@@ -117,12 +122,14 @@ 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/bling/vim-airline ~/.vim/bundle/vim-airline`
* `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline`
* Remember to run `:Helptags` to generate help tags
* [NeoBundle][12]
* `NeoBundle 'bling/vim-airline'`
* `NeoBundle 'vim-airline/vim-airline'`
* [Vundle][13]
* `Plugin 'bling/vim-airline'`
* `Plugin 'vim-airline/vim-airline'`
* [Plug][40]
* `Plug 'vim-airline/vim-airline'`
* [VAM][22]
* `call vam#ActivateAddons([ 'vim-airline' ])`
* manual
@@ -151,37 +158,27 @@ 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].
# Bugs
# Maintainers
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:
The project is currently being maintained by [Bailey Ling][41], [Christian Brabandt][42], and [Mike Hartington][44].
* 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].
If you are interested in becoming a maintainer (we always welcome more maintainers), please [go here][43].
# License
MIT License. Copyright (c) 2013-2015 Bailey Ling.
MIT License. Copyright (c) 2013-2016 Bailey Ling.
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/bling/vim-airline/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/vim-airline/vim-airline/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
[1]: https://github.com/Lokaltog/vim-powerline
[2]: https://github.com/Lokaltog/powerline
@@ -192,11 +189,11 @@ MIT License. Copyright (c) 2013-2015 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/kien/ctrlp.vim
[10]: https://github.com/ctrlpvim/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/bling/vim-airline/wiki/Screenshots
[14]: https://github.com/vim-airline/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
@@ -209,13 +206,21 @@ MIT License. Copyright (c) 2013-2015 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/bling/vim-airline/wiki/FAQ
[27]: https://github.com/vim-airline/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/bling/vim-airline/wiki/Test-Plan
[33]: https://github.com/vim-airline/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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let g:airline_statusline_funcrefs = get(g:, 'airline_statusline_funcrefs', [])
@@ -46,6 +46,7 @@ function! airline#load_theme()
call airline#highlighter#load_theme()
call airline#extensions#load_theme()
call airline#update_statusline()
endfunction
function! airline#switch_theme(name)
@@ -62,7 +63,6 @@ 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,6 +88,9 @@ 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
@@ -142,6 +145,8 @@ 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
@@ -159,6 +164,10 @@ 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:prototype = {}

View File

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

View File

@@ -1,7 +1,11 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:ext = {}
@@ -121,6 +121,13 @@ 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)
@@ -139,6 +146,10 @@ 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
@@ -148,7 +159,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_signify') || exists('g:loaded_gitgutter') || exists('g:loaded_changes') || exists('g:loaded_quickfixsigns'))
call airline#extensions#hunks#init(s:ext)
endif
@@ -178,7 +189,7 @@ function! airline#extensions#load()
call airline#extensions#bufferline#init(s:ext)
endif
if isdirectory($VIRTUAL_ENV) && get(g:, 'airline#extensions#virtualenv#enabled', 1)
if (get(g:, 'airline#extensions#virtualenv#enabled', 1) && (exists(':VirtualEnvList') || isdirectory($VIRTUAL_ENV)))
call airline#extensions#virtualenv#init(s:ext)
endif
@@ -195,6 +206,10 @@ 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:has_fugitive = exists('*fugitive#head')
@@ -9,6 +9,25 @@ 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)
@@ -72,6 +91,8 @@ 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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 CapsLockStatusline() == '[caps]' ? 'CAPS' : ''
return tolower(CapsLockStatusline()) == '[caps]' ? 'CAPS' : ''
endfunction
function! airline#extensions#capslock#init(ext)

View File

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

View File

@@ -0,0 +1,18 @@
" 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':ProjectCreate')

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !get(g:, 'loaded_nrrw_rgn', 0)
@@ -39,7 +39,8 @@ 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 ? "\u2713" : '!'))
call a:1.add_section('airline_c', printf("%s %s %s", name, range,
\ dict.enabled ? (&encoding ==? 'utf-8' ? "\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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':PromptlineSnapshot')

View File

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

View File

@@ -1,9 +1,16 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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')
@@ -31,6 +38,24 @@ 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)
@@ -64,6 +89,9 @@ 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
@@ -72,9 +100,18 @@ function! airline#extensions#tabline#get()
endfunction
function! airline#extensions#tabline#title(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return airline#extensions#tabline#get_buffer_name(buflist[winnr - 1])
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
endfunction
function! airline#extensions#tabline#get_buffer_name(nr)
@@ -97,3 +134,24 @@ 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
@@ -22,7 +22,9 @@ function! airline#extensions#tabline#autoshow#on()
augroup airline_tabline_autoshow
autocmd!
if s:buf_min_count <= 0 && s:tab_min_count <= 1
set showtabline=2
if &lines > 3
set showtabline=2
endif
else
if s:show_buffers == 1
autocmd BufEnter * call <sid>show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list()))
@@ -34,13 +36,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 BufAdd,BufUnload * call airline#extensions#tabline#buflist#invalidate()
autocmd BufLeave,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
if &showtabline != 2 && &lines > 3
set showtabline=2
endif
else

View File

@@ -1,9 +1,10 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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
@@ -37,10 +38,6 @@ 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()
@@ -48,6 +45,7 @@ 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
@@ -64,23 +62,7 @@ function! airline#extensions#tabline#buffers#get()
continue
endif
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
let group = airline#extensions#tabline#group_of_bufnr(tab_bufs, nr)
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)
@@ -96,7 +78,9 @@ function! airline#extensions#tabline#buffers#get()
call b.add_section('airline_tabfill', '')
call b.split()
call b.add_section('airline_tabfill', '')
call b.add_section('airline_tabtype', ' buffers ')
if s:show_tab_type
call b.add_section('airline_tabtype', ' buffers ')
endif
let s:current_bufnr = cur
let s:current_tabline = b.build()
@@ -173,14 +157,26 @@ function! s:select_tab(buf_index)
endif
endfunction
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>
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
endfunction

View File

@@ -1,7 +1,8 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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)
function! airline#extensions#tabline#buflist#invalidate()
unlet! s:current_buffer_list
@@ -26,6 +27,9 @@ 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

@@ -0,0 +1,25 @@
" 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,8 +1,9 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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
@@ -19,6 +20,9 @@ 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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, ':t')
let tail = fnamemodify(name, ':s?/\+$??:t')
if has_key(tails, tail)
let duplicates[nr] = nr
endif
@@ -23,5 +23,10 @@ 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
return map[a:bufnr]
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)
endfunction

View File

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

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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,6 +6,7 @@ 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
@@ -31,6 +32,7 @@ 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
@@ -38,6 +40,17 @@ 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'
@@ -52,29 +65,42 @@ function! airline#extensions#tabline#tabs#get()
else
let group = 'airline_tab'
endif
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.')} %)')
" 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)
endfor
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
" 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':TagbarToggle')

View File

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

View File

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

View File

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

View File

@@ -1,10 +1,6 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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)
@@ -12,14 +8,22 @@ 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
call airline#extensions#append_to_section('x',
\ s:spc.g:airline_right_alt_sep.s:spc.statusline)
if !empty(statusline)
call airline#extensions#append_to_section('x',
\ s:spc.g:airline_right_alt_sep.s:spc.statusline)
endif
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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
" http://got-ravings.blogspot.com/2008/10/vim-pr0n-statusline-whitespace-flags.html
@@ -15,6 +15,7 @@ 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)
@@ -27,9 +28,11 @@ 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 then tabstop value
" count of spaces at the end of tabs should be less than 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
@@ -46,7 +49,14 @@ function! airline#extensions#whitespace#check()
let trailing = 0
if index(checks, 'trailing') > -1
let trailing = search('\s$', 'nw')
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
endif
let mixed = 0
@@ -54,7 +64,12 @@ function! airline#extensions#whitespace#check()
let mixed = s:check_mixed_indent()
endif
if trailing != 0 || mixed != 0
let long = 0
if index(checks, 'long') > -1 && &tw > 0
let long = search('\%>'.&tw.'v.\+', 'nw')
endif
if trailing != 0 || mixed != 0 || long != 0
let b:airline_whitespace_check = s:symbol
if s:show_message
if trailing != 0
@@ -63,6 +78,9 @@ 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

@@ -0,0 +1,30 @@
" 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

@@ -0,0 +1,48 @@
" 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,17 +1,19 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:is_win32term = (has('win32') || has('win64')) && !has('gui_running')
let s:is_win32term = (has('win32') || has('win64')) && !has('gui_running') && (empty($CONEMUBUILD) || &term !=? 'xterm')
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(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]
let rgb = map(split(a:rgb[1:], '..\zs'), '0 + ("0x".v:val)')
return airline#msdos#round_msdos_colors(rgb)
endfunction
function! s:get_syn(group, what)
@@ -63,13 +65,13 @@ function! airline#highlighter#exec(group, colors)
endif
exec printf('hi %s %s %s %s %s %s %s %s',
\ a:group,
\ 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] : '')
\ 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] : '')
endfunction
function! s:exec_separator(dict, from, to, inverse, suffix)

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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,6 +41,7 @@ function! airline#init#bootstrap()
\ 's' : 'SELECT',
\ 'S' : 'S-LINE',
\ '' : 'S-BLOCK',
\ 't' : 'TERMINAL',
\ }, 'keep')
call s:check_defined('g:airline_theme_map', {})
@@ -62,6 +63,7 @@ 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', {
@@ -70,13 +72,17 @@ 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('linenr', '%{g:airline_symbols.linenr}%#__accent_bold#%4l%#__restore__#')
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_function('ffenc', 'airline#parts#ffenc')
call airline#parts#define_empty(['hunks', 'branch', 'tagbar', 'syntastic', 'eclim', 'whitespace','windowswap'])
call airline#parts#define_text('capslock', '')
@@ -87,13 +93,17 @@ 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', 'paste', 'capslock', 'iminsert'])
let g:airline_section_a = airline#section#create_left(['mode', 'crypt', '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')
let g:airline_section_c = airline#section#create(['%<', 'file', spc, 'readonly'])
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
endif
if !exists('g:airline_section_gutter')
let g:airline_section_gutter = airline#section#create(['%='])

View File

@@ -0,0 +1,57 @@
" 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let s:parts = {}
@@ -54,6 +54,10 @@ 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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:N2[1] , s:N3[1] , s:N2[3] , s:N3[3] , '' ]
let s:IA = [ s:N3[1] , s:N2[1] , s:N3[3] , s:N2[3] , '' ]
let g:airline#themes#badwolf#palette = {}

View File

@@ -96,12 +96,42 @@ 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
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], '', '' ]
\ }
" 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
endfunction
call airline#themes#base16#refresh()
endif

View File

@@ -0,0 +1,77 @@
" 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

@@ -0,0 +1,58 @@
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

@@ -0,0 +1,63 @@
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

@@ -0,0 +1,59 @@
" 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,3 +1,6 @@
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

@@ -0,0 +1,34 @@
" 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

@@ -0,0 +1,65 @@
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

@@ -0,0 +1,92 @@
" 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

@@ -0,0 +1,45 @@
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-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
call airline#init#bootstrap()

View File

@@ -14,16 +14,17 @@ CONTENTS *airline-contents*
03. Name ................................................. |airline-name|
04. Configuration ............................... |airline-configuration|
05. Commands ......................................... |airline-commands|
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|
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|
==============================================================================
INTRODUCTION *airline-intro*
@@ -69,6 +70,9 @@ 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
<
@@ -146,14 +150,25 @@ 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 glyths.
separators, as well as the powerline font glyphs.
Note: You must define the dictionary first before setting values. Also, it's a
good idea to check whether if it exists as to avoid accidentally overwritting
good idea to check whether it exists as to avoid accidentally overwriting
its contents. >
if !exists('g:airline_symbols')
let g:airline_symbols = {}
@@ -164,6 +179,7 @@ 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 = '¶'
@@ -202,7 +218,7 @@ section.
>
variable names default contents
----------------------------------------------------------------------------
let g:airline_section_a (mode, paste, iminsert)
let g:airline_section_a (mode, crypt, paste, iminsert)
let g:airline_section_b (hunks, branch)
let g:airline_section_c (bufferline or filename)
let g:airline_section_gutter (readonly, csv)
@@ -223,13 +239,22 @@ 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 undersirable startup
'runtimepath'. On some systems this can result in an undesirable 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
@@ -246,7 +271,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 specificing an array of two arrays
* configure the layout of the sections by specifying 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' ],
@@ -284,13 +309,31 @@ 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>
@@ -323,6 +366,7 @@ 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
@@ -361,6 +405,31 @@ 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
@@ -372,12 +441,17 @@ 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' ]
let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'long' ]
<
* configure the maximum number of lines where whitespace checking is enabled. >
let g:airline#extensions#whitespace#max_lines = 20000
@@ -388,6 +462,10 @@ 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. >
@@ -401,10 +479,14 @@ eclim <https://eclim.org>
<
* configure filename match rules to exclude from the tabline. >
let g:airline#extensions#tabline#excludes = []
<
* configure how numbers are calculated in tab mode. >
* 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. >
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
@@ -428,19 +510,32 @@ 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:
function! airline#extensions#tabline#foo#format(bufnr, buffers)
" create a file in the dir autoload/airline/extensions/tabline/formatters/
" called foo.vim
function! airline#extensions#tabline#formatters#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
@@ -453,6 +548,9 @@ 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
@@ -486,6 +584,11 @@ 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'.
@@ -526,19 +629,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 >
@@ -547,10 +650,22 @@ 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 accomodate the mass majority of users with minimal
The defaults will accommodate 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.
@@ -571,6 +686,10 @@ 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.
@@ -582,6 +701,7 @@ 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
@@ -616,7 +736,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 VimEnter * call AirlineInit()
autocmd User AirlineAfterInit 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
@@ -644,7 +764,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 absense of a `w:` value. This makes it very easy
variable which is used in the absence 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.
@@ -795,7 +915,7 @@ Contributions and pull requests are welcome.
==============================================================================
LICENSE *airline-license*
MIT License. Copyright © 2013-2015 Bailey Ling.
MIT License. Copyright © 2013-2016 Bailey Ling.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
" MIT License. Copyright (c) 2013-2015 Bailey Ling.
" MIT License. Copyright (c) 2013-2016 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
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
if s:airline_initialized
return
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()
if pumvisible() && (!&previewwindow || g:airline_exclude_preview)
return
endif
call <sid>init()
call s:init()
call airline#update_statusline()
endfunction
function! s:on_colorscheme_changed()
call <sid>init()
call s: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
silent doautocmd User AirlineToggledOn
if s:airline_initialized
call <sid>on_window_changed()
call s:on_window_changed()
endif
silent doautocmd User AirlineToggledOn
endif
endfunction
@@ -93,6 +93,7 @@ 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)
@@ -100,10 +101,14 @@ 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()
call <sid>airline_toggle()
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()

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,7 +1,5 @@
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,8 +1,10 @@
let g:airline_theme = 'dark'
call airline#init#bootstrap()
call airline#init#sections()
let g:airline#extensions#default#layout = [
\ [ 'c', 'a', 'b', 'warning' ],
\ [ 'x', 'z', 'y' ]
\ ]
source plugin/airline.vim
call airline#load_theme()
doautocmd VimEnter
describe 'default'
before
@@ -10,10 +12,6 @@ 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'