aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/lightline.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/lightline.vim')
m---------vim/bundle/lightline.vim0
-rw-r--r--vim/bundle/lightline.vim/.gitignore1
-rw-r--r--vim/bundle/lightline.vim/.travis.yml22
-rw-r--r--vim/bundle/lightline.vim/LICENSE21
-rw-r--r--vim/bundle/lightline.vim/README.md788
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline.vim485
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme.vim228
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/16color.vim46
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor.vim12
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_dark.vim60
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_light.vim55
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow.vim41
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night.vim41
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Blue.vim43
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Bright.vim42
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Eighties.vim42
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/default.vim8
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/jellybeans.vim40
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/landscape.vim25
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/powerline.vim28
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/seoul256.vim42
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized.vim11
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_dark.vim73
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_light.vim80
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colorscheme/wombat.vim40
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/colortable.vim42
-rw-r--r--vim/bundle/lightline.vim/autoload/lightline/tab.vim33
-rw-r--r--vim/bundle/lightline.vim/doc/lightline.txt1281
-rw-r--r--vim/bundle/lightline.vim/plugin/lightline.vim24
-rw-r--r--vim/bundle/lightline.vim/test/.themisrc20
-rw-r--r--vim/bundle/lightline.vim/test/concatenate.vim90
-rw-r--r--vim/bundle/lightline.vim/test/error.vim15
-rw-r--r--vim/bundle/lightline.vim/test/expand.vim612
-rw-r--r--vim/bundle/lightline.vim/test/highlight.vim171
-rw-r--r--vim/bundle/lightline.vim/test/link.vim131
-rw-r--r--vim/bundle/lightline.vim/test/mode.vim14
-rw-r--r--vim/bundle/lightline.vim/test/onetab.vim98
-rw-r--r--vim/bundle/lightline.vim/test/subseparator.vim302
-rw-r--r--vim/bundle/lightline.vim/test/tabline.vim67
-rw-r--r--vim/bundle/lightline.vim/test/tabs.vim99
-rw-r--r--vim/bundle/lightline.vim/test/toggle.vim37
-rw-r--r--vim/bundle/lightline.vim/test/uniq.vim46
42 files changed, 0 insertions, 5356 deletions
diff --git a/vim/bundle/lightline.vim b/vim/bundle/lightline.vim
new file mode 160000
+Subproject 430ce2cb063b39a0c7950cafd617e333acb6759
diff --git a/vim/bundle/lightline.vim/.gitignore b/vim/bundle/lightline.vim/.gitignore
deleted file mode 100644
index 0a56e3f..0000000
--- a/vim/bundle/lightline.vim/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/doc/tags
diff --git a/vim/bundle/lightline.vim/.travis.yml b/vim/bundle/lightline.vim/.travis.yml
deleted file mode 100644
index ae4b73f..0000000
--- a/vim/bundle/lightline.vim/.travis.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-language: generic
-
-sudo: false
-
-install:
- - git clone --depth=1 https://github.com/thinca/vim-themis /tmp/themis
- - git clone https://github.com/vim/vim $HOME/vim
- - (if ! test -d $HOME/vim-7.4/bin; then cd $HOME/vim && git checkout . && git checkout v7.4 && ./configure --prefix=$HOME/vim-7.4 && make && make install; fi)
- - (if ! test -d $HOME/vim-7.3/bin; then cd $HOME/vim && git checkout . && git checkout v7.3 && ./configure --prefix=$HOME/vim-7.3 && make && make install; fi)
- - (if ! test -d $HOME/vim-7.2.051/bin; then cd $HOME/vim && git checkout . && git checkout v7.2.051 && ./configure --prefix=$HOME/vim-7.2.051 && make && make install; fi)
-
-cache:
- directories:
- - $HOME/vim-7.4
- - $HOME/vim-7.3
- - $HOME/vim-7.2.051
-
-script:
- - /tmp/themis/bin/themis --reporter spec
- - PATH=$HOME/vim-7.4/bin/:$PATH /tmp/themis/bin/themis --reporter spec
- - PATH=$HOME/vim-7.3/bin/:$PATH /tmp/themis/bin/themis --reporter spec
- - PATH=$HOME/vim-7.2.051/bin/:$PATH /tmp/themis/bin/themis --reporter spec
diff --git a/vim/bundle/lightline.vim/LICENSE b/vim/bundle/lightline.vim/LICENSE
deleted file mode 100644
index 3000b84..0000000
--- a/vim/bundle/lightline.vim/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2013-2016 itchyny
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vim/bundle/lightline.vim/README.md b/vim/bundle/lightline.vim/README.md
deleted file mode 100644
index 03f5da1..0000000
--- a/vim/bundle/lightline.vim/README.md
+++ /dev/null
@@ -1,788 +0,0 @@
-# lightline.vim
-A light and configurable statusline/tabline for Vim
-
-https://github.com/itchyny/lightline.vim
-
-### powerline theme (default)
-
-![lightline.vim - powerline](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/powerline/0.png)
-
-### wombat (with the patched font)
-
-![lightline.vim - wombat](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/wombat/0.png)
-
-### jellybeans (with the patched font)
-
-![lightline.vim - jellybeans](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/jellybeans/0.png)
-
-### solarized theme (dark)
-
-![lightline.vim - solarized_dark](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/solarized_dark/0.png)
-
-### solarized theme (light)
-
-![lightline.vim - solarized_light](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/solarized_light/0.png)
-
-### PaperColor theme (light)
-
-![lightline.vim - PaperColor](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/PaperColor/0.png)
-
-### seoul256 theme
-
-![lightline.vim - seoul256](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/seoul256/0.png)
-
-### landscape theme (with the patched font)
-
-![lightline.vim - landscape](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/landscape/0.png)
-
-With branch name, read-only mark and modified mark.
-![lightline.vim - landscape - fugitive](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/landscape/5.png)
-
-landscape is my colorscheme, which is a high-contrast cui-supported colorscheme, available at https://github.com/itchyny/landscape.vim
-
-## Why yet another clone of powerline?
-+ [vim-powerline](https://github.com/Lokaltog/vim-powerline) is a nice plugin, but deprecated.
-+ [powerline](https://github.com/Lokaltog/powerline) is a nice plugin, but difficult to configure.
-+ [vim-airline](https://github.com/bling/vim-airline) is a nice plugin, but it uses too much functions of other plugins, which should be done by users in `.vimrc`.
-
-## Spirit of this plugin
-+ Minimalism. The core script is very small.
-+ Configurability. You can create your own component and easily add to the statusline/tabline.
-+ Orthogonality. Any plugin should not change the settings of another plugin. Such plugin-crossing settings should be written by users in `.vimrc`.
-
-## Author
-itchyny (https://github.com/itchyny)
-
-## License
-This software is released under the MIT License, see LICENSE.
-
-## Installation
-### Manually
-1. Put all files under $VIM.
-
-### Pathogen
-1. Install with the following command.
-
- git clone https://github.com/itchyny/lightline.vim ~/.vim/bundle/lightline.vim
-
-### Vundle (https://github.com/gmarik/Vundle.vim)
-1. Add the following configuration to your `.vimrc`.
-
- Plugin 'itchyny/lightline.vim'
-
-2. Install with `:PluginInstall`.
-
-### NeoBundle (https://github.com/Shougo/neobundle.vim)
-1. Add the following configuration to your `.vimrc`.
-
- NeoBundle 'itchyny/lightline.vim'
-
-2. Install with `:NeoBundleInstall`.
-
-### vim-plug (https://github.com/junegunn/vim-plug)
-1. Add the following configuration to your `.vimrc`.
-
- Plug 'itchyny/lightline.vim'
-
-2. Install with `:PlugInstall`.
-
-## Configuration tutorial
-By default, the statusline looks like:
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/1.png)
-
-If you use the wombat colorscheme, add the following settings to your `.vimrc` (or \_vimrc on Windows):
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ }
-```
-to get:
-
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/2.png)
-
-
-If your statusline looks like
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/21.png)
-
-and the cool statuslines appear only on `:vsp`, add
-```vim
-set laststatus=2
-```
-to your `.vimrc`.
-
-
-If you have problem like
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/20.png)
-
-then add
-```sh
-export TERM=xterm-256color
-```
-to your `.*shrc` and add
-```vim
-if !has('gui_running')
- set t_Co=256
-endif
-```
-to your `.vimrc`.
-
-
-If the colors of the statusline do not change from the default colors, move the settings of `g:lightline` before setting the colorscheme.
-
-If you are reloading your `.vimrc` via `autocmd` and get this problem
-
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/20.png)
-
-when saving it you need to add the nested flag to your `autocmd` like so
-
-```vim
-augroup reload_vimrc
- autocmd!
- autocmd bufwritepost $MYVIMRC nested source $MYVIMRC
-augroup END
-```
-
-
-Colors appear correctly? Now let's see how to change the appearance.
-
-
-You may think that the default read-only mark is not so cool:
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/3.png)
-
-Then edit the read-only component.
-The lightline components are stored in `g:lightline.component`.
-So you add the settings of `g:lightline.component.readonly` in your `.vimrc`. (the following settings are effective with the patched font for vim-powerline):
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'component': {
- \ 'readonly': '%{&readonly?"⭤":""}',
- \ }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/4.png)
-
-How nice!
-
-But the boundaries are quadrilateral. You may miss the powerline.
-You have installed a cool font for powerlines, so you can use it.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'component': {
- \ 'readonly': '%{&readonly?"⭤":""}',
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/5.png)
-
-Hurrah! Cool!
-
-
-If your statusline looks like:
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/16.png)
-
-the patched font is not installed.
-
-There are two kinds of patched fonts:
-
-+ The patched fonts for [vim-powerline](https://github.com/Lokaltog/vim-powerline): see https://github.com/Lokaltog/vim-powerline/tree/develop/fontpatcher
-+ The patched fonts for [powerline](https://github.com/Lokaltog/powerline): see https://github.com/Lokaltog/powerline-fonts
-
-Create or download a font and install it.
-And add the `guifont` setting to your `.vimrc` (see `:help 'guifont'` for more detail).
-If you are using the vim in a terminal, the font cannot be controlled in `.vimrc`.
-Open the setting of the terminal and select the patched font.
-
-This tutorial is based on the former, the font for vim-powerline (Inconsolata for Powerline).
-If you have installed the patched font for powerline, use the following settings instead.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'component': {
- \ 'readonly': '%{&readonly?"":""}',
- \ },
- \ 'separator': { 'left': '', 'right': '' },
- \ 'subseparator': { 'left': '', 'right': '' }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/19.png)
-
-If you have installed the font for powerline and your statusline looks like
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/18.png)
-
-remove
-```vim
-set ambiwidth=double
-```
-from your `.vimrc`. If you want to keep this setting, use the patched font for vim-powerline.
-+ https://github.com/Lokaltog/vim-powerline/tree/develop/fontpatcher
-
-
-If you will not install a patched font, use ascii characters like:
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'component': {
- \ 'readonly': '%{&readonly?"x":""}',
- \ },
- \ 'separator': { 'left': '', 'right': '' },
- \ 'subseparator': { 'left': '|', 'right': '|' }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/17.png)
-
-
-
-If the triangles do not appear (but you get some spaces or weird characters like <bf> or ¿), firstly try adding
-```vim
-set encoding=utf-8
-scriptencoding utf-8
-```
-to the head of your `.vimrc`.
-Still you have weird characters, use the unicode numbers. For powerline font
-users:
-```vim
- \ 'separator': { 'left': "\ue0b0", 'right': "\ue0b2" },
- \ 'subseparator': { 'left': "\ue0b1", 'right': "\ue0b3" }
-```
-For vim-powerline font users:
-```vim
- \ 'separator': { 'left': "\u2b80", 'right': "\u2b82" },
- \ 'subseparator': { 'left': "\u2b81", 'right': "\u2b83" }
-```
-
-
-Almost all of things go well with the patched font but if the triangle looks weird:
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/22.png)
-
-If you are using iTerm2, change the following settings of iTerm2:
-+ set `Profiles>Colors>Minimum contrast` to the Lowest.
-+ set `Profiles>Window>Transparency` to the Opaquest.
-
-For other terminals, this weird-triangle problem will be resolved by disabling transparency or contrast adjustment.
-
-
-If you want to get rid of the extraneous default vim mode information that is now provided by lightline:
-![lightline.vim - showmode](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/showmode.png)
-```vim
-set noshowmode
-```
-
-
-Now, let us get back to the tutorial (with the patched font for vim-powerline).
-You look into a help file to find the marks annoying.
-
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/6.png)
-
-Help files are read-only and no-modifiable? We know that!
-OK, so you again edit the components.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'component': {
- \ 'readonly': '%{&filetype=="help"?"":&readonly?"⭤":""}',
- \ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/7.png)
-
-Huh? Weird!
-The components do not collapse even if they have no information!
-In order to avoid this situation, you set expressions to `g:lightline.component_visible_condition`, which should become 1 only when the corresponding components have information.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'component': {
- \ 'readonly': '%{&filetype=="help"?"":&readonly?"⭤":""}',
- \ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}'
- \ },
- \ 'component_visible_condition': {
- \ 'readonly': '(&filetype!="help"&& &readonly)',
- \ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/8.png)
-
-Okay. It works nice.
-
-
-
-How does lightline decide the components to show in the statusline?
-It's very simple.
-The variables to select components are `g:lightline.active.left` and `g:lightline.active.right`.
-For example, you add the `g:lightline.active.left` in `.vimrc`.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'readonly', 'filename', 'modified' ] ]
- \ },
- \ 'component': {
- \ 'readonly': '%{&filetype=="help"?"":&readonly?"⭤":""}',
- \ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}'
- \ },
- \ 'component_visible_condition': {
- \ 'readonly': '(&filetype!="help"&& &readonly)',
- \ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-```
-If the plugin arranges all the components (in a situation you `set paste` and the file `.vimrc` is read-only, try to modify):
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/9.png)
-
-The mode component, the paste component, read-only component, filename component and modified component in a row.
-Normally, the paste component does not show up.
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/10.png)
-
-If the file is not read-only (more common cases), the read-only component does not show up.
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/11.png)
-
-
-Again look into `g:lightline.active.left`.
-```vim
-let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'readonly', 'filename', 'modified' ] ] ...
-```
-And the screen shot of all the components.
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/9.png)
-
-The mode and paste component are displayed in the same group.
-The read-only, filename and modified component are in the second group.
-It corresponds to the structure of `g:lightline.active.left`.
-You can configure the components in the statusline by the following four variables:
-+ `g:lightline.active.left`
-+ `g:lightline.active.right`
-+ `g:lightline.inactive.left`
-+ `g:lightline.inactive.right`
-
-Of course, your settings in `.vimrc` have priority over the default settings in lightline.
-
-
-
-GitHub branch is important for us.
-And it is a default component in [powerline](https://github.com/Lokaltog/powerline) and [vim-powerline](https://github.com/Lokaltog/vim-powerline).
-However, lightline does not provide the branch feature by default.
-
-In order to show the branch in the statusline, you firstly install the [vim-fugitive](https://github.com/tpope/vim-fugitive) plugin.
-Then edit the `g:lightline` in your `.vimrc`.
-+ Add your fugitive component to `g:lightline.component`.
-+ Add the condition when the fugitive component has information to `g:lightline.component_visible_condition`.
-+ Add the component by inserting `'fugitive'` to `g:lightline.active.left`.
-
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ]
- \ },
- \ 'component': {
- \ 'readonly': '%{&filetype=="help"?"":&readonly?"⭤":""}',
- \ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
- \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}'
- \ },
- \ 'component_visible_condition': {
- \ 'readonly': '(&filetype!="help"&& &readonly)',
- \ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))',
- \ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/12.png)
-
-Okay, the branch component is added!
-
-
-
-Now, you might get tired of setting both `'component'` and `'component_visible_condition'`.
-Or if you want to do something more complicated?
-
-
-In fact, the components can be created using functions.
-Add your function names for components to `g:lightline.component_function`.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ]
- \ },
- \ 'component_function': {
- \ 'fugitive': 'LightLineFugitive',
- \ 'readonly': 'LightLineReadonly',
- \ 'modified': 'LightLineModified'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-
-function! LightLineModified()
- if &filetype == "help"
- return ""
- elseif &modified
- return "+"
- elseif &modifiable
- return ""
- else
- return ""
- endif
-endfunction
-
-function! LightLineReadonly()
- if &filetype == "help"
- return ""
- elseif &readonly
- return "⭤"
- else
- return ""
- endif
-endfunction
-
-function! LightLineFugitive()
- return exists('*fugitive#head') ? fugitive#head() : ''
-endfunction
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/13.png)
-
-Fine and readable!
-
-
-Finally, you come up with concatenating the three components: the read-only mark, the filename and the modified mark.
-Now you may know what to do.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'fugitive', 'filename' ] ]
- \ },
- \ 'component_function': {
- \ 'fugitive': 'LightLineFugitive',
- \ 'readonly': 'LightLineReadonly',
- \ 'modified': 'LightLineModified',
- \ 'filename': 'LightLineFilename'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-
-function! LightLineModified()
- if &filetype == "help"
- return ""
- elseif &modified
- return "+"
- elseif &modifiable
- return ""
- else
- return ""
- endif
-endfunction
-
-function! LightLineReadonly()
- if &filetype == "help"
- return ""
- elseif &readonly
- return "⭤"
- else
- return ""
- endif
-endfunction
-
-function! LightLineFugitive()
- return exists('*fugitive#head') ? fugitive#head() : ''
-endfunction
-
-function! LightLineFilename()
- return ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ ('' != expand('%:t') ? expand('%:t') : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
-endfunction
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/14.png)
-
-Oops! We forgot the cool mark for the branch component! (work with the patched font for vim-powerline)
-```vim
-function! LightLineFugitive()
- if exists("*fugitive#head")
- let branch = fugitive#head()
- return branch !=# '' ? '⭠ '.branch : ''
- endif
- return ''
-endfunction
-```
-![lightline.vim - tutorial](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/tutorial/15.png)
-
-How cool!!!
-
-Of course, you can name your component as you wish.
-```vim
-let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'my_component' ] ] },
- \ 'component_function': {
- \ 'my_component': 'LightLineComponent', ...
-```
-
-This is the end of the tutorial. For more information, see `:help lightline`. Good luck with your nice statuslines.
-
-### Cool characters for the patched fonts
-
-Symbol | Default | powerline | vim-powerline
------------------- | ------- | ------------- | -------------
-separator.left | '' | '' (\ue0b0) | '⮀' (\u2b80)
-separator.right | '' | '' (\ue0b2) | '⮂' (\u2b82)
-subseparator.left | '\|' | '' (\ue0b1) | '⮁' (\u2b81)
-subseparator.right | '\|' | '' (\ue0b3) | '⮃' (\u2b83)
-branch symbol | -- | '' (\ue0a0) | '⭠' (\u2b60)
-readonly symbol | -- | '' (\ue0a2) | '⭤' (\u2b64)
-linecolumn symbol | -- | '' (\ue0a1) | '⭡' (\u2b81)
-
-### My settings
-I show my settings. I use the patched font for vim-powerline.
-```vim
-let g:lightline = {
- \ 'colorscheme': 'landscape',
- \ 'mode_map': { 'c': 'NORMAL' },
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
- \ },
- \ 'component_function': {
- \ 'modified': 'LightLineModified',
- \ 'readonly': 'LightLineReadonly',
- \ 'fugitive': 'LightLineFugitive',
- \ 'filename': 'LightLineFilename',
- \ 'fileformat': 'LightLineFileformat',
- \ 'filetype': 'LightLineFiletype',
- \ 'fileencoding': 'LightLineFileencoding',
- \ 'mode': 'LightLineMode',
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-
-function! LightLineModified()
- return &ft =~ 'help\|vimfiler\|gundo' ? '' : &modified ? '+' : &modifiable ? '' : '-'
-endfunction
-
-function! LightLineReadonly()
- return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? '⭤' : ''
-endfunction
-
-function! LightLineFilename()
- return ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
- \ &ft == 'unite' ? unite#get_status_string() :
- \ &ft == 'vimshell' ? vimshell#get_status_string() :
- \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
-endfunction
-
-function! LightLineFugitive()
- if &ft !~? 'vimfiler\|gundo' && exists("*fugitive#head")
- let branch = fugitive#head()
- return branch !=# '' ? '⭠ '.branch : ''
- endif
- return ''
-endfunction
-
-function! LightLineFileformat()
- return winwidth(0) > 70 ? &fileformat : ''
-endfunction
-
-function! LightLineFiletype()
- return winwidth(0) > 70 ? (&filetype !=# '' ? &filetype : 'no ft') : ''
-endfunction
-
-function! LightLineFileencoding()
- return winwidth(0) > 70 ? (&fenc !=# '' ? &fenc : &enc) : ''
-endfunction
-
-function! LightLineMode()
- return winwidth(0) > 60 ? lightline#mode() : ''
-endfunction
-```
-When the current window width is narrow, the mode component and the file information component collapse.
-For example, the [gundo](https://github.com/sjl/gundo.vim) buffer is narrow.
-
-Before:
-![lightline.vim - gundo](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/gundo0.png)
-
-After:
-![lightline.vim - gundo](https://raw.githubusercontent.com/wiki/itchyny/lightline.vim/image/gundo1.png)
-
-Nice looking, isn't it?
-
-### For power users
-For users who uses following plugins.
-
-- [CtrlP](https://github.com/kien/ctrlp.vim)
-- [Tagbar](https://github.com/majutsushi/tagbar)
-- [Gundo](http://github.com/sjl/gundo.vim)
-- [NERDtree](http://github.com/scrooloose/nerdtree)
-- [Syntastic](https://github.com/scrooloose/syntastic)
-- [unite.vim](https://github.com/Shougo/unite.vim)
-- [vimfiler.vim](https://github.com/Shougo/vimfiler.vim)
-- [vimshell.vim](https://github.com/Shougo/vimshell.vim)
-
-```vim
-let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ], ['ctrlpmark'] ],
- \ 'right': [ [ 'syntastic', 'lineinfo' ], ['percent'], [ 'fileformat', 'fileencoding', 'filetype' ] ]
- \ },
- \ 'component_function': {
- \ 'fugitive': 'LightLineFugitive',
- \ 'filename': 'LightLineFilename',
- \ 'fileformat': 'LightLineFileformat',
- \ 'filetype': 'LightLineFiletype',
- \ 'fileencoding': 'LightLineFileencoding',
- \ 'mode': 'LightLineMode',
- \ 'ctrlpmark': 'CtrlPMark',
- \ },
- \ 'component_expand': {
- \ 'syntastic': 'SyntasticStatuslineFlag',
- \ },
- \ 'component_type': {
- \ 'syntastic': 'error',
- \ },
- \ 'subseparator': { 'left': '|', 'right': '|' }
- \ }
-
-function! LightLineModified()
- return &ft =~ 'help' ? '' : &modified ? '+' : &modifiable ? '' : '-'
-endfunction
-
-function! LightLineReadonly()
- return &ft !~? 'help' && &readonly ? 'RO' : ''
-endfunction
-
-function! LightLineFilename()
- let fname = expand('%:t')
- return fname == 'ControlP' && has_key(g:lightline, 'ctrlp_item') ? g:lightline.ctrlp_item :
- \ fname == '__Tagbar__' ? g:lightline.fname :
- \ fname =~ '__Gundo\|NERD_tree' ? '' :
- \ &ft == 'vimfiler' ? vimfiler#get_status_string() :
- \ &ft == 'unite' ? unite#get_status_string() :
- \ &ft == 'vimshell' ? vimshell#get_status_string() :
- \ ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ ('' != fname ? fname : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
-endfunction
-
-function! LightLineFugitive()
- try
- if expand('%:t') !~? 'Tagbar\|Gundo\|NERD' && &ft !~? 'vimfiler' && exists('*fugitive#head')
- let mark = '' " edit here for cool mark
- let branch = fugitive#head()
- return branch !=# '' ? mark.branch : ''
- endif
- catch
- endtry
- return ''
-endfunction
-
-function! LightLineFileformat()
- return winwidth(0) > 70 ? &fileformat : ''
-endfunction
-
-function! LightLineFiletype()
- return winwidth(0) > 70 ? (&filetype !=# '' ? &filetype : 'no ft') : ''
-endfunction
-
-function! LightLineFileencoding()
- return winwidth(0) > 70 ? (&fenc !=# '' ? &fenc : &enc) : ''
-endfunction
-
-function! LightLineMode()
- let fname = expand('%:t')
- return fname == '__Tagbar__' ? 'Tagbar' :
- \ fname == 'ControlP' ? 'CtrlP' :
- \ fname == '__Gundo__' ? 'Gundo' :
- \ fname == '__Gundo_Preview__' ? 'Gundo Preview' :
- \ fname =~ 'NERD_tree' ? 'NERDTree' :
- \ &ft == 'unite' ? 'Unite' :
- \ &ft == 'vimfiler' ? 'VimFiler' :
- \ &ft == 'vimshell' ? 'VimShell' :
- \ winwidth(0) > 60 ? lightline#mode() : ''
-endfunction
-
-function! CtrlPMark()
- if expand('%:t') =~ 'ControlP' && has_key(g:lightline, 'ctrlp_item')
- call lightline#link('iR'[g:lightline.ctrlp_regex])
- return lightline#concatenate([g:lightline.ctrlp_prev, g:lightline.ctrlp_item
- \ , g:lightline.ctrlp_next], 0)
- else
- return ''
- endif
-endfunction
-
-let g:ctrlp_status_func = {
- \ 'main': 'CtrlPStatusFunc_1',
- \ 'prog': 'CtrlPStatusFunc_2',
- \ }
-
-function! CtrlPStatusFunc_1(focus, byfname, regex, prev, item, next, marked)
- let g:lightline.ctrlp_regex = a:regex
- let g:lightline.ctrlp_prev = a:prev
- let g:lightline.ctrlp_item = a:item
- let g:lightline.ctrlp_next = a:next
- return lightline#statusline(0)
-endfunction
-
-function! CtrlPStatusFunc_2(str)
- return lightline#statusline(0)
-endfunction
-
-let g:tagbar_status_func = 'TagbarStatusFunc'
-
-function! TagbarStatusFunc(current, sort, fname, ...) abort
- let g:lightline.fname = a:fname
- return lightline#statusline(0)
-endfunction
-
-augroup AutoSyntastic
- autocmd!
- autocmd BufWritePost *.c,*.cpp call s:syntastic()
-augroup END
-function! s:syntastic()
- SyntasticCheck
- call lightline#update()
-endfunction
-
-let g:unite_force_overwrite_statusline = 0
-let g:vimfiler_force_overwrite_statusline = 0
-let g:vimshell_force_overwrite_statusline = 0
-```
-
-### Note for developers of other plugins
-Appearance consistency matters.
-
-The statusline is an important space for Vim users.
-Overwriting the statusline forcibly in your plugin is not a good idea.
-It is not hospitality, but just an annoying feature.
-If your plugin has such a feature, add an option to be modest.
-
-A good design is the following.
-Firstly, give the users a clue to judge which buffer is the one your plugin creates.
-The filename is a manner and the filetype is another.
-Then, export a function which is useful to be shown in the statusline.
-Lastly, for advanced users, set important information in buffer variables.
-So that the users can obtain the condition of the plugin easily.
diff --git a/vim/bundle/lightline.vim/autoload/lightline.vim b/vim/bundle/lightline.vim/autoload/lightline.vim
deleted file mode 100644
index 045e2b8..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline.vim
+++ /dev/null
@@ -1,485 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2016/06/12 22:40:00.
-" =============================================================================
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-let s:_ = 1
-
-function! lightline#update() abort
- if s:_
- call lightline#init()
- call lightline#colorscheme()
- endif
- if !s:lightline.enable.statusline
- return
- endif
- let w = winnr()
- let s = winnr('$') == 1 ? [lightline#statusline(0)] : [lightline#statusline(0), lightline#statusline(1)]
- for n in range(1, winnr('$'))
- call setwinvar(n, '&statusline', s[n!=w])
- call setwinvar(n, 'lightline', n!=w)
- endfor
-endfunction
-
-function! lightline#update_once() abort
- if !exists('w:lightline') || w:lightline
- call lightline#update()
- endif
-endfunction
-
-function! lightline#update_disable() abort
- if !s:lightline.enable.statusline
- return
- endif
- call setwinvar(0, '&statusline', '')
-endfunction
-
-function! lightline#enable() abort
- call lightline#colorscheme()
- call lightline#update()
- if s:lightline.enable.tabline
- set tabline=%!lightline#tabline()
- endif
- augroup lightline
- autocmd!
- autocmd WinEnter,BufWinEnter,FileType,ColorScheme,SessionLoadPost * call lightline#update()
- autocmd ColorScheme,SessionLoadPost * call lightline#highlight()
- autocmd CursorMoved,BufUnload * call lightline#update_once()
- augroup END
- augroup lightline-disable
- autocmd!
- augroup END
- augroup! lightline-disable
-endfunction
-
-function! lightline#disable() abort
- let [&statusline, &tabline] = [get(s:, '_statusline', ''), get(s:, '_tabline', '')]
- for t in range(1, tabpagenr('$'))
- for n in range(1, tabpagewinnr(t, '$'))
- call settabwinvar(t, n, '&statusline', '')
- endfor
- endfor
- augroup lightline
- autocmd!
- augroup END
- augroup! lightline
- augroup lightline-disable
- autocmd!
- autocmd WinEnter * call lightline#update_disable()
- augroup END
-endfunction
-
-function! lightline#toggle() abort
- if exists('#lightline')
- call lightline#disable()
- else
- call lightline#enable()
- endif
-endfunction
-
-let s:_lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'readonly', 'filename', 'modified' ] ],
- \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat', 'fileencoding', 'filetype' ] ]
- \ },
- \ 'inactive': {
- \ 'left': [ [ 'filename' ] ],
- \ 'right': [ [ 'lineinfo' ], [ 'percent' ] ]
- \ },
- \ 'tabline': {
- \ 'left': [ [ 'tabs' ] ],
- \ 'right': [ [ 'close' ] ]
- \ },
- \ 'tab': {
- \ 'active': [ 'tabnum', 'filename', 'modified' ],
- \ 'inactive': [ 'tabnum', 'filename', 'modified' ]
- \ },
- \ 'component': {
- \ 'mode': '%{lightline#mode()}',
- \ 'absolutepath': '%F', 'relativepath': '%f', 'filename': '%t', 'modified': '%M', 'bufnum': '%n',
- \ 'paste': '%{&paste?"PASTE":""}', 'readonly': '%R', 'charvalue': '%b', 'charvaluehex': '%B',
- \ 'spell': '%{&spell?&spelllang:""}', 'fileencoding': '%{&fenc!=#""?&fenc:&enc}', 'fileformat': '%{&ff}',
- \ 'filetype': '%{&ft!=#""?&ft:"no ft"}', 'percent': '%3p%%', 'percentwin': '%P',
- \ 'lineinfo': '%3l:%-2v', 'line': '%l', 'column': '%c', 'close': '%999X X '
- \ },
- \ 'component_visible_condition': {
- \ 'modified': '&modified||!&modifiable', 'readonly': '&readonly', 'paste': '&paste', 'spell': '&spell'
- \ },
- \ 'component_function': {},
- \ 'component_expand': {
- \ 'tabs': 'lightline#tabs'
- \ },
- \ 'component_type': {
- \ 'tabs': 'tabsel', 'close': 'raw'
- \ },
- \ 'tab_component': {},
- \ 'tab_component_function': {
- \ 'filename': 'lightline#tab#filename', 'modified': 'lightline#tab#modified',
- \ 'readonly': 'lightline#tab#readonly', 'tabnum': 'lightline#tab#tabnum'
- \ },
- \ 'colorscheme': 'default',
- \ 'mode_map': {
- \ 'n': 'NORMAL', 'i': 'INSERT', 'R': 'REPLACE', 'v': 'VISUAL', 'V': 'V-LINE', "\<C-v>": 'V-BLOCK',
- \ 'c': 'COMMAND', 's': 'SELECT', 'S': 'S-LINE', "\<C-s>": 'S-BLOCK', 't': 'TERMINAL'
- \ },
- \ 'separator': { 'left': '', 'right': '' },
- \ 'subseparator': { 'left': '|', 'right': '|' },
- \ 'tabline_separator': {},
- \ 'tabline_subseparator': {},
- \ 'enable': { 'statusline': 1, 'tabline': 1 },
- \ '_mode_': {
- \ 'n': 'normal', 'i': 'insert', 'R': 'replace', 'v': 'visual', 'V': 'visual', "\<C-v>": 'visual',
- \ 'c': 'command', 's': 'select', 'S': 'select', "\<C-s>": 'select', 't': 'terminal'
- \ },
- \ 'mode_fallback': { 'replace': 'insert', 'terminal': 'insert', 'select': 'visual' },
- \ 'palette': {},
- \ 'winwidth': winwidth(0),
- \ }
-function! lightline#init() abort
- let s:lightline = deepcopy(get(g:, 'lightline', {}))
- for [key, value] in items(s:_lightline)
- if type(value) == 4
- if !has_key(s:lightline, key)
- let s:lightline[key] = {}
- endif
- call extend(s:lightline[key], value, 'keep')
- elseif !has_key(s:lightline, key)
- let s:lightline[key] = value
- endif
- unlet value
- endfor
- call extend(s:lightline.tabline_separator, s:lightline.separator, 'keep')
- call extend(s:lightline.tabline_subseparator, s:lightline.subseparator, 'keep')
- let s:lightline.tabline_configured = 0
- for components in deepcopy(s:lightline.tabline.left + s:lightline.tabline.right)
- if len(filter(components, 'v:val !=# "tabs" && v:val !=# "close"')) > 0
- let s:lightline.tabline_configured = 1
- break
- endif
- endfor
- if !exists('s:_statusline')
- let s:_statusline = &statusline
- endif
- if !exists('s:_tabline')
- let s:_tabline = &tabline
- endif
- if s:lightline.enable.tabline
- set tabline=%!lightline#tabline()
- else
- let &tabline = get(s:, '_tabline', '')
- endif
- for f in values(s:lightline.component_function)
- silent! call call(f, [])
- endfor
- for f in values(s:lightline.tab_component_function)
- silent! call call(f, [1])
- endfor
- let s:mode = ''
-endfunction
-
-function! lightline#colorscheme() abort
- try
- let s:lightline.palette = g:lightline#colorscheme#{s:lightline.colorscheme}#palette
- catch
- call lightline#error('Could not load colorscheme ' . s:lightline.colorscheme . '.')
- let s:lightline.colorscheme = 'default'
- let s:lightline.palette = g:lightline#colorscheme#{s:lightline.colorscheme}#palette
- finally
- let s:highlight = {}
- call lightline#highlight('normal')
- call lightline#link()
- let s:_ = 0
- if has('win32') && !has('gui_running') && &t_Co < 256
- for u in values(s:lightline.palette)
- for v in values(u)
- for _ in v
- let [_[2], _[3]] = [lightline#colortable#gui2cui(_[0], _[2]), lightline#colortable#gui2cui(_[1], _[3])]
- endfor
- endfor
- endfor
- endif
- endtry
-endfunction
-
-function! lightline#palette() abort
- return s:lightline.palette
-endfunction
-
-function! lightline#mode() abort
- return get(s:lightline.mode_map, mode(), '')
-endfunction
-
-let s:mode = ''
-function! lightline#link(...) abort
- let mode = get(s:lightline._mode_, a:0 ? a:1 : mode(), 'normal')
- if s:mode == mode
- return ''
- endif
- let s:mode = mode
- if !has_key(s:highlight, mode)
- call lightline#highlight(mode)
- endif
- let types = map(s:uniq(sort(filter(values(s:lightline.component_type), 'v:val !=# "raw"'))), '[v:val, 1]')
- for [p, l] in [['Left', len(s:lightline.active.left)], ['Right', len(s:lightline.active.right)]]
- for [i, t] in map(range(0, l), '[v:val, 0]') + types
- if i != l
- exec printf('hi link LightLine%s_active_%s LightLine%s_%s_%s', p, i, p, mode, i)
- endif
- for [j, s] in map(range(0, l), '[v:val, 0]') + types
- if i + 1 == j || t || s && i != l
- exec printf('hi link LightLine%s_active_%s_%s LightLine%s_%s_%s_%s', p, i, j, p, mode, i, j)
- endif
- endfor
- endfor
- endfor
- exec printf('hi link LightLineMiddle_active LightLineMiddle_%s', mode)
- return ''
-endfunction
-
-function! s:term(p) abort
- return get(a:p, 4) !=# '' ? 'term='.a:p[4].' cterm='.a:p[4].' gui='.a:p[4] : ''
-endfunction
-
-if exists('*uniq')
- let s:uniq = function('uniq')
-else
- function! s:uniq(xs) abort
- let i = len(a:xs) - 1
- while i > 0
- if a:xs[i] ==# a:xs[i - 1]
- call remove(a:xs, i)
- endif
- let i -= 1
- endwhile
- return a:xs
- endfunction
-endif
-
-function! lightline#highlight(...) abort
- let [c, f] = [s:lightline.palette, s:lightline.mode_fallback]
- let [s:lightline.llen, s:lightline.rlen] = [len(c.normal.left), len(c.normal.right)]
- let [s:lightline.tab_llen, s:lightline.tab_rlen] = [len(has_key(get(c, 'tabline', {}), 'left') ? c.tabline.left : c.normal.left), len(has_key(get(c, 'tabline', {}), 'right') ? c.tabline.right : c.normal.right)]
- let types = map(s:uniq(sort(filter(values(s:lightline.component_type), 'v:val !=# "raw"'))), '[v:val, 1]')
- let modes = a:0 ? [a:1] : extend(['normal', 'insert', 'replace', 'visual', 'inactive', 'command', 'select', 'tabline'], has('nvim') ? ['terminal'] : [])
- for mode in modes
- let s:highlight[mode] = 1
- let d = has_key(c, mode) ? mode : has_key(f, mode) && has_key(c, f[mode]) ? f[mode] : 'normal'
- let left = d ==# 'tabline' ? s:lightline.tabline.left : d ==# 'inactive' ? s:lightline.inactive.left : s:lightline.active.left
- let right = d ==# 'tabline' ? s:lightline.tabline.right : d ==# 'inactive' ? s:lightline.inactive.right : s:lightline.active.right
- let ls = has_key(get(c, d, {}), 'left') ? c[d].left : has_key(f, d) && has_key(get(c, f[d], {}), 'left') ? c[f[d]].left : c.normal.left
- let ms = has_key(get(c, d, {}), 'middle') ? c[d].middle[0] : has_key(f, d) && has_key(get(c, f[d], {}), 'middle') ? c[f[d]].middle[0] : c.normal.middle[0]
- let rs = has_key(get(c, d, {}), 'right') ? c[d].right : has_key(f, d) && has_key(get(c, f[d], {}), 'right') ? c[f[d]].right : c.normal.right
- for [p, l, zs] in [['Left', len(left), ls], ['Right', len(right), rs]]
- for [i, t] in map(range(0, l), '[v:val, 0]') + types
- if i < l || i < 1
- let r = t ? (has_key(get(c, d, []), i) ? c[d][i][0] : has_key(get(c, 'tabline', {}), i) ? c.tabline[i][0] : get(c.normal, i, zs)[0]) : get(zs, i, ms)
- exec printf('hi LightLine%s_%s_%s guifg=%s guibg=%s ctermfg=%s ctermbg=%s %s', p, mode, i, r[0], r[1], r[2], r[3], s:term(r))
- endif
- for [j, s] in map(range(0, l), '[v:val, 0]') + types
- if i + 1 == j || t || s && i != l
- let q = s ? (has_key(get(c, d, []), j) ? c[d][j][0] : has_key(get(c, 'tabline', {}), j) ? c.tabline[j][0] : get(c.normal, j, zs)[0]) : (j != l ? get(zs, j, ms) :ms)
- exec printf('hi LightLine%s_%s_%s_%s guifg=%s guibg=%s ctermfg=%s ctermbg=%s', p, mode, i, j, r[1], q[1], r[3], q[3])
- endif
- endfor
- endfor
- endfor
- exec printf('hi LightLineMiddle_%s guifg=%s guibg=%s ctermfg=%s ctermbg=%s %s', mode, ms[0], ms[1], ms[2], ms[3], s:term(ms))
- endfor
-endfunction
-
-function! s:subseparator(components, subseparator, expanded) abort
- let [a, c, f, v] = [ a:components, s:lightline.component, s:lightline.component_function, s:lightline.component_visible_condition ]
- let xs = map(range(len(a:components)), 'a:expanded[v:val] ? "1" :
- \ has_key(f, a[v:val]) ? (exists("*".f[a[v:val]]) ? "" : "exists(\"*".f[a[v:val]]."\")&&").f[a[v:val]]."()!=#\"\"" :
- \ has_key(v, a[v:val]) ? "(" . v[a[v:val]] . ")" : has_key(c, a[v:val]) ? "1" : "0"')
- return '%{' . (xs[0] ==# '1' ? '' : xs[0] . '&&(') . join(xs[1:], '||') . (xs[0] ==# '1' ? '' : ')') . '?"' . a:subseparator . '":""}'
-endfunction
-
-function! lightline#concatenate(xs, right) abort
- let separator = a:right ? s:lightline.subseparator.right : s:lightline.subseparator.left
- return join(filter(copy(a:xs), 'v:val !=# ""'), ' ' . separator . ' ')
-endfunction
-
-function! lightline#statusline(inactive) abort
- if a:inactive && !has_key(s:highlight, 'inactive')
- call lightline#highlight('inactive')
- endif
- return s:line(0, a:inactive)
-endfunction
-
-function! s:normalize(result) abort
- if type(a:result) == 3
- return map(a:result, 'type(v:val) == 1 ? v:val : string(v:val)')
- elseif type(a:result) == 1
- return [a:result]
- else
- return [string(a:result)]
- endif
-endfunction
-
-function! s:evaluate_expand(component) abort
- try
- let result = call(a:component, [])
- if type(result) == 1 && result ==# ''
- return []
- endif
- catch
- return []
- endtry
- return map(type(result) == 3 ? (result + [[], [], []])[:2] : [[], [result], []], 'filter(s:normalize(v:val), "v:val !=# ''''")')
-endfunction
-
-function! s:convert(name, index) abort
- if has_key(s:lightline.component_expand, a:name)
- let type = get(s:lightline.component_type, a:name, a:index)
- return filter(s:map(s:evaluate_expand(s:lightline.component_expand[a:name]), '[v:val, 1, v:key == 1 ? "' . type . '" : "' . a:index . '"]'), 'v:val[0] != []')
- else
- return [[[a:name], 0, a:index]]
- endif
-endfunction
-
-function! s:flatten_twice(xss) abort
- let ys = []
- for xs in a:xss
- for x in xs
- let ys += x
- endfor
- endfor
- return ys
-endfunction
-
-if v:version > 702 || v:version == 702 && has('patch295')
- let s:map = function('map')
-else
- function! s:map(xs, f) abort
- let ys = []
- for i in range(len(a:xs))
- call extend(ys, map(a:xs[(i):(i)], substitute(a:f, 'v:key', i, 'g')))
- endfor
- return ys
- endfunction
-endif
-
-function! s:expand(components) abort
- let components = []
- let expanded = []
- let indices = []
- let previndex = -1
- let xs = s:flatten_twice(s:map(deepcopy(a:components), 'map(v:val, "s:convert(v:val, ''" . v:key . "'')")'))
- for [component, expand, index] in xs
- if previndex != index
- call add(indices, index)
- call add(components, [])
- call add(expanded, [])
- endif
- call extend(components[-1], component)
- call extend(expanded[-1], repeat([expand], len(component)))
- let previndex = index
- endfor
- call add(indices, string(len(a:components)))
- return [components, expanded, indices]
-endfunction
-
-function! s:line(tabline, inactive) abort
- let _ = a:tabline ? '' : '%{lightline#link()}'
- if s:lightline.palette == {}
- call lightline#colorscheme()
- endif
- let [l, r] = a:tabline ? [s:lightline.tab_llen, s:lightline.tab_rlen] : [s:lightline.llen, s:lightline.rlen]
- let [p, s] = a:tabline ? [s:lightline.tabline_separator, s:lightline.tabline_subseparator] : [s:lightline.separator, s:lightline.subseparator]
- let [c, f, t] = [s:lightline.component, s:lightline.component_function, s:lightline.component_type]
- let mode = a:tabline ? 'tabline' : a:inactive ? 'inactive' : 'active'
- let l_ = has_key(s:lightline, mode) ? s:lightline[mode].left : s:lightline.active.left
- let [lt, lc, ll] = s:expand(copy(l_))
- let r_ = has_key(s:lightline, mode) ? s:lightline[mode].right : s:lightline.active.right
- let [rt, rc, rl] = s:expand(copy(r_))
- for i in range(len(lt))
- let _ .= '%#LightLineLeft_' . mode . '_' . ll[i] . '#'
- for j in range(len(lt[i]))
- let x = lc[i][j] ? lt[i][j] : has_key(f, lt[i][j]) ? (exists('*' . f[lt[i][j]]) ? '%{' . f[lt[i][j]] . '()}' : '%{exists("*' . f[lt[i][j]] . '")?' . f[lt[i][j]] . '():""}') : get(c, lt[i][j], '')
- let _ .= has_key(t, lt[i][j]) && t[lt[i][j]] ==# 'raw' || x ==# '' ? x : '%( ' . x . ' %)'
- if j < len(lt[i]) - 1 && s.left !=# ''
- let _ .= s:subseparator(lt[i][(j):], s.left, lc[i][(j):])
- endif
- endfor
- let _ .= '%#LightLineLeft_' . mode . '_' . ll[i] . '_' . ll[i + 1] . '#'
- let _ .= i < l + len(lt) - len(l_) && ll[i] < l || ll[i] != ll[i + 1] ? p.left : len(lt[i]) ? s.left : ''
- endfor
- let _ .= '%#LightLineMiddle_' . mode . '#%='
- for i in reverse(range(len(rt)))
- let _ .= '%#LightLineRight_' . mode . '_' . rl[i] . '_' . rl[i + 1] . '#'
- let _ .= i < r + len(rt) - len(r_) && rl[i] < r || rl[i] != rl[i + 1] ? p.right : len(rt[i]) ? s.right : ''
- let _ .= '%#LightLineRight_' . mode . '_' . rl[i] . '#'
- for j in range(len(rt[i]))
- let x = rc[i][j] ? rt[i][j] : has_key(f, rt[i][j]) ? (exists('*' . f[rt[i][j]]) ? '%{' . f[rt[i][j]] . '()}' : '%{exists("*' . f[rt[i][j]] . '")?' . f[rt[i][j]] . '():""}') : get(c, rt[i][j], '')
- let _ .= has_key(t, rt[i][j]) && t[rt[i][j]] ==# 'raw' || x ==# '' ? x : '%( ' . x . ' %)'
- if j < len(rt[i]) - 1 && s.right !=# ''
- let _ .= s:subseparator(rt[i][(j):], s.right, rc[i][(j):])
- endif
- endfor
- endfor
- return _
-endfunction
-
-let s:tabnr = -1
-let s:tabcnt = -1
-let s:tabline = ''
-function! lightline#tabline() abort
- if !has_key(s:highlight, 'tabline')
- call lightline#highlight('tabline')
- endif
- if s:lightline.tabline_configured || s:tabnr != tabpagenr() || s:tabcnt != tabpagenr('$')
- let s:tabnr = tabpagenr()
- let s:tabcnt = tabpagenr('$')
- let s:tabline = s:line(1, 0)
- endif
- return s:tabline
-endfunction
-
-function! lightline#tabs() abort
- let [x, y, z] = [[], [], []]
- let nr = tabpagenr()
- let cnt = tabpagenr('$')
- for i in range(1, cnt)
- call add(i < nr ? x : i == nr ? y : z, '%'. i . 'T%{lightline#onetab(' . i . ',' . (i == nr) . ')}' . (i == cnt ? '%T' : ''))
- endfor
- let abbr = '...'
- let n = min([max([s:lightline.winwidth / 40, 2]), 8])
- if len(x) > n && len(z) > n
- let x = extend(add(x[:n/2-1], abbr), x[-(n+1)/2:])
- let z = extend(add(z[:(n+1)/2-1], abbr), z[-n/2:])
- elseif len(x) + len(z) > 2 * n
- if len(x) > n
- let x = extend(add(x[:(2*n-len(z))/2-1], abbr), x[-(2*n-len(z)+1)/2:])
- elseif len(z) > n
- let z = extend(add(z[:(2*n-len(x)+1)/2-1], abbr), z[-(2*n-len(x))/2:])
- endif
- endif
- return [x, y, z]
-endfunction
-
-function! lightline#onetab(n, active) abort
- let _ = []
- for name in a:active ? s:lightline.tab.active : s:lightline.tab.inactive
- if has_key(s:lightline.tab_component_function, name)
- call add(_, call(s:lightline.tab_component_function[name], [a:n]))
- else
- call add(_, get(s:lightline.tab_component, name, ''))
- endif
- endfor
- return join(filter(_, 'v:val !=# ""'), ' ')
-endfunction
-
-function! lightline#error(msg) abort
- echohl ErrorMsg
- echomsg 'lightline.vim: '.a:msg
- echohl None
-endfunction
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme.vim
deleted file mode 100644
index de23eb5..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme.vim
+++ /dev/null
@@ -1,228 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2015/03/18 08:37:17.
-" =============================================================================
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-let s:cuicolor = {
- \ 'black' : 16,
- \ 'white' : 231,
- \
- \ 'darkestgreen' : 22,
- \ 'darkgreen' : 28,
- \ 'mediumgreen' : 70,
- \ 'brightgreen' : 148,
- \
- \ 'darkestcyan' : 23,
- \ 'mediumcyan' : 117,
- \
- \ 'darkestblue' : 24,
- \ 'darkblue' : 31,
- \
- \ 'darkestred' : 52,
- \ 'darkred' : 88,
- \ 'mediumred' : 124,
- \ 'brightred' : 160,
- \ 'brightestred' : 196,
- \
- \ 'darkestpurple' : 55,
- \ 'mediumpurple' : 98,
- \ 'brightpurple' : 189,
- \
- \ 'brightorange' : 208,
- \ 'brightestorange': 214,
- \
- \ 'gray0' : 233,
- \ 'gray1' : 235,
- \ 'gray2' : 236,
- \ 'gray3' : 239,
- \ 'gray4' : 240,
- \ 'gray5' : 241,
- \ 'gray6' : 244,
- \ 'gray7' : 245,
- \ 'gray8' : 247,
- \ 'gray9' : 250,
- \ 'gray10' : 252,
- \
- \ 'yellow' : 136,
- \ 'orange' : 166,
- \ 'red' : 160,
- \ 'magenta' : 125,
- \ 'violet' : 61,
- \ 'blue' : 33,
- \ 'cyan' : 37,
- \ 'green' : 64,
- \ }
-
-let s:guicolor = {
- \ 'black' : '#000000',
- \ 'white' : '#ffffff',
- \
- \ 'darkestgreen' : '#005f00',
- \ 'darkgreen' : '#008700',
- \ 'mediumgreen' : '#5faf00',
- \ 'brightgreen' : '#afdf00',
- \
- \ 'darkestcyan' : '#005f5f',
- \ 'mediumcyan' : '#87dfff',
- \
- \ 'darkestblue' : '#005f87',
- \ 'darkblue' : '#0087af',
- \
- \ 'darkestred' : '#5f0000',
- \ 'darkred' : '#870000',
- \ 'mediumred' : '#af0000',
- \ 'brightred' : '#df0000',
- \ 'brightestred' : '#ff0000',
- \
- \ 'darkestpurple' : '#5f00af',
- \ 'mediumpurple' : '#875fdf',
- \ 'brightpurple' : '#dfdfff',
- \
- \ 'brightorange' : '#ff8700',
- \ 'brightestorange': '#ffaf00',
- \
- \ 'gray0' : '#121212',
- \ 'gray1' : '#262626',
- \ 'gray2' : '#303030',
- \ 'gray3' : '#4e4e4e',
- \ 'gray4' : '#585858',
- \ 'gray5' : '#606060',
- \ 'gray6' : '#808080',
- \ 'gray7' : '#8a8a8a',
- \ 'gray8' : '#9e9e9e',
- \ 'gray9' : '#bcbcbc',
- \ 'gray10' : '#d0d0d0',
- \
- \ 'yellow' : '#b58900',
- \ 'orange' : '#cb4b16',
- \ 'red' : '#dc322f',
- \ 'magenta' : '#d33682',
- \ 'violet' : '#6c71c4',
- \ 'blue' : '#268bd2',
- \ 'cyan' : '#2aa198',
- \ 'green' : '#859900',
- \ }
-
-function! s:convert(rgb) abort
- let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)')
- if len(rgb) == 0
- return 0
- endif
- if rgb[0] == 0xc0 && rgb[1] == 0xc0 && rgb[2] == 0xc0
- return 7
- elseif rgb[0] == 0x80 && rgb[1] == 0x80 && rgb[2] == 0x80
- return 8
- elseif (rgb[0] == 0x80 || rgb[0] == 0x00) && (rgb[1] == 0x80 || rgb[1] == 0x00) && (rgb[2] == 0x80 || rgb[2] == 0x00)
- return (rgb[0] / 0x80) + (rgb[1] / 0x80) * 2 + (rgb[1] / 0x80) * 4
- elseif abs(rgb[0]-rgb[1]) < 3 && abs(rgb[1]-rgb[2]) < 3 && abs(rgb[2]-rgb[0]) < 3
- return s:black((rgb[0] + rgb[1] + rgb[2]) / 3)
- else
- return 16 + ((s:nr(rgb[0]) * 6) + s:nr(rgb[1])) * 6 + s:nr(rgb[2])
- endif
-endfunction
-
-function! s:black(x) abort
- if a:x < 0x04
- return 16
- elseif a:x > 0xf4
- return 231
- elseif index([0x00, 0x5f, 0x87, 0xaf, 0xdf, 0xff], a:x) >= 0
- let l = a:x / 0x30
- return ((l * 6) + l) * 6 + l + 16
- else
- return 232 + (a:x < 8 ? 0 : a:x < 0x60 ? (a:x-8)/10 : a:x < 0x76 ? (a:x-0x60)/6+9 : (a:x-8)/10)
- endif
-endfunction
-
-function! s:nr(x) abort
- return a:x < 0x2f ? 0 : a:x < 0x73 ? 1 : a:x < 0x9b ? 2 : a:x < 0xc7 ? 3 : a:x < 0xef ? 4 : 5
-endfunction
-
-function! s:rgb(r, g, b) abort
- return printf('#%02x%02x%02x', a:r, a:g, a:b)
-endfunction
-
-function! s:upconvert(nr) abort
- let x = a:nr * 1
- if x < 7
- let [b, rg] = [x / 4, x % 4]
- let [g, r] = [rg / 2, rg % 2]
- return s:rgb(r * 0x80, g * 0x80, b * 0x80)
- elseif x == 7
- return s:rgb(0xc0, 0xc0, 0xc0)
- elseif x == 8
- return s:rgb(0x80, 0x80, 0x80)
- elseif x < 16
- let y = x - 8
- let [b, rg] = [y / 4, y % 4]
- let [g, r] = [rg / 2, rg % 2]
- return s:rgb(r * 0xff, g * 0xff, b * 0xff)
- elseif x < 232
- let y = x - 16
- let [rg, b] = [y / 6, y % 6]
- let [r, g] = [rg / 6, rg % 6]
- let l = [0x00, 0x5f, 0x87, 0xaf, 0xdf, 0xff]
- return s:rgb(l[r], l[g], l[b])
- elseif x < 241
- let k = (x - 232) * 10 + 8
- return s:rgb(k, k, k)
- elseif x < 243
- let k = (x - 241) * 6 + 0x60
- return s:rgb(k, k, k)
- else
- let k = (x - 232) * 10 + 8
- return s:rgb(k, k, k)
- endif
-endfunction
-
-function! lightline#colorscheme#fill(p) abort
- for k in values(a:p)
- for l in values(k)
- for m in l
- if len(m) < 4
- if type(m[0]) == 1 && type(m[1]) == 1
- if m[0] =~# '^\d\+$' && m[1] =~# '^\d\+$'
- call insert(m, s:upconvert(m[1]), 0)
- call insert(m, s:upconvert(m[1]), 0)
- else
- call insert(m, get(s:cuicolor, m[0], s:convert(m[0])), 2)
- call insert(m, get(s:cuicolor, m[1], s:convert(m[1])), 3)
- let m[0] = get(s:guicolor, m[0], m[0])
- let m[1] = get(s:guicolor, m[1], m[1])
- endif
- elseif type(m[0]) == 0 && type(m[1]) == 0
- call insert(m, s:upconvert(m[1]), 0)
- call insert(m, s:upconvert(m[1]), 0)
- endif
- endif
- endfor
- endfor
- endfor
- return a:p
-endfunction
-
-function! lightline#colorscheme#flatten(p) abort
- for k in values(a:p)
- for l in values(k)
- for m in range(len(l))
- let attr = ''
- if len(l[m]) == 3 && type(l[m][2]) == 1
- let attr = l[m][2]
- endif
- let l[m] = [l[m][0][0], l[m][1][0], l[m][0][1], l[m][1][1]]
- if !empty(attr)
- call add(l[m], attr)
- endif
- endfor
- endfor
- endfor
- return a:p
-endfunction
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/16color.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/16color.vim
deleted file mode 100644
index 170aa93..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/16color.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/16color.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2014/01/02 10:04:03.
-" =============================================================================
-let s:base03 = [ '#808080', 8 ]
-let s:base02 = [ '#000000', 0 ]
-let s:base01 = [ '#00ff00', 10 ]
-let s:base00 = [ '#ffff00', 11 ]
-let s:base0 = [ '#0000ff', 12 ]
-let s:base1 = [ '#00ffff', 14 ]
-let s:base2 = [ '#c0c0c0', 7 ]
-let s:base3 = [ '#ffffff', 15 ]
-let s:yellow = [ '#808000', 3 ]
-let s:orange = [ '#ff0000', 9 ]
-let s:red = [ '#800000', 1 ]
-let s:magenta = [ '#800080', 5 ]
-let s:violet = [ '#ff00ff', 13 ]
-let s:blue = [ '#000080', 4 ]
-let s:cyan = [ '#008080', 6 ]
-let s:green = [ '#008000', 2 ]
-if &background ==# 'light'
- let [s:base03, s:base3] = [s:base3, s:base03]
- let [s:base02, s:base2] = [s:base2, s:base02]
- let [s:base01, s:base1] = [s:base1, s:base01]
- let [s:base00, s:base0] = [s:base0, s:base00]
-endif
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base3, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base01 ], [ s:base00, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ]
-let s:p.insert.left = [ [ s:base3, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base3, s:red ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base3, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base02 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base2 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:base2, s:red ] ]
-let s:p.normal.warning = [ [ s:base02, s:yellow ] ]
-
-let g:lightline#colorscheme#16color#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor.vim
deleted file mode 100644
index 429439d..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor.vim
+++ /dev/null
@@ -1,12 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/PaperColor.vim
-" Author: TKNGUE
-" License: MIT License
-" Last Change: 2015/07/28 07:35:00.
-" =============================================================================
-
-if &background ==# 'light'
- let g:lightline#colorscheme#PaperColor#palette = g:lightline#colorscheme#PaperColor_light#palette
-else
- let g:lightline#colorscheme#PaperColor#palette = g:lightline#colorscheme#PaperColor_dark#palette
-endif
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_dark.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_dark.vim
deleted file mode 100644
index 0a70b34..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_dark.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/PaperColor_dark.vim
-" Author: TKNGUE
-" License: MIT License
-" Last Change: 2015-07-27 06:01
-" =============================================================================
-
-let s:red = '#df0000'
-let s:green = '#008700'
-let s:blue = '#00afaf'
-
-let s:pink = '#afdf00'
-let s:olive = '#dfaf5f'
-let s:navy = '#df875f'
-
-let s:orange = '#d75f00'
-let s:purple = '#8959a8'
-let s:aqua = '#3e999f'
-
-" Basics:
-let s:foreground = '#d0d0d0'
-let s:background = '#444444'
-let s:window = '#efefef'
-let s:status = '#c6c6c6'
-let s:error = '#5f0000'
-
-" Tabline:
-let s:tabline_bg = '#3a3a3a'
-let s:tabline_active_fg = '#1c1c1c'
-let s:tabline_active_bg = '#00afaf'
-let s:tabline_inactive_fg = '#c6c6c6'
-let s:tabline_inactive_bg = '#585858'
-
-" Statusline:
-let s:statusline_active_fg = '#1c1c1c'
-let s:statusline_active_bg = '#5f8787'
-let s:statusline_inactive_fg = '#c6c6c6'
-let s:statusline_inactive_bg = '#444444'
-
-" Visual:
-let s:visual_fg = '#000000'
-let s:visual_bg = '#8787af'
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:foreground, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.normal.right = [ [ s:foreground, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.normal.middle = [ [ s:statusline_active_fg, s:statusline_active_bg ]]
-let s:p.inactive.right = [ [ s:foreground, s:background ], [ s:foreground, s:background ] ]
-let s:p.inactive.left = [ [ s:foreground, s:background ], [ s:foreground, s:background ] ]
-let s:p.inactive.middle = [ [ s:foreground, s:background ], ]
-let s:p.insert.left = [ [ s:background, s:blue], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.replace.left = [ [ s:background, s:pink ], [s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.visual.left = [ [ s:visual_fg, s:visual_bg ], [s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.tabline.left = [ [s:tabline_inactive_fg, s:tabline_inactive_bg ]]
-let s:p.tabline.tabsel = [ [s:tabline_active_fg, s:tabline_active_bg ] ]
-let s:p.tabline.middle = [ [s:tabline_bg, s:tabline_bg]]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:background, s:error ] ]
-
-let g:lightline#colorscheme#PaperColor_dark#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_light.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_light.vim
deleted file mode 100644
index aef0b86..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/PaperColor_light.vim
+++ /dev/null
@@ -1,55 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/PaperColor_light.vim
-" Author: TKNGUE
-" License: MIT License
-" Last Change: 2015/07/28 07:46:40.
-" =============================================================================
-
-let s:red = '#df0000'
-let s:green = '#008700'
-let s:blue = '#4271ae'
-let s:pink = '#d7005f'
-let s:olive = '#718c00'
-let s:navy = '#005f87'
-let s:orange = '#d75f00'
-let s:purple = '#8959a8'
-let s:aqua = '#3e999f'
-
-" Basics:
-let s:foreground = '#4d4d4c'
-let s:background = '#F5F5F5'
-let s:window = '#efefef'
-let s:status = s:aqua
-let s:error = '#ffafdf'
-
-" Tabline:
-let s:tabline_bg = s:navy
-let s:tabline_active_fg = s:foreground
-let s:tabline_active_bg = s:window
-let s:tabline_inactive_fg = s:background
-let s:tabline_inactive_bg = s:aqua
-
-" Statusline:
-let s:statusline_active_fg = s:window
-let s:statusline_active_bg = s:navy
-let s:statusline_inactive_fg = s:foreground
-let s:statusline_inactive_bg = '#dadada'
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:foreground, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.normal.right = [ [ s:foreground, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.normal.middle = [ [ s:statusline_active_fg, s:statusline_active_bg ]]
-let s:p.inactive.right = [ [ s:foreground, s:background ], [ s:foreground, s:background ] ]
-let s:p.inactive.left = [ [ s:foreground, s:background ], [ s:foreground, s:background ] ]
-let s:p.inactive.middle = [ [ s:foreground, s:background ], ]
-let s:p.insert.left = [ [ s:blue, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.replace.left = [ [ s:background, s:pink ], [s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.visual.left = [ [ s:background, s:orange ], [s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
-let s:p.tabline.left = [ [s:tabline_inactive_fg, s:tabline_inactive_bg ]]
-let s:p.tabline.tabsel = [ [s:tabline_active_fg, s:tabline_active_bg ] ]
-let s:p.tabline.middle = [ [s:tabline_bg, s:tabline_bg]]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:background, s:error ] ]
-let s:p.normal.warning = [ [ s:background, s:olive ] ]
-
-let g:lightline#colorscheme#PaperColor_light#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow.vim
deleted file mode 100644
index 8255966..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/Tomorrow.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 12:22:37.
-" =============================================================================
-let s:base03 = '#fafafa'
-let s:base023 = '#dfdfdf'
-let s:base02 = '#c8c8c8'
-let s:base01 = '#b4b4b4'
-let s:base00 = '#808080'
-let s:base0 = '#666666'
-let s:base1 = '#555555'
-let s:base2 = '#4f4f4f'
-let s:base3 = '#4d4d4c'
-let s:red = '#c82829'
-let s:orange = '#f5871f'
-let s:yellow = '#eab700'
-let s:green = '#718c00'
-let s:cyan = '#3e999f'
-let s:blue = '#4271ae'
-let s:magenta = '#8959a8'
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base02, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base00 ], [ s:base00, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base03 ] ]
-let s:p.insert.left = [ [ s:base02, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base02, s:orange ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base02, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base023 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base00 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:red, s:base01 ] ]
-let s:p.normal.warning = [ [ s:yellow, s:base0 ] ]
-
-let g:lightline#colorscheme#Tomorrow#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night.vim
deleted file mode 100644
index 8903180..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night.vim
+++ /dev/null
@@ -1,41 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/Tomorrow_Night.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 12:23:38.
-" =============================================================================
-let s:base3 = '#c5c8c6'
-let s:base2 = '#bababa'
-let s:base1 = '#a0a0a0'
-let s:base0 = '#909090'
-let s:base00 = '#666666'
-let s:base01 = '#555555'
-let s:base02 = '#434343'
-let s:base023 = '#303030'
-let s:base03 = '#1d1f21'
-let s:red = '#cc6666'
-let s:orange = '#de935f'
-let s:yellow = '#f0c674'
-let s:green = '#b5bd68'
-let s:cyan = '#8abeb7'
-let s:blue = '#81a2be'
-let s:magenta = '#b294bb'
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base02, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base00 ], [ s:base00, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base03 ] ]
-let s:p.insert.left = [ [ s:base02, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base02, s:orange ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base02, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base023 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base0 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:red, s:base023 ] ]
-let s:p.normal.warning = [ [ s:yellow, s:base02 ] ]
-
-let g:lightline#colorscheme#Tomorrow_Night#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Blue.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Blue.vim
deleted file mode 100644
index 31c27f3..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Blue.vim
+++ /dev/null
@@ -1,43 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/Tomorrow_Night_Blue.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 14:13:21.
-" =============================================================================
-let s:base3 = '#ffffff'
-let s:base23 = '#ffffff'
-let s:base2 = '#ffffff'
-let s:base1 = '#ffffff'
-let s:base0 = '#ffffff'
-let s:base00 = '#6060df'
-let s:base01 = '#6060af'
-let s:base02 = '#606087'
-let s:base023 = '#202087'
-let s:base03 = '#002451'
-let s:red = '#ff9da4'
-let s:orange = '#ffc58f'
-let s:yellow = '#ffeead'
-let s:green = '#d1f1a9'
-let s:cyan = '#99ffff'
-let s:blue = '#bbdaff'
-let s:magenta = '#ebbbff'
-
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base023, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base1 ], [ s:base2, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.left = [ [ s:base02, s:base0 ], [ s:base00, s:base03 ] ]
-let s:p.insert.left = [ [ s:base023, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base023, s:orange ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base023, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base03 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base1 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:base023, s:red ] ]
-let s:p.normal.warning = [ [ s:base023, s:yellow ] ]
-
-let g:lightline#colorscheme#Tomorrow_Night_Blue#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Bright.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Bright.vim
deleted file mode 100644
index 5b81a31..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Bright.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/Tomorrow_Night_Bright.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 14:13:26.
-" =============================================================================
-let s:base3 = '#eaeaea'
-let s:base23 = '#d0d0d0'
-let s:base2 = '#c6c6c6'
-let s:base1 = '#b2b2b2'
-let s:base0 = '#949494'
-let s:base00 = '#767676'
-let s:base01 = '#606060'
-let s:base02 = '#4e4e4e'
-let s:base023 = '#262626'
-let s:base03 = '#12124c'
-let s:red = '#d54e53'
-let s:orange = '#e78c45'
-let s:yellow = '#e7c547'
-let s:green = '#b9ca4a'
-let s:cyan = '#70c0b1'
-let s:blue = '#7aa6da'
-let s:magenta = '#c397d8'
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base023, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base1 ], [ s:base2, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.left = [ [ s:base02, s:base0 ], [ s:base00, s:base03 ] ]
-let s:p.insert.left = [ [ s:base023, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base023, s:orange ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base023, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base023 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base1 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:red, s:base023 ] ]
-let s:p.normal.warning = [ [ s:yellow, s:base02 ] ]
-
-let g:lightline#colorscheme#Tomorrow_Night_Bright#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Eighties.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Eighties.vim
deleted file mode 100644
index 5124ecc..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night_Eighties.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/Tomorrow_Night_Eighties.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 14:14:14.
-" =============================================================================
-let s:base3 = '#cccccc'
-let s:base23 = '#bbbbbb'
-let s:base2 = '#aaaaaa'
-let s:base1 = '#999999'
-let s:base0 = '#777777'
-let s:base00 = '#666666'
-let s:base01 = '#555555'
-let s:base02 = '#444444'
-let s:base023 = '#333333'
-let s:base03 = '#2d2d2d'
-let s:red = '#f2777a'
-let s:orange = '#f99157'
-let s:yellow = '#ffcc66'
-let s:green = '#99cc99'
-let s:cyan = '#009999'
-let s:blue = '#99cccc'
-let s:magenta = '#cc99cc'
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base023, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base1 ], [ s:base2, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.left = [ [ s:base02, s:base0 ], [ s:base00, s:base03 ] ]
-let s:p.insert.left = [ [ s:base023, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base023, s:orange ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base023, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base03 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base1 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:base023, s:red ] ]
-let s:p.normal.warning = [ [ s:base023, s:yellow ] ]
-
-let g:lightline#colorscheme#Tomorrow_Night_Eighties#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/default.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/default.vim
deleted file mode 100644
index ee9835c..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/default.vim
+++ /dev/null
@@ -1,8 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/default.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/08/22 06:05:52.
-" =============================================================================
-
-let g:lightline#colorscheme#default#palette = g:lightline#colorscheme#powerline#palette
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/jellybeans.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/jellybeans.vim
deleted file mode 100644
index 15b2b35..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/jellybeans.vim
+++ /dev/null
@@ -1,40 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/jellybeans.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 12:21:04.
-" =============================================================================
-let s:base03 = [ '#151513', 233 ]
-let s:base02 = [ '#30302c ', 236 ]
-let s:base01 = [ '#4e4e43', 239 ]
-let s:base00 = [ '#666656', 242 ]
-let s:base0 = [ '#808070', 244 ]
-let s:base1 = [ '#949484', 246 ]
-let s:base2 = [ '#a8a897', 248 ]
-let s:base3 = [ '#e8e8d3', 253 ]
-let s:yellow = [ '#ffb964', 215 ]
-let s:orange = [ '#fad07a', 222 ]
-let s:red = [ '#cf6a4c', 167 ]
-let s:magenta = [ '#f0a0c0', 217 ]
-let s:blue = [ '#8197bf', 103 ]
-let s:cyan = [ '#8fbfdc', 110 ]
-let s:green = [ '#99ad6a', 107 ]
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base02, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base1 ], [ s:base2, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base00 ], [ s:base0, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ]
-let s:p.insert.left = [ [ s:base02, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base02, s:red ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base02, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base0, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base00, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base3, s:base00 ] ]
-let s:p.tabline.tabsel = [ [ s:base3, s:base02 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base1 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:red, s:base02 ] ]
-let s:p.normal.warning = [ [ s:yellow, s:base01 ] ]
-
-let g:lightline#colorscheme#jellybeans#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/landscape.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/landscape.vim
deleted file mode 100644
index 68d0920..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/landscape.vim
+++ /dev/null
@@ -1,25 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/landscape.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2015/11/26 21:49:44.
-" =============================================================================
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ ['#0000ff', '#ffffff', 21, 231, 'bold' ], [ '#ffffff', '#0000ff', 231, 21 ] ]
-let s:p.normal.right = [ [ '#303030', '#d0d0d0', 236, 252 ], [ '#303030', '#8a8a8a', 236, 245 ], [ '#bcbcbc', '#585858', 250, 240 ] ]
-let s:p.inactive.right = [ [ '#121212', '#606060', 233, 241 ], [ '#121212', '#3a3a3a', 233, 237 ], [ '#121212', '#262626', 233, 235 ] ]
-let s:p.inactive.left = s:p.inactive.right[1:]
-let s:p.insert.left = [ ['#005f00', '#ffffff', 22, 231, 'bold' ], [ '#ffffff', '#005f00', 231, 22 ] ]
-let s:p.replace.left = [ [ '#af0000', '#ffffff', 124, 231, 'bold' ], [ '#ffffff', '#af0000', 231, 124 ] ]
-let s:p.visual.left = [ [ '#5f00ff', '#ffffff', 57, 231, 'bold' ], [ '#ffffff', '#5f00ff', 231, 57 ] ]
-let s:p.normal.middle = [ [ '#8a8a8a', '#303030', 245, 236 ] ]
-let s:p.inactive.middle = [ [ '#303030', '#121212', 236, 233 ] ]
-let s:p.tabline.left = [ [ '#d0d0d0', '#666666', 252, 242 ] ]
-let s:p.tabline.tabsel = [ [ '#dadada', '#121212', 253, 233 ] ]
-let s:p.tabline.middle = [ [ '#8a8a8a', '#3a3a3a', 245, 237 ] ]
-let s:p.tabline.right = [ [ '#d0d0d0', '#666666', 252, 242 ] ]
-let s:p.normal.error = [ [ '#d0d0d0', '#ff0000', 252, 196 ] ]
-let s:p.normal.warning = [ [ '#262626', '#ffff00', 235, 226 ] ]
-
-let g:lightline#colorscheme#landscape#palette = s:p
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/powerline.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/powerline.vim
deleted file mode 100644
index 40e48d4..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/powerline.vim
+++ /dev/null
@@ -1,28 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/powerline.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/09/07 15:54:41.
-" =============================================================================
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ ['darkestgreen', 'brightgreen', 'bold'], ['white', 'gray4'] ]
-let s:p.normal.right = [ ['gray5', 'gray10'], ['gray9', 'gray4'], ['gray8', 'gray2'] ]
-let s:p.inactive.right = [ ['gray1', 'gray5'], ['gray4', 'gray1'], ['gray4', 'gray0'] ]
-let s:p.inactive.left = s:p.inactive.right[1:]
-let s:p.insert.left = [ ['darkestcyan', 'white', 'bold'], ['white', 'darkblue'] ]
-let s:p.insert.right = [ [ 'darkestcyan', 'mediumcyan' ], [ 'mediumcyan', 'darkblue' ], [ 'mediumcyan', 'darkestblue' ] ]
-let s:p.replace.left = [ ['white', 'brightred', 'bold'], ['white', 'gray4'] ]
-let s:p.visual.left = [ ['darkred', 'brightorange', 'bold'], ['white', 'gray4'] ]
-let s:p.normal.middle = [ [ 'gray7', 'gray2' ] ]
-let s:p.insert.middle = [ [ 'mediumcyan', 'darkestblue' ] ]
-let s:p.replace.middle = s:p.normal.middle
-let s:p.replace.right = s:p.normal.right
-let s:p.tabline.left = [ [ 'gray9', 'gray4' ] ]
-let s:p.tabline.tabsel = [ [ 'gray9', 'gray1' ] ]
-let s:p.tabline.middle = [ [ 'gray2', 'gray8' ] ]
-let s:p.tabline.right = [ [ 'gray9', 'gray3' ] ]
-let s:p.normal.error = [ [ 'gray9', 'brightestred' ] ]
-let s:p.normal.warning = [ [ 'gray1', 'yellow' ] ]
-
-let g:lightline#colorscheme#powerline#palette = lightline#colorscheme#fill(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/seoul256.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/seoul256.vim
deleted file mode 100644
index ca2d5a0..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/seoul256.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/seoul256.vim
-" Author: atweiden
-" License: MIT License
-" Last Change: 2015/11/02 08:23:27.
-" =============================================================================
-let s:base03 = [ '#151513', 233 ]
-let s:base02 = [ '#30302c ', 236 ]
-let s:base01 = [ '#4e4e43', 239 ]
-let s:base00 = [ '#666656', 242 ]
-let s:base0 = [ '#808070', 244 ]
-let s:base1 = [ '#949484', 246 ]
-let s:base2 = [ '#a8a897', 248 ]
-let s:base3 = [ '#e8e8d3', 253 ]
-let s:yellow = [ '#d8af5f', 3 ]
-let s:orange = [ '#d7875f', 216 ]
-let s:red = [ '#d68787', 131 ]
-let s:magenta = [ '#df5f87', 168 ]
-let s:peach = [ '#d7afaf', 181 ]
-let s:blue = [ '#87afaf', 109 ]
-let s:cyan = [ '#87d7d7', 23 ]
-let s:green = [ '#87af87', 108 ]
-let s:white = [ '#d0d0d0', 252 ]
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base02, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base1 ], [ s:base2, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base00 ], [ s:base0, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ]
-let s:p.insert.left = [ [ s:base02, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base02, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base02, s:peach ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base0, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base00, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base3, s:base00 ] ]
-let s:p.tabline.tabsel = [ [ s:base3, s:base02 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base1 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:red, s:base02 ] ]
-let s:p.normal.warning = [ [ s:yellow, s:base01 ] ]
-
-let g:lightline#colorscheme#seoul256#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized.vim
deleted file mode 100644
index 2695c35..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/solarized.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2013/08/27 10:24:28.
-" =============================================================================
-if &background ==# 'light'
- let g:lightline#colorscheme#solarized#palette = g:lightline#colorscheme#solarized_light#palette
-else
- let g:lightline#colorscheme#solarized#palette = g:lightline#colorscheme#solarized_dark#palette
-endif
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_dark.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_dark.vim
deleted file mode 100644
index 37a3dc7..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_dark.vim
+++ /dev/null
@@ -1,73 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/solarized_dark.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2014/05/31 01:04:15.
-" =============================================================================
-
-let s:cuicolors = {
- \ 'base03': [ '8', '234', 'DarkGray' ],
- \ 'base02': [ '0', '235', 'Black' ],
- \ 'base01': [ '10', '239', 'LightGreen' ],
- \ 'base00': [ '11', '240', 'LightYellow' ],
- \ 'base0': [ '12', '244', 'LightBlue' ],
- \ 'base1': [ '14', '245', 'LightCyan' ],
- \ 'base2': [ '7', '187', 'LightGray' ],
- \ 'base3': [ '15', '230', 'White' ],
- \ 'yellow': [ '3', '136', 'DarkYellow' ],
- \ 'orange': [ '9', '166', 'LightRed' ],
- \ 'red': [ '1', '124', 'DarkRed' ],
- \ 'magenta': [ '5', '125', 'DarkMagenta' ],
- \ 'violet': [ '13', '61', 'LightMagenta' ],
- \ 'blue': [ '4', '33', 'DarkBlue' ],
- \ 'cyan': [ '6', '37', 'DarkCyan' ],
- \ 'green': [ '2', '64', 'DarkGreen' ],
- \ }
-
-" The following condition only applies for the console and is the same
-" condition vim-colors-solarized uses to determine which set of colors
-" to use.
-let s:solarized_termcolors = get(g:, 'solarized_termcolors', 256)
-if s:solarized_termcolors != 256 && &t_Co >= 16
- let s:cuiindex = 0
-elseif s:solarized_termcolors == 256
- let s:cuiindex = 1
-else
- let s:cuiindex = 2
-endif
-
-let s:base03 = [ '#002b36', s:cuicolors.base03[s:cuiindex] ]
-let s:base02 = [ '#073642', s:cuicolors.base02[s:cuiindex] ]
-let s:base01 = [ '#586e75', s:cuicolors.base01[s:cuiindex] ]
-let s:base00 = [ '#657b83', s:cuicolors.base00[s:cuiindex] ]
-let s:base0 = [ '#839496', s:cuicolors.base0[s:cuiindex] ]
-let s:base1 = [ '#93a1a1', s:cuicolors.base1[s:cuiindex] ]
-let s:base2 = [ '#eee8d5', s:cuicolors.base2[s:cuiindex] ]
-let s:base3 = [ '#fdf6e3', s:cuicolors.base3[s:cuiindex] ]
-let s:yellow = [ '#b58900', s:cuicolors.yellow[s:cuiindex] ]
-let s:orange = [ '#cb4b16', s:cuicolors.orange[s:cuiindex] ]
-let s:red = [ '#dc322f', s:cuicolors.red[s:cuiindex] ]
-let s:magenta = [ '#d33682', s:cuicolors.magenta[s:cuiindex] ]
-let s:violet = [ '#6c71c4', s:cuicolors.violet[s:cuiindex] ]
-let s:blue = [ '#268bd2', s:cuicolors.blue[s:cuiindex] ]
-let s:cyan = [ '#2aa198', s:cuicolors.cyan[s:cuiindex] ]
-let s:green = [ '#859900', s:cuicolors.green[s:cuiindex] ]
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base3, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base01 ], [ s:base00, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ]
-let s:p.insert.left = [ [ s:base3, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base3, s:red ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base3, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base1, s:base00 ] ]
-let s:p.tabline.tabsel = [ [ s:base3, s:base0 ] ]
-let s:p.tabline.middle = [ [ s:base01, s:base02 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:base2, s:red ] ]
-let s:p.normal.warning = [ [ s:base02, s:yellow ] ]
-
-let g:lightline#colorscheme#solarized_dark#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_light.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_light.vim
deleted file mode 100644
index 99046af..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/solarized_light.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/solarized_light.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2014/05/31 01:04:21.
-" =============================================================================
-
-let s:cuicolors = {
- \ 'base03': [ '8', '234', 'DarkGray' ],
- \ 'base02': [ '0', '235', 'Black' ],
- \ 'base01': [ '10', '239', 'LightGreen' ],
- \ 'base00': [ '11', '240', 'LightYellow' ],
- \ 'base0': [ '12', '244', 'LightBlue' ],
- \ 'base1': [ '14', '245', 'LightCyan' ],
- \ 'base2': [ '7', '187', 'LightGray' ],
- \ 'base3': [ '15', '230', 'White' ],
- \ 'yellow': [ '3', '136', 'DarkYellow' ],
- \ 'orange': [ '9', '166', 'LightRed' ],
- \ 'red': [ '1', '124', 'DarkRed' ],
- \ 'magenta': [ '5', '125', 'DarkMagenta' ],
- \ 'violet': [ '13', '61', 'LightMagenta' ],
- \ 'blue': [ '4', '33', 'DarkBlue' ],
- \ 'cyan': [ '6', '37', 'DarkCyan' ],
- \ 'green': [ '2', '64', 'DarkGreen' ],
- \ }
-
-" The following condition only applies for the console and is the same
-" condition vim-colors-solarized uses to determine which set of colors
-" to use.
-let s:solarized_termcolors = get(g:, 'solarized_termcolors', 256)
-if s:solarized_termcolors != 256 && &t_Co >= 16
- let s:cuiindex = 0
-elseif s:solarized_termcolors == 256
- let s:cuiindex = 1
-else
- let s:cuiindex = 2
-endif
-
-let s:base03 = [ '#002b36', s:cuicolors.base03[s:cuiindex] ]
-let s:base02 = [ '#073642', s:cuicolors.base02[s:cuiindex] ]
-let s:base01 = [ '#586e75', s:cuicolors.base01[s:cuiindex] ]
-let s:base00 = [ '#657b83', s:cuicolors.base00[s:cuiindex] ]
-let s:base0 = [ '#839496', s:cuicolors.base0[s:cuiindex] ]
-let s:base1 = [ '#93a1a1', s:cuicolors.base1[s:cuiindex] ]
-let s:base2 = [ '#eee8d5', s:cuicolors.base2[s:cuiindex] ]
-let s:base3 = [ '#fdf6e3', s:cuicolors.base3[s:cuiindex] ]
-let s:yellow = [ '#b58900', s:cuicolors.yellow[s:cuiindex] ]
-let s:orange = [ '#cb4b16', s:cuicolors.orange[s:cuiindex] ]
-let s:red = [ '#dc322f', s:cuicolors.red[s:cuiindex] ]
-let s:magenta = [ '#d33682', s:cuicolors.magenta[s:cuiindex] ]
-let s:violet = [ '#6c71c4', s:cuicolors.violet[s:cuiindex] ]
-let s:blue = [ '#268bd2', s:cuicolors.blue[s:cuiindex] ]
-let s:cyan = [ '#2aa198', s:cuicolors.cyan[s:cuiindex] ]
-let s:green = [ '#859900', s:cuicolors.green[s:cuiindex] ]
-
-let [s:base03, s:base3] = [s:base3, s:base03]
-let [s:base02, s:base2] = [s:base2, s:base02]
-let [s:base01, s:base1] = [s:base1, s:base01]
-let [s:base00, s:base0] = [s:base0, s:base00]
-
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base3, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base02, s:base01 ], [ s:base00, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base0, s:base02 ], [ s:base00, s:base02 ] ]
-let s:p.insert.left = [ [ s:base3, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base3, s:red ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base3, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base1, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base0, s:base02 ] ]
-let s:p.tabline.left = [ [ s:base2, s:base01 ] ]
-let s:p.tabline.tabsel = [ [ s:base2, s:base03 ] ]
-let s:p.tabline.middle = [ [ s:base1, s:base02 ] ]
-let s:p.tabline.right = copy(s:p.normal.right)
-let s:p.normal.error = [ [ s:red, s:base01 ] ]
-let s:p.normal.warning = [ [ s:yellow, s:base01 ] ]
-let s:p.normal.error = [ [ s:base02, s:red ] ]
-let s:p.normal.warning = [ [ s:base2, s:yellow ] ]
-
-let g:lightline#colorscheme#solarized_light#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/wombat.vim b/vim/bundle/lightline.vim/autoload/lightline/colorscheme/wombat.vim
deleted file mode 100644
index 9619247..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colorscheme/wombat.vim
+++ /dev/null
@@ -1,40 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colorscheme/wombat.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2015/11/30 08:37:43.
-" =============================================================================
-let s:base03 = [ '#242424', 235 ]
-let s:base023 = [ '#353535 ', 236 ]
-let s:base02 = [ '#444444 ', 238 ]
-let s:base01 = [ '#585858', 240 ]
-let s:base00 = [ '#666666', 242 ]
-let s:base0 = [ '#808080', 244 ]
-let s:base1 = [ '#969696', 247 ]
-let s:base2 = [ '#a8a8a8', 248 ]
-let s:base3 = [ '#d0d0d0', 252 ]
-let s:yellow = [ '#cae682', 180 ]
-let s:orange = [ '#e5786d', 173 ]
-let s:red = [ '#e5786d', 203 ]
-let s:magenta = [ '#f2c68a', 216 ]
-let s:blue = [ '#8ac6f2', 117 ]
-let s:cyan = s:blue
-let s:green = [ '#95e454', 119 ]
-let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
-let s:p.normal.left = [ [ s:base02, s:blue ], [ s:base3, s:base01 ] ]
-let s:p.normal.right = [ [ s:base02, s:base0 ], [ s:base1, s:base01 ] ]
-let s:p.inactive.right = [ [ s:base023, s:base01 ], [ s:base00, s:base02 ] ]
-let s:p.inactive.left = [ [ s:base1, s:base02 ], [ s:base00, s:base023 ] ]
-let s:p.insert.left = [ [ s:base02, s:green ], [ s:base3, s:base01 ] ]
-let s:p.replace.left = [ [ s:base023, s:red ], [ s:base3, s:base01 ] ]
-let s:p.visual.left = [ [ s:base02, s:magenta ], [ s:base3, s:base01 ] ]
-let s:p.normal.middle = [ [ s:base2, s:base02 ] ]
-let s:p.inactive.middle = [ [ s:base1, s:base023 ] ]
-let s:p.tabline.left = [ [ s:base3, s:base00 ] ]
-let s:p.tabline.tabsel = [ [ s:base3, s:base03 ] ]
-let s:p.tabline.middle = [ [ s:base2, s:base02 ] ]
-let s:p.tabline.right = [ [ s:base2, s:base00 ] ]
-let s:p.normal.error = [ [ s:base03, s:red ] ]
-let s:p.normal.warning = [ [ s:base023, s:yellow ] ]
-
-let g:lightline#colorscheme#wombat#palette = lightline#colorscheme#flatten(s:p)
diff --git a/vim/bundle/lightline.vim/autoload/lightline/colortable.vim b/vim/bundle/lightline.vim/autoload/lightline/colortable.vim
deleted file mode 100644
index 82617b2..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/colortable.vim
+++ /dev/null
@@ -1,42 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/colortable.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2015/03/29 06:21:39.
-" =============================================================================
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-function! s:load() abort
- let rgbfile = $VIMRUNTIME . '/rgb.txt'
- let table = {}
- if filereadable(rgbfile)
- for _ in map(filter(readfile(rgbfile), 'v:val !~# "^!"'), 'matchlist(v:val, "^\\s*\\(\\d\\+\\)\\s\\+\\(\\d\\+\\)\\s\\+\\(\\d\\+\\)\\s\\+\\(.*\\)")[1:4]')
- let table[tolower(_[3])] = _[0:2]
- endfor
- endif
- return table
-endfunction
-
-let s:table = s:load()
-
-function! lightline#colortable#name_to_rgb(name) abort
- let name = tolower(a:name)
- return has_key(s:table, name) ? s:table[name] : []
-endfunction
-
-function! lightline#colortable#gui2cui(rgb, fallback) abort
- let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)')
- if len(rgb) == 0
- let rgb = lightline#colortable#name_to_rgb(a:rgb)
- if len(rgb) == 0
- return a:fallback % 128
- endif
- endif
- let rgb = [rgb[0] > 127 ? 4 : 0, rgb[1] > 127 ? 2 : 0, rgb[2] > 127 ? 1 : 0]
- return rgb[0] + rgb[1] + rgb[2]
-endfunction
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
diff --git a/vim/bundle/lightline.vim/autoload/lightline/tab.vim b/vim/bundle/lightline.vim/autoload/lightline/tab.vim
deleted file mode 100644
index f2accc1..0000000
--- a/vim/bundle/lightline.vim/autoload/lightline/tab.vim
+++ /dev/null
@@ -1,33 +0,0 @@
-" =============================================================================
-" Filename: autoload/lightline/tab.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2016/05/07 22:31:02.
-" =============================================================================
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-function! lightline#tab#filename(n) abort
- let buflist = tabpagebuflist(a:n)
- let winnr = tabpagewinnr(a:n)
- let _ = expand('#'.buflist[winnr - 1].':t')
- return _ !=# '' ? _ : '[No Name]'
-endfunction
-
-function! lightline#tab#modified(n) abort
- let winnr = tabpagewinnr(a:n)
- return gettabwinvar(a:n, winnr, '&modified') ? '+' : gettabwinvar(a:n, winnr, '&modifiable') ? '' : '-'
-endfunction
-
-function! lightline#tab#readonly(n) abort
- let winnr = tabpagewinnr(a:n)
- return gettabwinvar(a:n, winnr, '&readonly') ? 'RO' : ''
-endfunction
-
-function! lightline#tab#tabnum(n) abort
- return a:n
-endfunction
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
diff --git a/vim/bundle/lightline.vim/doc/lightline.txt b/vim/bundle/lightline.vim/doc/lightline.txt
deleted file mode 100644
index 9936725..0000000
--- a/vim/bundle/lightline.vim/doc/lightline.txt
+++ /dev/null
@@ -1,1281 +0,0 @@
-*lightline.txt* A light and configurable statusline/tabline for Vim
-
-Version: 0.0
-Author: itchyny (https://github.com/itchyny)
-License: MIT License
-Repository: https://github.com/itchyny/lightline.vim
-Last Change: 2016/05/26 21:57:34.
-
-CONTENTS *lightline-contents*
-
-Introduction |lightline-introduction|
-Spirit |lightline-spirit|
-Option |lightline-option|
-Font |lightline-font|
-Function |lightline-function|
-Component Expansion |lightline-component-expansion|
-Colorscheme |lightline-colorscheme|
-Examples |lightline-examples|
-Nice Examples |lightline-nice-examples|
-Powerful Example |lightline-powerful-example|
-Troubleshooting |lightline-troubleshooting|
-Changelog |lightline-changelog|
-
-==============================================================================
-INTRODUCTION *lightline-introduction*
-
-The *lightline* plugin is a light and configurable statusline/tabline for Vim.
-
-------------------------------------------------------------------------------
-SPIRIT *lightline-spirit*
-
- Minimalism
- The core script is very small.
-
- Configurability
- You can create your own component and easily add to the
- statusline/tabline.
-
- Orthogonality
- Any plugin should not change the settings of another plugin.
- Such plugin-crossing settings should be written by users in
- .vimrc.
-
- You might find this plugin is not so useful by default. This plugin
- does not provide the branch information, which is a very basic
- component in existing plugins. The reason is that branch component is
- one of plugin-crossing settings so users should write the settings
- using the APIs of the both plugins. Hospitality makes a plugin messy.
- Good APIs keep a plugin clean.
-
-------------------------------------------------------------------------------
-OPTIONS *lightline-option*
-
- g:lightline *g:lightline*
- All the options are stored into this global variable.
-
- g:lightline.active *g:lightline.active*
- g:lightline.inactive *g:lightline.inactive*
- g:lightline.tabline *g:lightline.tabline*
- Dictionaries to specify the statusline/tabline components.
- The components are gathered from either |g:lightline.component|,
- |g:lightline.component_function| or
- |g:lightline.component_expand|.
- Note that right groups of components are stored from right to
- left. The default values are:
->
- let g:lightline.active = {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'readonly', 'filename', 'modified' ] ],
- \ 'right': [ [ 'lineinfo' ],
- \ [ 'percent' ],
- \ [ 'fileformat', 'fileencoding', 'filetype' ] ] }
- let g:lightline.inactive = {
- \ 'left': [ [ 'filename' ] ],
- \ 'right': [ [ 'lineinfo' ],
- \ [ 'percent' ] ] }
- let g:lightline.tabline = {
- \ 'left': [ [ 'tabs' ] ],
- \ 'right': [ [ 'close' ] ] }
-<
- g:lightline.tab *g:lightline.tab*
- Dictionaries to specify the components in each tabs.
- The components are gathered from either
- |g:lightline.tab_component| or
- |g:lightline.tab_component_function|.
- The default values are:
->
- let g:lightline.tab = {
- \ 'active': [ 'tabnum', 'filename', 'modified' ],
- \ 'inactive': [ 'tabnum', 'filename', 'modified' ] }
-<
- g:lightline.component *g:lightline.component*
- Dictionary for statusline/tabline components.
- The default value is:
->
- let g:lightline.component = {
- \ 'mode': '%{lightline#mode()}',
- \ 'absolutepath': '%F',
- \ 'relativepath': '%f',
- \ 'filename': '%t',
- \ 'modified': '%M',
- \ 'bufnum': '%n',
- \ 'paste': '%{&paste?"PASTE":""}',
- \ 'readonly': '%R',
- \ 'charvalue': '%b',
- \ 'charvaluehex': '%B',
- \ 'fileencoding': '%{&fenc!=#""?&fenc:&enc}',
- \ 'fileformat': '%{&ff}',
- \ 'filetype': '%{&ft!=#""?&ft:"no ft"}',
- \ 'percent': '%3p%%',
- \ 'percentwin': '%P',
- \ 'spell': '%{&spell?&spelllang:""}',
- \ 'lineinfo': '%3l:%-2v',
- \ 'line': '%l',
- \ 'column': '%c'
- \ 'close': '%999X X ' }
-<
- g:lightline.component_visible_condition *g:lightline.component_visible_condition*
- Dictionary of boolean expressions for the components.
- Each expression should correspond to the condition each
- component have non-zero length.
- The default value is:
->
- let g:lightline.component_visible_condition = {
- \ 'modified': '&modified||!&modifiable',
- \ 'readonly': '&readonly',
- \ 'paste': '&paste',
- \ 'spell': '&spell' }
-<
- Users are recommended to set this option together with the
- component itself.
-
- g:lightline.component_function *g:lightline.component_function*
- Another dictionary for components. This is more convenient
- because the user does not have to set both component and
- component_visible_condition. If a component set to both component and
- component_function, the setting of component_function has priority.
- For example, if you want a component for read-only mark, which
- disappears in help windows:
->
- let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'myreadonly', 'filename', 'modified' ] ],
- \ },
- \ 'component_function': {
- \ 'myreadonly': 'LightLineReadonly'
- \ },
- \ }
- function! LightLineReadonly()
- return &ft !~? 'help' && &readonly ? 'RO' : ''
- endfunction
-<
- g:lightline.component_expand *g:lightline.component_expand*
- Another dictionary for components. You can create a component
- which has a special color. For example, error components or
- warning components. The functions should return one of:
- + a string
- + an array of three elements:
- [[ left ], [ middle ], [ right ]]
- The component in this dictionary has priority over
- |g:lightline.component| and |g:lightline.component_function|.
- Note that the return string is appended to the statusline
- string without any conversion. So you should replace all the
- % signs with %%. Otherwise, lightline will be disabled in case
- the text has a % sign.
- (example: return substitute(text, '%', '%%', 'g')).
- See |lightline-component-expansion| for more detail.
->
- let g:lightline.component_expand = {
- \ 'tabs': 'lightline#tabs' }
-<
- g:lightline.component_type *g:lightline.component_type*
- A dictionary to specify the types for components in
- |g:lightline.component_expand|. The types are used to specify
- the color. Specifically, the type raw is used to specify a
- component which should not be wrapped by item group: %(...%).
- The default value is: >
-
- let g:lightline.component_type = {
- \ 'tabs': 'tabsel',
- \ 'close': 'raw' }
-<
- g:lightline.tab_component *g:lightline.tab_component*
- A dictionary for components in one tab.
- The default value is: >
-
- let g:lightline.tab_component = {}
-<
- g:lightline.tab_component_function *g:lightline.tab_component_function*
- Another dictionary for components in one tab.
- A function specified as a tab component takes one argument:
- the tab [count].
- The default value is:
->
- let g:lightline.tab_component_function = {
- \ 'filename': 'lightline#tab#filename',
- \ 'modified': 'lightline#tab#modified',
- \ 'readonly': 'lightline#tab#readonly',
- \ 'tabnum': 'lightline#tab#tabnum' }
-<
- g:lightline.colorscheme *g:lightline.colorscheme*
- The colorscheme for lightline.vim.
- Currently, wombat, solarized, powerline, jellybeans, Tomorrow,
- Tomorrow_Night, Tomorrow_Night_Blue, Tomorrow_Night_Eighties,
- PaperColor, seoul256, landscape and 16color are available.
- The default value is:
->
- let g:lightline.colorscheme = 'default'
-<
- Note that the default colorscheme is exactly the same as the
- powerline theme.
-
- g:lightline.mode_map *g:lightline.mode_map*
- A dictionary of names for the modes. The keys are the return
- values of |mode()|.
- The default value is:
->
- let g:lightline.mode_map = {
- \ 'n' : 'NORMAL',
- \ 'i' : 'INSERT',
- \ 'R' : 'REPLACE',
- \ 'v' : 'VISUAL',
- \ 'V' : 'V-LINE',
- \ "\<C-v>": 'V-BLOCK',
- \ 'c' : 'COMMAND',
- \ 's' : 'SELECT',
- \ 'S' : 'S-LINE',
- \ "\<C-s>": 'S-BLOCK',
- \ 't': 'TERMINAL',
- \ }
-<
- When you search a word, you get into the command mode. But if
- you want to keep the mode indicator as 'NORMAL', add >
- let g:lightline = { 'mode_map': { 'c': 'NORMAL' } }
-< to your .vimrc.
-
- g:lightline.separator *g:lightline.separator*
- g:lightline.subseparator *g:lightline.subseparator*
- Dictionaries to store separators.
- The default value is
->
- let g:lightline.separator = { 'left': '', 'right': '' }
- let g:lightline.subseparator = { 'left': '|', 'right': '|' }
-<
- g:lightline.tabline_separator *g:lightline.tabline_separator*
- g:lightline.tabline_subseparator *g:lightline.tabline_subseparator*
- Dictionaries to store separators for the tabline.
- The default value is
->
- let g:lightline.tabline_separator = g:lightline.separator
- let g:lightline.tabline_subseparator = g:lightline.subseparator
-<
- g:lightline.enable *g:lightline.enable*
- A dictionary to specify which feature is turned on.
- The default value is
->
- let g:lightline.enable = {
- \ 'statusline': 1,
- \ 'tabline': 1
- \ }
-<
-
-==============================================================================
-FONT *lightline-font*
-You can use the patched font you used for |vim-powerline| and |powerline|.
-
-The patched fonts for |powerline| are available at
-https://github.com/Lokaltog/powerline-fonts
-
-A tutorial to create a patched font for |vim-powerline| is available at
-https://github.com/Lokaltog/vim-powerline/tree/develop/fontpatcher
-
-If you have installed the patched font for |powerline|, following settings look
-nice.
->
- let g:lightline = {
- \ 'component': {
- \ 'lineinfo': ' %3l:%-2v',
- \ },
- \ 'component_function': {
- \ 'readonly': 'LightLineReadonly',
- \ 'fugitive': 'LightLineFugitive'
- \ },
- \ 'separator': { 'left': '', 'right': '' },
- \ 'subseparator': { 'left': '', 'right': '' }
- \ }
- function! LightLineReadonly()
- return &readonly ? '' : ''
- endfunction
- function! LightLineFugitive()
- if exists('*fugitive#head')
- let branch = fugitive#head()
- return branch !=# '' ? ''.branch : ''
- endif
- return ''
- endfunction
-<
-If you have installed the patched font for |vim-powerline|, following settings
-look nice.
->
- let g:lightline = {
- \ 'component': {
- \ 'lineinfo': '⭡ %3l:%-2v',
- \ },
- \ 'component_function': {
- \ 'readonly': 'LightLineReadonly',
- \ 'fugitive': 'LightLineFugitive'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
- function! LightLineReadonly()
- return &readonly ? '⭤' : ''
- endfunction
- function! LightLineFugitive()
- if exists('*fugitive#head')
- let branch = fugitive#head()
- return branch !=# '' ? '⭠ '.branch : ''
- endif
- return ''
- endfunction
-<
-If the statusline does not correctly show the special characters, use the
-unicode numbers. For |powerline| font users:
->
- \ 'separator': { 'left': "\ue0b0", 'right': "\ue0b2" },
- \ 'subseparator': { 'left': "\ue0b1", 'right': "\ue0b3" }
-<
-For |vim-powerline| font users:
->
- \ 'separator': { 'left': "\u2b80", 'right': "\u2b82" },
- \ 'subseparator': { 'left': "\u2b81", 'right': "\u2b83" }
-<
-See |lightline-problem-9| for more detail.
-==============================================================================
-FUNCTION *lightline-function*
-Exposed functions for lightline.vim.
-
- lightline#mode() *lightline#mode()*
- Returns the mode of the Vim using |g:lightline.mode_map|.
-
- lightline#init() *lightline#init()*
- Initializes the internal state from |g:lightline|.
-
- lightline#colorscheme() *lightline#colorscheme()*
- Initializes the colorscheme and the highlight groups.
-
- lightline#update() *lightline#update()*
- Updates all the statuslines of existing windows.
-
- lightline#update_once() *lightline#update_once()*
- Updates the statuslines only once.
-
- lightline#enable() *lightline#enable()*
- Enables |lightline|.
-
- lightline#disable() *lightline#disable()*
- Disables |lightline|.
-
- lightline#toggle() *lightline#toggle()*
- Toggles |lightline|.
-
- lightline#link([mode]) *lightline#link()*
- Creates links of the highlight groups for the active window.
- This function accepts an optional argument. It should be one
- of the return value of |mode()|.
-
- lightline#highlight() *lightline#highlight()*
- Set the highlight groups.
-
- lightline#statusline({inactive}) *lightline#statusline()*
- Returns |statusline| strings. If the argument is 0, it returns
- the statusline for active window, and the statusline for
- inactive window otherwise.
-
- lightline#tabline() *lightline#tabline()*
- Returns the tabline string.
-
- lightline#concatenate({list}, {num}) *lightline#concatenate()*
- A string concatenation function. Concatenating all the strings
- in {list} using the sub-separator of lightline. If {num} is 0,
- then the left sub-separator is used. Otherwise, the right
- sub-separator is used.
-
- lightline#palette() *lightline#palette()*
- Returns the palette data.
-
-==============================================================================
-COMPONENT EXPANSION *lightline-component-expansion*
-You can create components, which have specific colors. This section gives an
-example using |syntastic|.
-
-If you want to add the |syntastic| flag to the statusline, an easy example is:
->
- " Example A
- let g:lightline = {
- \ 'active': {
- \ 'right': [ [ 'lineinfo', 'syntastic' ],
- \ [ 'percent' ],
- \ [ 'fileformat', 'fileencoding', 'filetype' ] ]
- \ },
- \ 'component_function': {
- \ 'syntastic': 'SyntasticStatuslineFlag',
- \ }
- \ }
- let g:syntastic_mode_map = { 'mode': 'passive',
- \ 'active_filetypes': ['c', 'cpp'] }
-<
-However, the color of the syntastic component is the same as the lineinfo
-component.
-
-In order to change the syntastic component more outstanding, you have to use
-|g:lightline.component_expand|. See the following example:
->
- " Example B
- let g:lightline = {
- \ 'active': {
- \ 'right': [ [ 'syntastic', 'lineinfo' ],
- \ [ 'percent' ],
- \ [ 'fileformat', 'fileencoding', 'filetype' ] ]
- \ },
- \ 'component_expand': {
- \ 'syntastic': 'SyntasticStatuslineFlag',
- \ },
- \ 'component_type': {
- \ 'syntastic': 'error',
- \ }
- \ }
- let g:syntastic_mode_map = { 'mode': 'passive' }
- augroup AutoSyntastic
- autocmd!
- autocmd BufWritePost *.c,*.cpp call s:syntastic()
- augroup END
- function! s:syntastic()
- SyntasticCheck
- call lightline#update()
- endfunction
-<
-In order to understand the above codes, you firstly should know how the
-colorschemes work in lightline.vim. Open the following file.
- autoload/lightline/colorscheme/powerline.vim
-The colorscheme is created by one dictionary: s:p (abbreviation for palette).
-See the value of s:p.normal.right.
->
- let s:p.normal.right = [ ['gray5', 'gray10'],
- \ ['gray9', 'gray4'],
- \ ['gray8', 'gray2'] ]
-<
-This array corresponds to the structure of g:lightline.active.right. Recall
-the example A.
->
- " Example A
- let g:lightline.active.right = [ [ 'lineinfo', 'syntastic' ],
- \ [ 'percent' ],
- \ [ 'fileformat', 'fileencoding', 'filetype' ] ]
-<
-The colors are ([fgcolor, bgcolor):
->
- (0) [ 'lineinfo', 'syntastic' ] --- s:p.normal.right[0] = ['gray5', 'gray10']
- (1) [ 'percent' ] --- s:p.normal.right[1] = ['gray9', 'gray4']
- (2) [ 'fileformat', 'fileencoding', 'filetype' ] --- s:p.normal.right[2] = ['gray8', 'gray2']
-<
-Recall the example B.
->
- " Example B
- let g:lightline.active.right = [ [ 'syntastic', 'lineinfo' ],
- \ [ 'percent' ],
- \ [ 'fileformat', 'fileencoding', 'filetype' ] ]
-<
-If a component is specified in |g:lightline.component_expand|, lightline.vim
-expands the components before setting to statusline/tabline. In this example,
-the syntastic component is expanded using the |SyntasticStatuslineFlag| function.
-This function returns a {string}. Let us call it `syntastic_flag`.
->
- let syntastic_flag = SyntasticStatuslineFlag()
-<
-The syntastic component is now expanded, so it go up to one component group.
-The type of the syntastic component is error, and the palette has error
-colors, the result is:
->
- " Expanded result of Example B
- (error) [ syntastic_flag ] --- s:p.normal.error[0] = ['gray9', 'brightestred']
- (0) [ 'lineinfo' ] --- s:p.normal.right[0] = ['gray5', 'gray10']
- (1) [ 'percent' ] --- s:p.normal.right[1] = ['gray9', 'gray4']
- (2) [ 'fileformat', 'fileencoding', 'filetype' ] --- s:p.normal.right[2] = ['gray8', 'gray2']
-<
-Thus the syntastic component has the red color.
-
-
-Another example for |g:lightline.component_expand| is the tabs component.
-Actually, the expand feature is created for the tabs component.
->
- let g:lightline.tabline.left = [ [ 'tabs' ] ]
- let g:lightline.component_expand = {
- \ 'tabs': 'lightline#tabs' }
-<
-Create three tabs and select the middle tab. Then execute
->
- echo lightline#tabs()
- " [['%1T%{lightline#onetab(1,0)}'],
- " ['%2T%{lightline#onetab(2,1)}'],
- " ['%3T%{lightline#onetab(3,0)}%T']]
-<
-It returns an array of three elements. The expanded result is:
->
- " Expanded result of tabline
- (0) ['%1T%{lightline#onetab(1,0)}'] --- s:p.tabline.left[0] = ['gray9', 'gray4']
- (tabsel) ['%2T%{lightline#onetab(2,1)}'] --- s:p.tabline.tabsel[0] = ['gray9', 'gray1']
- (0) ['%3T%{lightline#onetab(3,0)}%T'] --- s:p.tabline.left[0] = ['gray9', 'gray4']
-<
-If the tabline components are
->
- let g:lightline.tabline.left = [ [ 'A', 'B', 'tabs', 'C', 'D' ] ]
-<
-then the expanded result is:
->
- (0) ['A', 'B', '%1T%{lightline#onetab(1,0)}'] --- s:p.tabline.left[0]
- (tabsel) ['%2T%{lightline#onetab(2,1)}'] --- s:p.tabline.tabsel[0]
- (0) ['%3T%{lightline#onetab(3,0)}%T', 'C', 'D'] --- s:p.tabline.left[0]
-<
-In summary, when a function in |g:lightline.component_expand| returns an
-array of three elements, the first element and the last element remains as a
-part of existing component group. And the middle element goes up to new
-component group.
-------------------------------------------------------------------------------
-COLORSCHEME *lightline-colorscheme*
-You can configure the colorscheme of lightline. For example,
->
- let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ }
-<
-The colorscheme files are found in the directory
-
- lightline.vim/autoload/lightline/colorscheme/
-
-In each file, one global variable is defined. For example, in the landscape.vim
-file, you see
->
- let g:lightline#colorscheme#landscape#palette = s:p
-<
-In the file, the colors for the landscape colorscheme are defined. For example,
->
- let s:p.normal.left = [ ['#0000ff', '#ffffff', 21, 231, 'bold' ], [ '#ffffff', '#0000ff', 231, 21 ] ]
-<
-defines the colors for the components on the left hand side, in normal mode.
->
- let s:p.tabline.tabsel = [ [ '#dadada', '#121212', 253, 233 ] ]
-<
-defines the colors for the selected tab in tabline. In general, each palette
-follows the following style:
->
- let s:p.{mode}.{where} = [ [ {guifg}, {guibg}, {cuifg}, {cuibg} ], ... ]
-<
-
-
-Now, you can create your own colorscheme for lightline. Create a
-yourcolorscheme.vim at
-
- {one of the paths in &rtp}/autoload/lightline/colorscheme/yourcolorscheme.vim
-
-The following code gives the minimal palette definition for lightline.
->
- let s:p = {'normal': {}}
- let s:p.normal.left = [ [ ... ] ]
- let s:p.normal.right = [ [ ... ] ]
- let s:p.normal.middle = [ [ ... ] ]
- let g:lightline#colorscheme#yourcolorscheme#palette = s:p
-<
-And if you add the colorscheme configuration to your .vimrc(_vimrc),
->
- let g:lightline = {
- \ 'colorscheme': 'yourcolorscheme',
- \ }
-<
-you find it possible to change the lightline colors as you wish.
-
-Moreover, if you want to change the colors based on the mode of vim, write
-something like this:
->
- let s:p.insert.left = [ [ ... ] ]
- let s:p.insert.right = [ [ ... ] ]
- let s:p.replace.left = [ [ ... ] ]
- let s:p.replace.right = [ [ ... ] ]
- ...
- ...
-<
-For expanded components, you are recommended to define the following two
-colors.
->
- let s:p.normal.error = [ [ ... ] ]
- let s:p.normal.warning = [ [ ... ] ]
-<
-For the complete list of components the color of which you should define in
-your colorscheme, see the colorscheme files in lightline.
-
-It is sometimes painful to write all the colors for both gui and cui.
-Actually, lightline has some useful functions for writing colorschemes. For
-example, see
- lightline.vim/autoload/lightline/colorscheme/Tomorrow_Night.vim
-this colorscheme is defined using only gui color numbers. And convert to the
-normal colorscheme form using:
->
- let g:lightline#colorscheme#Tomorrow_Night#palette = lightline#colorscheme#fill(s:p)
-<
-This function fills the cui colors for a palette which has only gui colors, or
-vice versa. However, note that using the convenient function sources an
-additional Vim script file (autoload/lightline/colorscheme.vim), which causes
-a little slow down. If you want to avoid this situation, write all the colors
-as done in autoload/lightline/colorscheme/landscape.vim; firstly create the
-colorscheme using the fill function, and see the result, in a sense, the
-compiled version of your colorscheme.
->
- echo g:lightline#colorscheme#yourcolorscheme#palette
-<
-Then copy and paste the result to the colorscheme file.
-
-==============================================================================
-EXAMPLES *lightline-examples*
-You can configure the appearance of statusline.
-Write the following examples in you .vimrc(_vimrc).
-
-In order to change the colorscheme:
->
- let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ }
-<
-
-In order to define your own component:
->
- let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'myfilename' ] ]
- \ },
- \ 'component_function': {
- \ 'myfilename': 'LightLineFilename',
- \ 'myreadonly': 'LightLineReadonly',
- \ 'mymodified': 'LightLineModified',
- \ }
- \ }
- function! LightLineFilename()
- return ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
- \ &ft == 'unite' ? unite#get_status_string() :
- \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
- endfunction
- function! LightLineReadonly()
- return &ft !~? 'help' && &readonly ? 'RO' : ''
- endfunction
- function! LightLineModified()
- return &modifiable && &modified ? '+' : ''
- endfunction
-<
-
-Separators settings:
->
- let g:lightline = {
- \ 'separator': { 'left': '', 'right': '' },
- \ 'subseparator': { 'left': '|', 'right': '|' }
- \ }
-<
-
-For |powerline| font users:
->
- let g:lightline = {
- \ 'separator': { 'left': '', 'right': '' },
- \ 'subseparator': { 'left': '', 'right': '' }
- \ }
-<
-
-For |vim-powerline| font users:
->
- let g:lightline = {
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
-<
-
-------------------------------------------------------------------------------
-NICE EXAMPLES *lightline-nice-examples*
-
-A nice example for non-patched font users.
->
- let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
- \ },
- \ 'component_function': {
- \ 'fugitive': 'LightLineFugitive',
- \ 'filename': 'LightLineFilename'
- \ }
- \ }
- function! LightLineModified()
- return &ft =~ 'help\|vimfiler' ? '' : &modified ? '+' : &modifiable ? '' : '-'
- endfunction
- function! LightLineReadonly()
- return &ft !~? 'help\|vimfiler' && &readonly ? 'RO' : ''
- endfunction
- function! LightLineFilename()
- return ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
- \ &ft == 'unite' ? unite#get_status_string() :
- \ &ft == 'vimshell' ? vimshell#get_status_string() :
- \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
- endfunction
- function! LightLineFugitive()
- if &ft !~? 'vimfiler' && exists('*fugitive#head')
- return fugitive#head()
- endif
- return ''
- endfunction
-<
-A nice example for |vim-powerline| font users:
->
- let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
- \ },
- \ 'component_function': {
- \ 'fugitive': 'LightLineFugitive',
- \ 'filename': 'LightLineFilename'
- \ },
- \ 'separator': { 'left': '⮀', 'right': '⮂' },
- \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
- \ }
- function! LightLineModified()
- return &ft =~ 'help\|vimfiler' ? '' : &modified ? '+' : &modifiable ? '' : '-'
- endfunction
- function! LightLineReadonly()
- return &ft !~? 'help\|vimfiler' && &readonly ? '⭤' : ''
- endfunction
- function! LightLineFilename()
- return ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
- \ &ft == 'unite' ? unite#get_status_string() :
- \ &ft == 'vimshell' ? vimshell#get_status_string() :
- \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
- endfunction
- function! LightLineFugitive()
- if &ft !~? 'vimfiler' && exists('*fugitive#head')
- let branch = fugitive#head()
- return branch !=# '' ? '⭠ '.branch : ''
- endif
- return ''
- endfunction
-<
-
-------------------------------------------------------------------------------
-POWERFUL EXAMPLE *lightline-powerful-example*
-
-For users who uses lots of plugins:
->
- let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ], ['ctrlpmark'] ],
- \ 'right': [ [ 'syntastic', 'lineinfo' ], ['percent'], [ 'fileformat', 'fileencoding', 'filetype' ] ]
- \ },
- \ 'component_function': {
- \ 'fugitive': 'LightLineFugitive',
- \ 'filename': 'LightLineFilename',
- \ 'fileformat': 'LightLineFileformat',
- \ 'filetype': 'LightLineFiletype',
- \ 'fileencoding': 'LightLineFileencoding',
- \ 'mode': 'LightLineMode',
- \ 'ctrlpmark': 'CtrlPMark',
- \ },
- \ 'component_expand': {
- \ 'syntastic': 'SyntasticStatuslineFlag',
- \ },
- \ 'component_type': {
- \ 'syntastic': 'error',
- \ },
- \ 'subseparator': { 'left': '|', 'right': '|' }
- \ }
-
- function! LightLineModified()
- return &ft =~ 'help' ? '' : &modified ? '+' : &modifiable ? '' : '-'
- endfunction
-
- function! LightLineReadonly()
- return &ft !~? 'help' && &readonly ? 'RO' : ''
- endfunction
-
- function! LightLineFilename()
- let fname = expand('%:t')
- return fname == 'ControlP' && has_key(g:lightline, 'ctrlp_item') ? g:lightline.ctrlp_item :
- \ fname == '__Tagbar__' ? g:lightline.fname :
- \ fname =~ '__Gundo\|NERD_tree' ? '' :
- \ &ft == 'vimfiler' ? vimfiler#get_status_string() :
- \ &ft == 'unite' ? unite#get_status_string() :
- \ &ft == 'vimshell' ? vimshell#get_status_string() :
- \ ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
- \ ('' != fname ? fname : '[No Name]') .
- \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
- endfunction
-
- function! LightLineFugitive()
- try
- if expand('%:t') !~? 'Tagbar\|Gundo\|NERD' && &ft !~? 'vimfiler' && exists('*fugitive#head')
- let mark = '' " edit here for cool mark
- let branch = fugitive#head()
- return branch !=# '' ? mark.branch : ''
- endif
- catch
- endtry
- return ''
- endfunction
-
- function! LightLineFileformat()
- return winwidth(0) > 70 ? &fileformat : ''
- endfunction
-
- function! LightLineFiletype()
- return winwidth(0) > 70 ? (&filetype !=# '' ? &filetype : 'no ft') : ''
- endfunction
-
- function! LightLineFileencoding()
- return winwidth(0) > 70 ? (&fenc !=# '' ? &fenc : &enc) : ''
- endfunction
-
- function! LightLineMode()
- let fname = expand('%:t')
- return fname == '__Tagbar__' ? 'Tagbar' :
- \ fname == 'ControlP' ? 'CtrlP' :
- \ fname == '__Gundo__' ? 'Gundo' :
- \ fname == '__Gundo_Preview__' ? 'Gundo Preview' :
- \ fname =~ 'NERD_tree' ? 'NERDTree' :
- \ &ft == 'unite' ? 'Unite' :
- \ &ft == 'vimfiler' ? 'VimFiler' :
- \ &ft == 'vimshell' ? 'VimShell' :
- \ winwidth(0) > 60 ? lightline#mode() : ''
- endfunction
-
- function! CtrlPMark()
- if expand('%:t') =~ 'ControlP' && has_key(g:lightline, 'ctrlp_item')
- call lightline#link('iR'[g:lightline.ctrlp_regex])
- return lightline#concatenate([g:lightline.ctrlp_prev, g:lightline.ctrlp_item
- \ , g:lightline.ctrlp_next], 0)
- else
- return ''
- endif
- endfunction
-
- let g:ctrlp_status_func = {
- \ 'main': 'CtrlPStatusFunc_1',
- \ 'prog': 'CtrlPStatusFunc_2',
- \ }
-
- function! CtrlPStatusFunc_1(focus, byfname, regex, prev, item, next, marked)
- let g:lightline.ctrlp_regex = a:regex
- let g:lightline.ctrlp_prev = a:prev
- let g:lightline.ctrlp_item = a:item
- let g:lightline.ctrlp_next = a:next
- return lightline#statusline(0)
- endfunction
-
- function! CtrlPStatusFunc_2(str)
- return lightline#statusline(0)
- endfunction
-
- let g:tagbar_status_func = 'TagbarStatusFunc'
-
- function! TagbarStatusFunc(current, sort, fname, ...) abort
- let g:lightline.fname = a:fname
- return lightline#statusline(0)
- endfunction
-
- augroup AutoSyntastic
- autocmd!
- autocmd BufWritePost *.c,*.cpp call s:syntastic()
- augroup END
- function! s:syntastic()
- SyntasticCheck
- call lightline#update()
- endfunction
-
- let g:unite_force_overwrite_statusline = 0
- let g:vimfiler_force_overwrite_statusline = 0
- let g:vimshell_force_overwrite_statusline = 0
-<
-------------------------------------------------------------------------------
-TROUBLESHOOTING *lightline-troubleshooting*
-
-Problem 1: |lightline-problem-1|
- How to install this plugin.
-
-Problem 2: |lightline-problem-2|
- How to update this plugin.
-
-Problem 3: |lightline-problem-3|
- How to uninstall this plugin.
-
-Problem 4: |lightline-problem-4|
- Cool statuslines appear only on |:vsp|.
-
-Problem 5: |lightline-problem-5|
- The statusline does not seem to be correctly colored.
-
-Problem 6: |lightline-problem-6|
- How to install a patched font.
-
-Problem 7: |lightline-problem-7|
- Right triangles do not stick to the right components with the
- patched font.
-
-Problem 8: |lightline-problem-8|
- Triangles do not appear. Triangles look weird.
-
-Problem 9: |lightline-problem-9|
- Where can I find the list of all the cool characters for patched fonts?
-
-Problem 10: |lightline-problem-10|
- Cool statusline disappears in |unite|, |vimfiler| and |vimshell|
- buffers.
-
-Problem 11: |lightline-problem-11|
- Cool statusline disappears in |CtrlP|, |Tagbar| buffers.
-
-Problem 12: |lightline-problem-12|
- How to make the plus sign red like |powerline|?
-
-Problem 13: |lightline-problem-13|
- How to change the lightline colorscheme on the fly.
-
-Problem 14: |lightline-problem-14|
- The 'E541' warning appears on the right hand side.
- Many components disable the statusline of lightline.
-
-Problem 15: |lightline-problem-15|
- Do not deal with the tabline.
- Do not use the fancy separators in the tabline.
-
-Problem 16: |lightline-problem-16|
- When changed the component to a function component to an expanding
- component, the statusline of lightline is sometimes disabled.
-
-Problem 17: |lightline-problem-17|
- Found a bug of this plugin.
- Got many errors while using this plugin.
- Vim hangs while using this plugin.
- Want this plugin to be more configurable.
- This troubleshooting is not helpful.
-
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-Problem 1: *lightline-problem-1*
- How to install this plugin.
-
- If you are to install this plugin manually:
-
- 1. Put all the files under $VIM.
-
- If you are using |vim-pathogen|, install this plugin with the
- following command.
->
- git clone https://github.com/itchyny/lightline.vim \
- ~/.vim/bundle/lightline.vim
-<
- If you are to install this plugin using |Vundle|:
-
- 1. Add the following configuration to your
- .vimrc(_vimrc).
->
- Plugin 'itchyny/lightline.vim'
-<
- 2. Install with |:PluginInstall|.
-
- If you are to install this plugin using |NeoBundle|:
-
- 1. Add the following configuration to your
- .vimrc(_vimrc).
->
- NeoBundle 'itchyny/lightline.vim'
-<
- 2. Install with |:NeoBundleInstall|.
-
- If you are to install this plugin using |vim-plug|:
-
- 1. Add the following configuration to your
- .vimrc(_vimrc).
->
- Plug 'itchyny/lightline.vim'
-<
- 2. Install with |:PlugInstall|.
-
-Problem 2: *lightline-problem-2*
- How to update this plugin.
-
- If you have installed this plugin manually:
-
- 1. Access https://github.com/itchyny/lightline.vim .
- 2. Download the latest scripts.
- 3. Place the scripts as written in Problem 1.
-
- If you have installed this plugin using Vundle:
-
- 1. Execute |:PluginUpdate|.
-
- If you have installed this plugin using NeoBundle:
-
- 1. Execute |:NeoBundleUpdate|.
-
- If you have installed this plugin using vim-plug:
-
- 1. Execute |:PlugUpdate|.
-
-Problem 3: *lightline-problem-3*
- How to uninstall this plugin.
-
- If you have installed this plugin manually:
-
- 1. Remove all the lightline.*s under $VIM.
-
- If you have installed this plugin using Vundle:
-
- 1. Remove the :Plugin 'itchyny/lightline.vim'
- configuration from your .vimrc(_vimrc).
- 2. Update with |:PluginClean|.
-
- If you have installed this plugin using NeoBundle:
-
- 1. Remove the :NeoBundle 'itchyny/lightline.vim'
- configuration from your .vimrc(_vimrc).
- 2. Update with |:NeoBundleClean|.
-
- If you have installed this plugin using vim-plug:
-
- 1. Remove the :Plug 'itchyny/lightline.vim'
- configuration from your .vimrc(_vimrc).
- 2. Update with |:PlugClean|.
-
-Problem 4: *lightline-problem-4*
- Cool statuslines appear only on |:vsp|.
-
- Add the following setting to your .vimrc(_vimrc).
->
- set laststatus=2
-<
-Problem 5: *lightline-problem-5*
- The statusline does not seem to be correctly colored.
-
- Add
->
- export TERM=xterm-256color
-<
- to your .*shrc and add
->
- if !has('gui_running')
- set t_Co=256
- endif
-<
- to your .vimrc(_vimrc).
-
-Problem 6: *lightline-problem-6*
- How to install a patched font.
-
- There are two kinds of patched fonts:
-
- + The patched fonts for |vim-powerline|
- (https://github.com/Lokaltog/vim-powerline):
- follow the guide https://github.com/Lokaltog/vim-powerline/tree/develop/fontpatcher
- + The patched fonts for |powerline|
- (https://github.com/Lokaltog/powerline):
- download from https://github.com/Lokaltog/powerline-fonts
-
-Problem 7: *lightline-problem-7*
- Right triangles do not stick to the right components with patched
- font.
-
- Remove the following setting from your .vimrc(_vimrc).
->
- set ambiwidth=double
-<
- If you want to keep this setting, try the patched font for
- |vim-powerline|.
-
-Problem 8: *lightline-problem-8*
- Triangles do not appear. Triangles look weird.
-
- If the triangles do not appear (but you get some spaces or
- weird characters like <bf> or ¿), firstly try adding
->
- scriptencoding utf-8
- set encoding=utf-8
-<
- to the head of your .vimrc(_vimrc). Still you have weird
- characters, use the unicode numbers. For |powerline| font
- users:
->
- \ 'separator': { 'left': "\ue0b0", 'right': "\ue0b2" },
- \ 'subseparator': { 'left': "\ue0b1", 'right': "\ue0b3" }
-<
- For |vim-powerline| font users:
->
- \ 'separator': { 'left': "\u2b80", 'right': "\u2b82" },
- \ 'subseparator': { 'left': "\u2b81", 'right': "\u2b83" }
-<
- The full list of unicode numbers for fancy characters is shown
- in |lightline-problem-9|.
-
- If the triangles are shown in appropriate characters but the
- colors do not look correctly, see the following.
- If you are using iTerm2, change the following settings.
-
- + set Profiles>Colors>Minimum contrast to the Lowest.
- + set Profiles>Window>Transparency to the Opaquest.
-
- For other terminals, this weird-triangle problem will be
- resolved by disabling transparency or contrast adjustment.
-
-Problem 9: *lightline-problem-9*
- Where can I find the list of all the cool characters for patched fonts?
-
- Default powerline vim-powerline
- separator.left '' '' (\ue0b0) '⮀' (\u2b80)
- separator.right '' '' (\ue0b2) '⮂' (\u2b82)
- subseparator.left '|' '' (\ue0b1) '⮁' (\u2b81)
- subseparator.right '|' '' (\ue0b3) '⮃' (\u2b83)
- branch symbol -- '' (\ue0a0) '⭠' (\u2b60)
- readonly symbol -- '' (\ue0a2) '⭤' (\u2b64)
- linecolumn symbol -- '' (\ue0a1) '⭡' (\u2b81)
-
-Problem 10: *lightline-problem-10*
- Cool statusline disappears on |unite|, |vimfiler| and |vimshell|
- buffers.
-
- Add the following settings to your .vimrc(_vimrc).
->
- let g:unite_force_overwrite_statusline = 0
- let g:vimfiler_force_overwrite_statusline = 0
- let g:vimshell_force_overwrite_statusline = 0
-<
-Problem 11: *lightline-problem-11*
- Cool statusline disappears in |CtrlP|, |Tagbar| buffers.
-
- Add the following settings to your .vimrc(_vimrc).
->
- let g:ctrlp_status_func = {
- \ 'main': 'CtrlPStatusFunc_1',
- \ 'prog': 'CtrlPStatusFunc_2',
- \ }
- function! CtrlPStatusFunc_1(focus, byfname, regex, prev, item, next, marked)
- return lightline#statusline(0)
- endfunction
- function! CtrlPStatusFunc_2(str)
- return lightline#statusline(0)
- endfunction
-
- let g:tagbar_status_func = 'TagbarStatusFunc'
- function! TagbarStatusFunc(current, sort, fname, ...) abort
- return lightline#statusline(0)
- endfunction
-<
- See |lightline-powerful-example| for more cool settings for
- these plugins.
-
-Problem 12: *lightline-problem-12*
- How to make the plus sign red like |powerline|?
-
- Use the following setings.
->
- let g:lightline = {
- \ 'component': {
- \ 'modified': '%#ModifiedColor#%{LightLineModified()}',
- \ }
- \ }
- function! LightLineModified()
- let map = { 'V': 'n', "\<C-v>": 'n', 's': 'n', 'v': 'n', "\<C-s>": 'n', 'c': 'n', 'R': 'n'}
- let mode = get(map, mode()[0], mode()[0])
- let bgcolor = {'n': [240, '#585858'], 'i': [31, '#0087af']}
- let color = get(bgcolor, mode, bgcolor.n)
- exe printf('hi ModifiedColor ctermfg=196 ctermbg=%d guifg=#ff0000 guibg=%s term=bold cterm=bold',
- \ color[0], color[1])
- return &modified ? '+' : &modifiable ? '' : '-'
- endfunction
-<
- It's surely complicated. There's no easy API to do a thing
- like this. But it means that your request does not match
- the spirit of lightline.
-
-Problem 13: *lightline-problem-13*
- How to change the lightline colorscheme on the fly.
-
- Add the following settings to your .vimrc(_vimrc).
->
- augroup LightLineColorscheme
- autocmd!
- autocmd ColorScheme * call s:lightline_update()
- augroup END
- function! s:lightline_update()
- if !exists('g:loaded_lightline')
- return
- endif
- try
- if g:colors_name =~# 'wombat\|solarized\|landscape\|jellybeans\|seoul256\|Tomorrow'
- let g:lightline.colorscheme =
- \ substitute(substitute(g:colors_name, '-', '_', 'g'), '256.*', '', '') .
- \ (g:colors_name ==# 'solarized' ? '_' . &background : '')
- call lightline#init()
- call lightline#colorscheme()
- call lightline#update()
- endif
- catch
- endtry
- endfunction
-<
-Problem 14: *lightline-problem-14*
- The 'E541' warning appears on the right hand side.
- Many components disable the statusline of lightline.
-
- The number of items in statusline/tabline is limited to 80
- (see |E541|). You cannot register too much components.
-
-Problem 15: *lightline-problem-15*
- Do not deal with the tabline.
- Do not use the fancy separators in the tabline.
-
- You can disable the tabline feature of lightline.vim using:
->
- let g:lightline = {
- \ 'enable': { 'tabline': 0 },
- \ }
-<
- If you don't like the separators in the tabline, use:
->
- let g:lightline = {
- \ 'tabline_separator': { 'left': "", 'right': "" },
- \ 'tabline_subseparator': { 'left': "", 'right': "" },
- \ }
-<
-Problem 16: *lightline-problem-16*
- When changed the component to a function component to an expanding
- component, the statusline of lightline is sometimes disabled.
-
- When you changed from
->
- \ 'component_function': {
- \ 'my': 'My',
- \ }
-<
- to
->
- \ 'component_expand': {
- \ 'my': 'My',
- \ }
-<
- the statusline of lightline is disabled unexpectedly.
- In such a case, the text returned by 'My' function may include
- the '%' character. Replace all the '%' signs with '%%'.
->
- function My()
- ...
- return substitute(text, '%', '%%', 'g')
- endfunction
-<
-Problem 17: *lightline-problem-17*
- Found a bug of this plugin.
- Got many errors while using this plugin.
- Vim hangs while using this plugin.
- Want this plugin to be more configurable.
- This troubleshooting is not helpful.
-
- Report/Request the issue/feature at
- https://github.com/itchyny/lightline.vim/issues.
-
-==============================================================================
-CHANGELOG *lightline-changelog*
-
-0.0 2013-08-21, ...
- - Initial commit and implementation
-
-==============================================================================
-vim:tw=78:sw=4:ts=8:ft=help:norl:noet:
diff --git a/vim/bundle/lightline.vim/plugin/lightline.vim b/vim/bundle/lightline.vim/plugin/lightline.vim
deleted file mode 100644
index f396010..0000000
--- a/vim/bundle/lightline.vim/plugin/lightline.vim
+++ /dev/null
@@ -1,24 +0,0 @@
-" =============================================================================
-" Filename: plugin/lightline.vim
-" Author: itchyny
-" License: MIT License
-" Last Change: 2016/03/14 03:31:58.
-" =============================================================================
-
-if exists('g:loaded_lightline') || v:version < 700
- finish
-endif
-let g:loaded_lightline = 1
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-augroup lightline
- autocmd!
- autocmd WinEnter,BufWinEnter,FileType,ColorScheme,SessionLoadPost * call lightline#update()
- autocmd ColorScheme,SessionLoadPost * call lightline#highlight()
- autocmd CursorMoved,BufUnload * call lightline#update_once()
-augroup END
-
-let &cpo = s:save_cpo
-unlet s:save_cpo
diff --git a/vim/bundle/lightline.vim/test/.themisrc b/vim/bundle/lightline.vim/test/.themisrc
deleted file mode 100644
index c226c08..0000000
--- a/vim/bundle/lightline.vim/test/.themisrc
+++ /dev/null
@@ -1,20 +0,0 @@
-let s:sids = {}
-function! s:sid(path) abort
- if has_key(s:sids, a:path)
- return s:sids[a:path]
- endif
- redir => scriptnames
- silent! scriptnames
- redir END
- for line in split(scriptnames, '\n')
- if line =~# a:path
- let sid = matchstr(line, '\v^\s*\zs\d+\ze')
- let s:sids[a:path] = sid
- return sid
- endif
- endfor
-endfunction
-
-function! SID(name) abort
- return function(printf("\<SNR>%d_%s", s:sid('autoload/lightline.vim'), a:name))
-endfunction
diff --git a/vim/bundle/lightline.vim/test/concatenate.vim b/vim/bundle/lightline.vim/test/concatenate.vim
deleted file mode 100644
index 6fd2723..0000000
--- a/vim/bundle/lightline.vim/test/concatenate.vim
+++ /dev/null
@@ -1,90 +0,0 @@
-let s:suite = themis#suite('concatenate')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- let g:lightline = { 'subseparator': { 'left': '>', 'right': '<' } }
- call lightline#init()
-endfunction
-
-function! s:suite.nil()
- call s:assert.equals(lightline#concatenate([], 0), '')
- call s:assert.equals(lightline#concatenate([], 1), '')
-endfunction
-
-function! s:suite.one()
- call s:assert.equals(lightline#concatenate(['foo'], 0), 'foo')
- call s:assert.equals(lightline#concatenate(['foo'], 1), 'foo')
-endfunction
-
-function! s:suite.two()
- call s:assert.equals(lightline#concatenate(['foo', 'bar'], 0), 'foo > bar')
- call s:assert.equals(lightline#concatenate(['foo', 'bar'], 1), 'foo < bar')
-endfunction
-
-function! s:suite.three()
- call s:assert.equals(lightline#concatenate(['foo', 'bar', 'baz'], 0), 'foo > bar > baz')
- call s:assert.equals(lightline#concatenate(['foo', 'bar', 'baz'], 1), 'foo < bar < baz')
-endfunction
-
-function! s:suite.one_empty()
- call s:assert.equals(lightline#concatenate([''], 0), '')
- call s:assert.equals(lightline#concatenate([''], 1), '')
-endfunction
-
-function! s:suite.two_empty_left()
- call s:assert.equals(lightline#concatenate(['', 'bar'], 0), 'bar')
- call s:assert.equals(lightline#concatenate(['', 'bar'], 1), 'bar')
-endfunction
-
-function! s:suite.two_empty_right()
- call s:assert.equals(lightline#concatenate(['foo', ''], 0), 'foo')
- call s:assert.equals(lightline#concatenate(['foo', ''], 1), 'foo')
-endfunction
-
-function! s:suite.two_empty_both()
- call s:assert.equals(lightline#concatenate(['', ''], 0), '')
- call s:assert.equals(lightline#concatenate(['', ''], 1), '')
-endfunction
-
-function! s:suite.three_empty_left()
- call s:assert.equals(lightline#concatenate(['', 'bar', 'baz'], 0), 'bar > baz')
- call s:assert.equals(lightline#concatenate(['', 'bar', 'baz'], 1), 'bar < baz')
-endfunction
-
-function! s:suite.three_empty_middle()
- call s:assert.equals(lightline#concatenate(['foo', '', 'baz'], 0), 'foo > baz')
- call s:assert.equals(lightline#concatenate(['foo', '', 'baz'], 1), 'foo < baz')
-endfunction
-
-function! s:suite.three_empty_right()
- call s:assert.equals(lightline#concatenate(['foo', 'bar', ''], 0), 'foo > bar')
- call s:assert.equals(lightline#concatenate(['foo', 'bar', ''], 1), 'foo < bar')
-endfunction
-
-function! s:suite.three_empty_middle_right()
- call s:assert.equals(lightline#concatenate(['foo', '', ''], 0), 'foo')
- call s:assert.equals(lightline#concatenate(['foo', '', ''], 1), 'foo')
-endfunction
-
-function! s:suite.three_empty_left_right()
- call s:assert.equals(lightline#concatenate(['', 'bar', ''], 0), 'bar')
- call s:assert.equals(lightline#concatenate(['', 'bar', ''], 1), 'bar')
-endfunction
-
-function! s:suite.three_empty_left_middle()
- call s:assert.equals(lightline#concatenate(['', '', 'baz'], 0), 'baz')
- call s:assert.equals(lightline#concatenate(['', '', 'baz'], 1), 'baz')
-endfunction
-
-function! s:suite.three_empty_all()
- call s:assert.equals(lightline#concatenate(['', '', ''], 0), '')
- call s:assert.equals(lightline#concatenate(['', '', ''], 1), '')
-endfunction
-
-function! s:suite.keep_original()
- let xs = ['', 'bar', '']
- call s:assert.equals(lightline#concatenate(xs, 0), 'bar')
- call s:assert.equals(xs, ['', 'bar', ''])
- call s:assert.equals(lightline#concatenate(xs, 1), 'bar')
- call s:assert.equals(xs, ['', 'bar', ''])
-endfunction
diff --git a/vim/bundle/lightline.vim/test/error.vim b/vim/bundle/lightline.vim/test/error.vim
deleted file mode 100644
index 8fdabf4..0000000
--- a/vim/bundle/lightline.vim/test/error.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-let s:suite = themis#suite('error')
-let s:assert = themis#helper('assert')
-
-function! s:message() abort
- redir => messages
- silent! messages
- redir END
- return split(messages, '\n')[-1]
-endfunction
-
-function! s:suite.error()
- let message = 'An error occurred.'
- call lightline#error(message)
- call s:assert.equals(s:message(), 'lightline.vim: ' . message)
-endfunction
diff --git a/vim/bundle/lightline.vim/test/expand.vim b/vim/bundle/lightline.vim/test/expand.vim
deleted file mode 100644
index c2fc0ab..0000000
--- a/vim/bundle/lightline.vim/test/expand.vim
+++ /dev/null
@@ -1,612 +0,0 @@
-let s:suite = themis#suite('expand')
-let s:assert = themis#helper('assert')
-
-function! s:expand(...)
- return call(SID('expand'), a:000)
-endfunction
-
-function! s:suite.expand()
- let g:lightline = {}
- call lightline#init()
- call s:assert.equals(s:expand([]),
- \ [[], [], ['0']])
-endfunction
-
-function! s:suite.default()
- let g:lightline = {}
- call lightline#init()
- call s:assert.equals(s:expand([['mode', 'paste'], ['readonly', 'filename', 'modified']]),
- \ [[['mode', 'paste'], ['readonly', 'filename', 'modified']], [[0, 0], [0, 0, 0]], ['0', '1', '2']])
-endfunction
-
-function! s:suite.custom()
- function! Custom()
- return [ ['left'], ['middle'], ['right'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left', 'middle', 'right'], ['modified']], [[0, 0], [1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', 'middle', 'right', 'modified']], [[0, 0, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type()
- function! Custom()
- return [ ['left'], ['middle'], ['right'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['middle'], ['right'], ['modified']], [[0, 0], [1], [1], [1], [0]], ['0', '1', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left'], ['middle'], ['right', 'modified']], [[0, 0, 1], [1], [1, 0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.multiple()
- function! Custom()
- return [ ['x0', 'x1', 'x2'], ['y0', 'y1', 'y2'], ['z0', 'z1', 'z2'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['x0', 'x1', 'x2', 'y0', 'y1', 'y2', 'z0', 'z1', 'z2'], ['modified']], [[0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'x0', 'x1', 'x2', 'y0', 'y1', 'y2', 'z0', 'z1', 'z2', 'modified']], [[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.multiple_type()
- function! Custom()
- return [ ['x0', 'x1', 'x2'], ['y0', 'y1', 'y2'], ['z0', 'z1', 'z2'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['x0', 'x1', 'x2'], ['y0', 'y1', 'y2'], ['z0', 'z1', 'z2'], ['modified']], [[0, 0], [1, 1, 1], [1, 1, 1], [1, 1, 1], [0]], ['0', '1', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'x0', 'x1', 'x2'], ['y0', 'y1', 'y2'], ['z0', 'z1', 'z2', 'modified']], [[0, 0, 1, 1, 1], [1, 1, 1], [1, 1, 1, 0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.flatten()
- function! Custom()
- return [ 'left', 'middle', 'right' ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left', 'middle', 'right'], ['modified']], [[0, 0], [1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', 'middle', 'right', 'modified']], [[0, 0, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_flatten()
- function! Custom()
- return [ 'left', 'middle', 'right' ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['middle'], ['right'], ['modified']], [[0, 0], [1], [1], [1], [0]], ['0', '1', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left'], ['middle'], ['right', 'modified']], [[0, 0, 1], [1], [1, 0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_string()
- function! Custom()
- return 'custom'
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'custom', 'modified']], [[0, 0, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_string()
- function! Custom()
- return 'custom'
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_void_string()
- function! Custom()
- return ''
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_void_string()
- function! Custom()
- return ''
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_number()
- function! Custom()
- return 24
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['24'], ['modified']], [[0, 0], [1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', '24', 'modified']], [[0, 0, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_number()
- function! Custom()
- return 24
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['24'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename'], ['24'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_void_string_array()
- function! Custom()
- return ['', '', '']
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_void_string_array()
- function! Custom()
- return ['', '', '']
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_void_string_array_2()
- function! Custom()
- return [[''], [''], ['']]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_void_string_array_2()
- function! Custom()
- return [[''], [''], ['']]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_void_string_array_3()
- function! Custom()
- return ['', 'custom', '']
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'custom', 'modified']], [[0, 0, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_void_string_array_3()
- function! Custom()
- return ['', 'custom', '']
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_void_string_array_4()
- function! Custom()
- return [[''], ['custom'], ['']]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'custom', 'modified']], [[0, 0, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_void_string_array_4()
- function! Custom()
- return [[''], ['custom'], ['']]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename'], ['custom'], ['modified']], [[0, 0], [1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_left_nil()
- function! Custom()
- return [ [], ['y0', 'y1'], ['z0', 'z1'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom'], ['modified']]),
- \ [[['filename'], ['y0', 'y1', 'z0', 'z1'], ['modified']], [[0], [1, 1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'modified']]),
- \ [[['filename', 'y0', 'y1', 'z0', 'z1', 'modified']], [[0, 1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_left_nil()
- function! Custom()
- return [ [], ['y0', 'y1'], ['z0', 'z1'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom'], ['modified']]),
- \ [[['filename'], ['y0', 'y1'], ['z0', 'z1'], ['modified']], [[0], [1, 1], [1, 1], [0]], ['0', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'modified']]),
- \ [[['filename'], ['y0', 'y1'], ['z0', 'z1', 'modified']], [[0], [1, 1], [1, 1, 0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_right_nil()
- function! Custom()
- return [ ['x0', 'x1'], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom'], ['modified']]),
- \ [[['filename'], ['x0', 'x1', 'y0', 'y1'], ['modified']], [[0], [1, 1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'modified']]),
- \ [[['filename', 'x0', 'x1', 'y0', 'y1', 'modified']], [[0, 1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_right_nil()
- function! Custom()
- return [ ['x0', 'x1'], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom'], ['modified']]),
- \ [[['filename'], ['x0', 'x1'], ['y0', 'y1'], ['modified']], [[0], [1, 1], [1, 1], [0]], ['0', '1', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'modified']]),
- \ [[['filename', 'x0', 'x1'], ['y0', 'y1'], ['modified']], [[0, 1, 1], [1, 1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_one()
- function! Custom()
- return [ 'left' ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['modified']], [[0, 0], [1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', 'modified']], [[0, 0, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_one()
- function! Custom()
- return [ 'left' ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['modified']], [[0, 0], [1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', 'modified']], [[0, 0, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_two()
- function! Custom()
- return [ 'left', 'middle']
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left', 'middle'], ['modified']], [[0, 0], [1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', 'middle', 'modified']], [[0, 0, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_two()
- function! Custom()
- return [ 'left', 'middle' ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['middle'], ['modified']], [[0, 0], [1], [1], [0]], ['0', '1', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left'], ['middle'], ['modified']], [[0, 0, 1], [1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_mixed()
- function! Custom()
- return ['left', { 'custom': 24 }, [function('tr')]]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left', '{''custom'': 24}', 'function(''tr'')'], ['modified']], [[0, 0], [1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', '{''custom'': 24}', 'function(''tr'')', 'modified']], [[0, 0, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_mixed()
- function! Custom()
- return ['left', { 'custom': 24 }, [function('tr')]]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['{''custom'': 24}'], ['function(''tr'')'], ['modified']], [[0, 0], [1], [1], [1], [0]], ['0', '1', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left'], ['{''custom'': 24}'], ['function(''tr'')', 'modified']], [[0, 0, 1], [1], [1, 0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_mixed_2()
- function! Custom()
- return [['left', ''], ['', { 'custom': 24 }, ''], [[function('tr')], '']]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left', '{''custom'': 24}', '[function(''tr'')]'], ['modified']], [[0, 0], [1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left', '{''custom'': 24}', '[function(''tr'')]', 'modified']], [[0, 0, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_mixed_2()
- function! Custom()
- return [['left', ''], ['', { 'custom': 24 }, ''], [[function('tr')], '']]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['left'], ['{''custom'': 24}'], ['[function(''tr'')]'], ['modified']], [[0, 0], [1], [1], [1], [0]], ['0', '1', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'left'], ['{''custom'': 24}'], ['[function(''tr'')]', 'modified']], [[0, 0, 1], [1], [1, 0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_error()
- function! Custom()
- throw 'error'
- return 'custom'
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.custom_type_error()
- function! Custom()
- throw 'error'
- return 'custom'
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.notfound()
- let g:lightline = { 'component_expand': { 'custom': 'NotFound' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
-endfunction
-
-function! s:suite.custom_type_notfound()
- let g:lightline = { 'component_expand': { 'custom': 'NotFound' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['readonly', 'filename'], ['custom'], ['modified']]),
- \ [[['readonly', 'filename'], ['modified']], [[0, 0], [0]], ['0', '2', '3']])
- call s:assert.equals(s:expand([['readonly', 'filename', 'custom', 'modified']]),
- \ [[['readonly', 'filename', 'modified']], [[0, 0, 0]], ['0', '1']])
-endfunction
-
-function! s:suite.duplicated_left_nil()
- function! Custom()
- return [ [], ['y0', 'y1'], ['z0', 'z1'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom'], ['modified']]),
- \ [[['filename'], ['y0', 'y1', 'z0', 'z1', 'y0', 'y1', 'z0', 'z1'], ['modified']], [[0], [1, 1, 1, 1, 1, 1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom', 'modified']]),
- \ [[['filename', 'y0', 'y1', 'z0', 'z1', 'y0', 'y1', 'z0', 'z1', 'modified']], [[0, 1, 1, 1, 1, 1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_type_left_nil()
- function! Custom()
- return [ [], ['y0', 'y1'], ['z0', 'z1'] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom'], ['modified']]),
- \ [[['filename'], ['y0', 'y1'], ['z0', 'z1'], ['y0', 'y1'], ['z0', 'z1'], ['modified']], [[0], [1, 1], [1, 1], [1, 1], [1, 1], [0]], ['0', 'custom', '1', 'custom', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom', 'modified']]),
- \ [[['filename'], ['y0', 'y1'], ['z0', 'z1'], ['y0', 'y1'], ['z0', 'z1', 'modified']], [[0], [1, 1], [1, 1], [1, 1], [1, 1, 0]], ['0', 'custom', '0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_right_nil()
- function! Custom()
- return [ ['x0', 'x1'], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom'], ['modified']]),
- \ [[['filename'], ['x0', 'x1', 'y0', 'y1', 'x0', 'x1', 'y0', 'y1'], ['modified']], [[0], [1, 1, 1, 1, 1, 1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom', 'modified']]),
- \ [[['filename', 'x0', 'x1', 'y0', 'y1', 'x0', 'x1', 'y0', 'y1', 'modified']], [[0, 1, 1, 1, 1, 1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_type_right_nil()
- function! Custom()
- return [ ['x0', 'x1'], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom'], ['modified']]),
- \ [[['filename'], ['x0', 'x1'], ['y0', 'y1'], ['x0', 'x1'], ['y0', 'y1'], ['modified']], [[0], [1, 1], [1, 1], [1, 1], [1, 1], [0]], ['0', '1', 'custom', '1', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom', 'modified']]),
- \ [[['filename', 'x0', 'x1'], ['y0', 'y1'], ['x0', 'x1'], ['y0', 'y1'], ['modified']], [[0, 1, 1], [1, 1], [1, 1], [1, 1], [0]], ['0', 'custom', '0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_both_nil()
- function! Custom()
- return [ [], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom'], ['modified']]),
- \ [[['filename'], ['y0', 'y1', 'y0', 'y1'], ['modified']], [[0], [1, 1, 1, 1], [0]], ['0', '1', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom', 'modified']]),
- \ [[['filename', 'y0', 'y1', 'y0', 'y1', 'modified']], [[0, 1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_type_both_nil()
- function! Custom()
- return [ [], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom'], ['modified']]),
- \ [[['filename'], ['y0', 'y1', 'y0', 'y1'], ['modified']], [[0], [1, 1, 1, 1], [0]], ['0', 'custom', '2', '3']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom', 'modified']]),
- \ [[['filename'], ['y0', 'y1', 'y0', 'y1'], ['modified']], [[0], [1, 1, 1, 1], [0]], ['0', 'custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_both_nil_left_most()
- function! Custom()
- return [ [], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['custom', 'custom'], ['modified']]),
- \ [[['y0', 'y1', 'y0', 'y1'], ['modified']], [[1, 1, 1, 1], [0]], ['0', '1', '2']])
- call s:assert.equals(s:expand([['custom', 'custom', 'modified']]),
- \ [[['y0', 'y1', 'y0', 'y1', 'modified']], [[1, 1, 1, 1, 0]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_type_both_nil_left_most()
- function! Custom()
- return [ [], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['custom', 'custom'], ['modified']]),
- \ [[['y0', 'y1', 'y0', 'y1'], ['modified']], [[1, 1, 1, 1], [0]], ['custom', '1', '2']])
- call s:assert.equals(s:expand([['custom', 'custom', 'modified']]),
- \ [[['y0', 'y1', 'y0', 'y1'], ['modified']], [[1, 1, 1, 1], [0]], ['custom', '0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_both_nil_right_most()
- function! Custom()
- return [ [], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom']]),
- \ [[['filename'], ['y0', 'y1', 'y0', 'y1']], [[0], [1, 1, 1, 1]], ['0', '1', '2']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom']]),
- \ [[['filename', 'y0', 'y1', 'y0', 'y1']], [[0, 1, 1, 1, 1]], ['0', '1']])
- delfunction Custom
-endfunction
-
-function! s:suite.duplicated_type_both_nil_right_most()
- function! Custom()
- return [ [], ['y0', 'y1'], [] ]
- endfunction
- let g:lightline = { 'component_expand': { 'custom': 'Custom' }, 'component_type': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(s:expand([['filename'], ['custom', 'custom']]),
- \ [[['filename'], ['y0', 'y1', 'y0', 'y1']], [[0], [1, 1, 1, 1]], ['0', 'custom', '2']])
- call s:assert.equals(s:expand([['filename', 'custom', 'custom']]),
- \ [[['filename'], ['y0', 'y1', 'y0', 'y1']], [[0], [1, 1, 1, 1]], ['0', 'custom', '1']])
- delfunction Custom
-endfunction
diff --git a/vim/bundle/lightline.vim/test/highlight.vim b/vim/bundle/lightline.vim/test/highlight.vim
deleted file mode 100644
index fe5182a..0000000
--- a/vim/bundle/lightline.vim/test/highlight.vim
+++ /dev/null
@@ -1,171 +0,0 @@
-let s:suite = themis#suite('highlight')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- hi clear
-endfunction
-
-function! s:hi(name)
- redir => hi
- silent! exec 'hi' a:name
- redir END
- return substitute(join(split(hi, "\n"), ''), ' \+', ' ', 'g')
-endfunction
-
-function! s:pattern(xs, ...) abort
- let ys = a:0 ? a:xs[1:] : a:xs
- let zs = get(a:000, 0, a:xs)
- return 'ctermfg=' . ys[2] . ' ctermbg=' . zs[3] . '.*guifg=' . ys[0] . ' guibg=' . zs[1]
-endfunction
-
-function! s:suite.highlight()
- let g:lightline = {}
- call lightline#init()
- call lightline#colorscheme()
- let palette = lightline#palette()
- call s:assert.match(s:hi('LightLineLeft_normal_0'), s:pattern(palette.normal.left[0]))
- call s:assert.match(s:hi('LightLineLeft_normal_1'), s:pattern(palette.normal.left[1]))
- call s:assert.match(s:hi('LightLineLeft_normal_2'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineRight_normal_0'), s:pattern(palette.normal.right[0]))
- call s:assert.match(s:hi('LightLineRight_normal_1'), s:pattern(palette.normal.right[1]))
- call s:assert.match(s:hi('LightLineRight_normal_2'), s:pattern(palette.normal.right[2]))
- call s:assert.match(s:hi('LightLineRight_normal_3'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineMiddle_normal'), s:pattern(palette.normal.middle[0]))
-endfunction
-
-function! s:suite.insert()
- let g:lightline = {}
- call lightline#init()
- call lightline#colorscheme()
- call lightline#highlight('insert')
- let palette = lightline#palette()
- call s:assert.match(s:hi('LightLineLeft_insert_0'), s:pattern(palette.insert.left[0]))
- call s:assert.match(s:hi('LightLineLeft_insert_1'), s:pattern(palette.insert.left[1]))
- call s:assert.match(s:hi('LightLineLeft_insert_2'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineRight_insert_0'), s:pattern(palette.insert.right[0]))
- call s:assert.match(s:hi('LightLineRight_insert_1'), s:pattern(palette.insert.right[1]))
- call s:assert.match(s:hi('LightLineRight_insert_2'), s:pattern(palette.insert.right[2]))
- call s:assert.match(s:hi('LightLineRight_insert_3'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineMiddle_insert'), s:pattern(palette.insert.middle[0]))
-endfunction
-
-
-function! s:suite.visual()
- let g:lightline = {}
- call lightline#init()
- call lightline#colorscheme()
- call lightline#highlight('visual')
- let palette = lightline#palette()
- call s:assert.match(s:hi('LightLineLeft_visual_0'), s:pattern(palette.visual.left[0]))
- call s:assert.match(s:hi('LightLineLeft_visual_1'), s:pattern(palette.visual.left[1]))
- call s:assert.match(s:hi('LightLineLeft_visual_2'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineRight_visual_0'), s:pattern(palette.normal.right[0]))
- call s:assert.match(s:hi('LightLineRight_visual_1'), s:pattern(palette.normal.right[1]))
- call s:assert.match(s:hi('LightLineRight_visual_2'), s:pattern(palette.normal.right[2]))
- call s:assert.match(s:hi('LightLineRight_visual_3'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineMiddle_normal'), s:pattern(palette.normal.middle[0]))
-endfunction
-
-function! s:suite.replace()
- let g:lightline = {}
- call lightline#init()
- call lightline#colorscheme()
- call lightline#highlight('replace')
- let palette = lightline#palette()
- call s:assert.match(s:hi('LightLineLeft_replace_0'), s:pattern(palette.replace.left[0]))
- call s:assert.match(s:hi('LightLineLeft_replace_1'), s:pattern(palette.replace.left[1]))
- call s:assert.match(s:hi('LightLineLeft_replace_2'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineRight_replace_0'), s:pattern(palette.replace.right[0]))
- call s:assert.match(s:hi('LightLineRight_replace_1'), s:pattern(palette.replace.right[1]))
- call s:assert.match(s:hi('LightLineRight_replace_2'), s:pattern(palette.replace.right[2]))
- call s:assert.match(s:hi('LightLineRight_replace_3'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineMiddle_replace'), s:pattern(palette.replace.middle[0]))
-endfunction
-
-function! s:suite.left_right()
- let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'readonly' ], [ 'filename' ], [ 'modified' ] ],
- \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat' ], [ 'fileencoding' ], [ 'filetype' ] ]
- \ },
- \ }
- call lightline#init()
- call lightline#colorscheme()
- let palette = lightline#palette()
- call s:assert.match(s:hi('LightLineLeft_normal_0'), s:pattern(palette.normal.left[0]))
- call s:assert.match(s:hi('LightLineLeft_normal_1'), s:pattern(palette.normal.left[1]))
- call s:assert.match(s:hi('LightLineLeft_normal_2'), s:pattern(palette.normal.middle[0]))
- call s:assert.match(s:hi('LightLineLeft_normal_3'), s:pattern(palette.normal.middle[0]))
- call s:assert.match(s:hi('LightLineLeft_normal_4'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineRight_normal_0'), s:pattern(palette.normal.right[0]))
- call s:assert.match(s:hi('LightLineRight_normal_1'), s:pattern(palette.normal.right[1]))
- call s:assert.match(s:hi('LightLineRight_normal_2'), s:pattern(palette.normal.right[2]))
- call s:assert.match(s:hi('LightLineRight_normal_3'), s:pattern(palette.normal.middle[0]))
- call s:assert.match(s:hi('LightLineRight_normal_4'), s:pattern(palette.normal.middle[0]))
- call s:assert.match(s:hi('LightLineRight_normal_5'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineMiddle_normal'), s:pattern(palette.normal.middle[0]))
-endfunction
-
-function! s:suite.no_components()
- let g:lightline = {
- \ 'active': {
- \ 'left': [],
- \ 'right': []
- \ },
- \ 'inactive': {
- \ 'left': [],
- \ 'right': []
- \ },
- \ }
- call lightline#init()
- call lightline#colorscheme()
- let palette = lightline#palette()
- call s:assert.match(s:hi('LightLineLeft_normal_0'), s:pattern(palette.normal.left[0]))
- call s:assert.match(s:hi('LightLineLeft_normal_1'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineRight_normal_0'), s:pattern(palette.normal.right[0]))
- call s:assert.match(s:hi('LightLineRight_normal_1'), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi('LightLineMiddle_normal'), s:pattern(palette.normal.middle[0]))
-endfunction
-
-function! s:suite.subseparator()
- let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'readonly' ], [ 'filename' ], [ 'modified' ] ],
- \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat' ], [ 'fileencoding' ], [ 'filetype' ] ]
- \ },
- \ }
- call lightline#init()
- call lightline#colorscheme()
- let palette = lightline#palette()
- for i in range(4)
- for j in range(5)
- if i + 1 == j
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_%s', i, j)), s:pattern(get(palette.normal.left, i, palette.normal.middle[0]), get(palette.normal.left, j, palette.normal.middle[0])))
- else
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_%s', i, j)), 'E411: highlight group not found\|cleared')
- endif
- endfor
- endfor
-endfunction
-
-function! s:suite.component_type()
- let g:lightline = { 'component_type': { 'error': 'error', 'warning': 'warning' } }
- call lightline#init()
- call lightline#colorscheme()
- let palette = lightline#palette()
- for type in ['error', 'warning']
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s', type)), s:pattern(palette.normal[type][0]))
- call s:assert.match(s:hi(printf('LightLineLeft_normal_0_%s', type)), s:pattern(palette.normal.left[0], palette.normal[type][0]))
- call s:assert.match(s:hi(printf('LightLineLeft_normal_1_%s', type)), s:pattern(palette.normal.left[1], palette.normal[type][0]))
- call s:assert.match(s:hi(printf('LightLineLeft_normal_2_%s', type)), 'E411: highlight group not found\|cleared')
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_0', type)), s:pattern(palette.normal[type][0], palette.normal.left[0]))
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_1', type)), s:pattern(palette.normal[type][0], palette.normal.left[1]))
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_2', type)), s:pattern(palette.normal[type][0], palette.normal.middle[0]))
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_3', type)), 'E411: highlight group not found\|cleared')
- endfor
- for type1 in ['error', 'warning']
- for type2 in ['error', 'warning']
- call s:assert.match(s:hi(printf('LightLineLeft_normal_%s_%s', type1, type2)), s:pattern(palette.normal[type1][0], palette.normal[type2][0]))
- endfor
- endfor
-endfunction
diff --git a/vim/bundle/lightline.vim/test/link.vim b/vim/bundle/lightline.vim/test/link.vim
deleted file mode 100644
index ca86753..0000000
--- a/vim/bundle/lightline.vim/test/link.vim
+++ /dev/null
@@ -1,131 +0,0 @@
-let s:suite = themis#suite('link')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- hi clear
- let g:lightline = {}
- call lightline#init()
- call lightline#colorscheme()
-endfunction
-
-function! s:hi(name)
- redir => hi
- silent! exec 'hi' a:name
- redir END
- return substitute(join(split(hi, "\n"), ''), ' \+', ' ', 'g')
-endfunction
-
-function! s:suite.link()
- call lightline#link()
- call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_normal_0')
- call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_normal_1')
- call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_normal_0')
- call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_normal_1')
- call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_normal_2')
- call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_normal')
-endfunction
-
-function! s:suite.insert()
- call lightline#link('i')
- call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_insert_0')
- call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_insert_1')
- call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_insert_0')
- call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_insert_1')
- call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_insert_2')
- call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_insert')
-endfunction
-
-function! s:suite.visual()
- call lightline#link('v')
- call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_visual_0')
- call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_visual_1')
- call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_visual_0')
- call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_visual_1')
- call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_visual_2')
- call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_visual')
-endfunction
-
-function! s:suite.replace()
- call lightline#link('R')
- call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_replace_0')
- call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_replace_1')
- call s:assert.match(s:hi('LightLineLeft_active_2'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_replace_0')
- call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_replace_1')
- call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_replace_2')
- call s:assert.match(s:hi('LightLineRight_active_3'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_replace')
-endfunction
-
-function! s:suite.left_right()
- let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'readonly' ], [ 'filename' ], [ 'modified' ] ],
- \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat' ], [ 'fileencoding' ], [ 'filetype' ] ]
- \ },
- \ }
- call lightline#init()
- call lightline#colorscheme()
- call lightline#link()
- call s:assert.match(s:hi('LightLineLeft_active_0'), 'LightLineLeft_normal_0')
- call s:assert.match(s:hi('LightLineLeft_active_1'), 'LightLineLeft_normal_1')
- call s:assert.match(s:hi('LightLineLeft_active_2'), 'LightLineLeft_normal_2')
- call s:assert.match(s:hi('LightLineLeft_active_3'), 'LightLineLeft_normal_3')
- call s:assert.match(s:hi('LightLineLeft_active_4'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineRight_active_0'), 'LightLineRight_normal_0')
- call s:assert.match(s:hi('LightLineRight_active_1'), 'LightLineRight_normal_1')
- call s:assert.match(s:hi('LightLineRight_active_2'), 'LightLineRight_normal_2')
- call s:assert.match(s:hi('LightLineRight_active_3'), 'LightLineRight_normal_3')
- call s:assert.match(s:hi('LightLineRight_active_4'), 'LightLineRight_normal_4')
- call s:assert.match(s:hi('LightLineRight_active_5'), 'E411: highlight group not found')
- call s:assert.match(s:hi('LightLineMiddle_active'), 'LightLineMiddle_normal')
-endfunction
-
-function! s:suite.subseparator()
- let g:lightline = {
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ], [ 'readonly' ], [ 'filename' ], [ 'modified' ] ],
- \ 'right': [ [ 'lineinfo' ], [ 'percent' ], [ 'fileformat' ], [ 'fileencoding' ], [ 'filetype' ] ]
- \ },
- \ }
- call lightline#init()
- call lightline#colorscheme()
- call lightline#link()
- for i in range(4)
- for j in range(5)
- if i + 1 == j
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_%s', i, j)), printf('LightLineLeft_normal_%s_%s', i, j))
- else
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_%s', i, j)), 'E411: highlight group not found')
- endif
- endfor
- endfor
-endfunction
-
-function! s:suite.component_type()
- let g:lightline = { 'component_type': { 'error': 'error', 'warning': 'warning' } }
- call lightline#init()
- call lightline#colorscheme()
- call lightline#link()
- for type in ['error', 'warning']
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s', type)), printf('LightLineLeft_normal_%s', type))
- call s:assert.match(s:hi(printf('LightLineLeft_active_0_%s', type)), printf('LightLineLeft_normal_0_%s', type))
- call s:assert.match(s:hi(printf('LightLineLeft_active_1_%s', type)), printf('LightLineLeft_normal_1_%s', type))
- call s:assert.match(s:hi(printf('LightLineLeft_active_2_%s', type)), 'E411: highlight group not found')
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_0', type)), printf('LightLineLeft_normal_%s_0', type))
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_1', type)), printf('LightLineLeft_normal_%s_1', type))
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_2', type)), printf('LightLineLeft_normal_%s_2', type))
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_3', type)), 'E411: highlight group not found')
- endfor
- for type1 in ['error', 'warning']
- for type2 in ['error', 'warning']
- call s:assert.match(s:hi(printf('LightLineLeft_active_%s_%s', type1, type2)), printf('LightLineLeft_normal_%s_%s', type1, type2))
- endfor
- endfor
-endfunction
diff --git a/vim/bundle/lightline.vim/test/mode.vim b/vim/bundle/lightline.vim/test/mode.vim
deleted file mode 100644
index 53280f5..0000000
--- a/vim/bundle/lightline.vim/test/mode.vim
+++ /dev/null
@@ -1,14 +0,0 @@
-let s:suite = themis#suite('mode')
-let s:assert = themis#helper('assert')
-
-function! s:suite.mode()
- let g:lightline = {}
- call lightline#init()
- call s:assert.equals(lightline#mode(), 'NORMAL')
-endfunction
-
-function! s:suite.mode_map()
- let g:lightline = { 'mode_map': { 'n': 'N' } }
- call lightline#init()
- call s:assert.equals(lightline#mode(), 'N')
-endfunction
diff --git a/vim/bundle/lightline.vim/test/onetab.vim b/vim/bundle/lightline.vim/test/onetab.vim
deleted file mode 100644
index 529d833..0000000
--- a/vim/bundle/lightline.vim/test/onetab.vim
+++ /dev/null
@@ -1,98 +0,0 @@
-let s:suite = themis#suite('onetab')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- let g:lightline = {}
- call lightline#init()
- tabnew
- tabonly
-endfunction
-
-function! s:suite.onetab()
- call s:assert.equals(lightline#onetab(1, 1), '1 [No Name]')
-endfunction
-
-function! s:suite.tabnew()
- tabnew
- call s:assert.equals(lightline#onetab(1, 0), '1 [No Name]')
- call s:assert.equals(lightline#onetab(2, 1), '2 [No Name]')
-endfunction
-
-function! s:suite.tabnew_tabnew()
- tabnew
- tabnew
- call s:assert.equals(lightline#onetab(1, 0), '1 [No Name]')
- call s:assert.equals(lightline#onetab(2, 0), '2 [No Name]')
- call s:assert.equals(lightline#onetab(3, 1), '3 [No Name]')
-endfunction
-
-function! s:suite.modified()
- call append(0, '')
- call s:assert.equals(lightline#onetab(1, 1), '1 [No Name] +')
- undo
-endfunction
-
-function! s:suite.filename()
- edit test
- call s:assert.equals(lightline#onetab(1, 1), '1 test')
- tabnew
- bunload test
-endfunction
-
-function! s:suite.filename_modified()
- edit test
- call append(0, '')
- call s:assert.equals(lightline#onetab(1, 1), '1 test +')
- tabnew
- bunload! test
-endfunction
-
-function! s:suite.active_inactive()
- let g:lightline = { 'tab': { 'active': [ 'tabnum', 'filename' ], 'inactive': [ 'filename' ] } }
- call lightline#init()
- edit test
- call append(0, '')
- call s:assert.equals(lightline#onetab(1, 1), '1 test')
- call s:assert.equals(lightline#onetab(1, 0), 'test')
- tabnew
- bunload! test
-endfunction
-
-function! s:suite.tab_component()
- let g:lightline = { 'tab': { 'active': [ 'custom' ] }, 'tab_component': { 'custom': 'custom' } }
- call lightline#init()
- call s:assert.equals(lightline#onetab(1, 1), 'custom')
- call s:assert.equals(lightline#onetab(2, 1), 'custom')
-endfunction
-
-function! s:suite.tab_component_function()
- function! Custom(n)
- return 'custom: ' . a:n
- endfunction
- let g:lightline = { 'tab': { 'active': [ 'custom' ] }, 'tab_component_function': { 'custom': 'Custom' } }
- call lightline#init()
- call s:assert.equals(lightline#onetab(1, 1), 'custom: 1')
- call s:assert.equals(lightline#onetab(2, 1), 'custom: 2')
- delfunction Custom
-endfunction
-
-function! s:suite.tab_component_empty_middle()
- let g:lightline = { 'tab': { 'active': [ 'tabnum', 'custom', 'filename' ], 'inactive': [ 'tabnum', 'custom', 'custom', 'filename' ] }, 'tab_component': { 'custom': '' } }
- call lightline#init()
- call s:assert.equals(lightline#onetab(1, 1), '1 [No Name]')
- call s:assert.equals(lightline#onetab(2, 1), '2 [No Name]')
-endfunction
-
-function! s:suite.tab_component_empty_left()
- let g:lightline = { 'tab': { 'active': [ 'custom', 'filename' ], 'inactive': [ 'custom', 'custom', 'filename' ] }, 'tab_component': { 'custom': '' } }
- call lightline#init()
- call s:assert.equals(lightline#onetab(1, 1), '[No Name]')
- call s:assert.equals(lightline#onetab(2, 1), '[No Name]')
-endfunction
-
-function! s:suite.tab_component_empty_middle()
- let g:lightline = { 'tab': { 'active': [ 'tabnum', 'custom' ], 'inactive': [ 'tabnum', 'custom', 'custom' ] }, 'tab_component': { 'custom': '' } }
- call lightline#init()
- call s:assert.equals(lightline#onetab(1, 1), '1')
- call s:assert.equals(lightline#onetab(2, 1), '2')
-endfunction
diff --git a/vim/bundle/lightline.vim/test/subseparator.vim b/vim/bundle/lightline.vim/test/subseparator.vim
deleted file mode 100644
index 02cac4c..0000000
--- a/vim/bundle/lightline.vim/test/subseparator.vim
+++ /dev/null
@@ -1,302 +0,0 @@
-let s:suite = themis#suite('subseparator')
-let s:assert = themis#helper('assert')
-
-function! s:subseparator(...)
- return eval(substitute(call(SID('subseparator'), a:000), '^%{\|}$', '', 'g'))
-endfunction
-
-function! s:suite.subseparator_component()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_1()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '1', 'custom2': '1', 'custom3': '1' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_2()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '0', 'custom2': '1', 'custom3': '1' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_3()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '1', 'custom2': '0', 'custom3': '1' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_4()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '1', 'custom2': '0', 'custom3': '0' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_5()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '0', 'custom2': '0', 'custom3': '0' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_6()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '1||0', 'custom2': '0', 'custom3': '0' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
-endfunction
-
-function! s:suite.subseparator_component_visible_condition_7()
- let g:lightline = { 'component': { 'custom1': 'custom1', 'custom2': 'custom2', 'custom3': 'custom3' }, 'component_visible_condition': { 'custom1': '1||1', 'custom2': '0', 'custom3': '0' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
-endfunction
-
-function! s:suite.subseparator_component_function()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_function_1()
- function! Custom1()
- return 'custom1'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom1
-endfunction
-
-function! s:suite.subseparator_component_function_2()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
- delfunction Custom1
- delfunction Custom2
-endfunction
-
-function! s:suite.subseparator_component_function_3()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
- delfunction Custom1
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_function_4()
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_function_5()
- function! Custom1()
- return ''
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_function_6()
- function! Custom1()
- return ''
- endfunction
- function! Custom2()
- return ''
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_function_7()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return ''
- endfunction
- function! Custom3()
- return ''
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_expand()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_expand': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [1, 1, 1]), '|')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_expand()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_expand': { 'custom1': 'Custom1', 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [1, 1, 1]), '|')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_expand_1()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_expand': { 'custom1': 'Custom1' }, 'component_function': { 'custom2': 'Custom2', 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [1, 0, 0]), '|')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_expand_2()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_expand': { 'custom1': 'Custom1', 'custom2': 'Custom2' }, 'component_function': { 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [1, 1, 0]), '|')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_expand_3()
- function! Custom1()
- return ''
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- function! Custom3()
- return 'custom3'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2' }, 'component_expand': { 'custom3': 'Custom3' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 1]), '')
- delfunction Custom1
- delfunction Custom2
- delfunction Custom3
-endfunction
-
-function! s:suite.subseparator_component_not_found()
- function! Custom1()
- return 'custom1'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom1
-endfunction
-
-function! s:suite.subseparator_component_not_found_1()
- function! Custom2()
- return 'custom2'
- endfunction
- let g:lightline = { 'component_function': { 'custom2': 'Custom2' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '')
- delfunction Custom2
-endfunction
-
-function! s:suite.subseparator_component_not_found_2()
- function! Custom1()
- return 'custom1'
- endfunction
- function! Custom2()
- return 'custom2'
- endfunction
- let g:lightline = { 'component_function': { 'custom1': 'Custom1', 'custom2': 'Custom2' } }
- call lightline#init()
- call s:assert.equals(s:subseparator(['custom1', 'custom2', 'custom3'], '|', [0, 0, 0]), '|')
- delfunction Custom1
- delfunction Custom2
-endfunction
diff --git a/vim/bundle/lightline.vim/test/tabline.vim b/vim/bundle/lightline.vim/test/tabline.vim
deleted file mode 100644
index 0a9879f..0000000
--- a/vim/bundle/lightline.vim/test/tabline.vim
+++ /dev/null
@@ -1,67 +0,0 @@
-let s:suite = themis#suite('tabline')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- let g:lightline = {}
- call lightline#init()
- tabnew
- tabonly
-endfunction
-
-function! s:suite.tabline()
- call s:assert.equals(&tabline, '%!lightline#tabline()')
-endfunction
-
-function! s:suite.enabled()
- let g:lightline = { 'enable': { 'tabline': 1 } }
- call lightline#init()
- call s:assert.equals(&tabline, '%!lightline#tabline()')
-endfunction
-
-function! s:suite.disabled()
- let g:lightline = { 'enable': { 'tabline': 0 } }
- call lightline#init()
- call s:assert.equals(&tabline, '')
-endfunction
-
-function! s:suite.tabnew()
- let tabline = lightline#tabline()
- tabnew
- call s:assert.not_equals(lightline#tabline(), tabline)
-endfunction
-
-function! s:suite.tabnew_first()
- let tabline = lightline#tabline()
- 0tabnew
- call s:assert.not_equals(lightline#tabline(), tabline)
-endfunction
-
-function! s:suite.tabnext()
- tabnew
- let tabline = lightline#tabline()
- tabnext
- call s:assert.not_equals(lightline#tabline(), tabline)
-endfunction
-
-function! s:suite.tabonly()
- tabnew
- tabfirst
- let tabline = lightline#tabline()
- tabonly
- call s:assert.not_equals(lightline#tabline(), tabline)
-endfunction
-
-function! s:suite.tabclose()
- tabnew
- let tabline = lightline#tabline()
- tabclose
- call s:assert.not_equals(lightline#tabline(), tabline)
-endfunction
-
-function! s:suite.tabclose_last()
- tabnew
- tabfirst
- let tabline = lightline#tabline()
- $tabclose
- call s:assert.not_equals(lightline#tabline(), tabline)
-endfunction
diff --git a/vim/bundle/lightline.vim/test/tabs.vim b/vim/bundle/lightline.vim/test/tabs.vim
deleted file mode 100644
index 92c2c08..0000000
--- a/vim/bundle/lightline.vim/test/tabs.vim
+++ /dev/null
@@ -1,99 +0,0 @@
-let s:suite = themis#suite('tabs')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- let g:lightline = { 'winwidth': 180 }
- call lightline#init()
- tabnew
- tabonly
-endfunction
-
-function! s:tab(number, ...) abort
- let active = get(a:000, 0, 0)
- let last = get(a:000, 1, 0)
- return '%' . a:number . 'T%{lightline#onetab(' . a:number . ',' . active . ')}' . (last ? '%T' : '')
-endfunction
-
-function! s:suite.tabs()
- call s:assert.equals(lightline#tabs(), [[], [s:tab(1, 1, 1)], []])
-endfunction
-
-function! s:suite.tabnew()
- tabnew
- call s:assert.equals(lightline#tabs(), [[s:tab(1)], [s:tab(2, 1, 1)], []])
-endfunction
-
-function! s:suite.tabnew_tabnew()
- tabnew
- tabnew
- call s:assert.equals(lightline#tabs(), [[s:tab(1), s:tab(2)], [s:tab(3, 1, 1)], []])
-endfunction
-
-function! s:suite.tabnew_tabfirst()
- tabnew
- tabfirst
- call s:assert.equals(lightline#tabs(), [[], [s:tab(1, 1)], [s:tab(2, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_tabnew_tabfirst()
- tabnew
- tabnew
- tabfirst
- call s:assert.equals(lightline#tabs(), [[], [s:tab(1, 1)], [s:tab(2), s:tab(3, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_tabnew_tabprevious()
- tabnew
- tabnew
- tabprevious
- call s:assert.equals(lightline#tabs(), [[s:tab(1)], [s:tab(2, 1)], [s:tab(3, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_20()
- for i in range(19)
- tabnew
- endfor
- call s:assert.equals(lightline#tabs(), [[s:tab(1), s:tab(2), s:tab(3), s:tab(4), '...', s:tab(16), s:tab(17), s:tab(18), s:tab(19)], [s:tab(20, 1, 1)], []])
-endfunction
-
-function! s:suite.tabnew_20_tabfirst()
- for i in range(19)
- tabnew
- endfor
- tabfirst
- call s:assert.equals(lightline#tabs(), [[], [s:tab(1, 1)], [s:tab(2), s:tab(3), s:tab(4), s:tab(5), '...', s:tab(17), s:tab(18), s:tab(19), s:tab(20, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_20_tabfirst_tabnext()
- for i in range(19)
- tabnew
- endfor
- tabfirst
- tabnext
- call s:assert.equals(lightline#tabs(), [[s:tab(1)], [s:tab(2, 1)], [s:tab(3), s:tab(4), s:tab(5), s:tab(6), '...', s:tab(18), s:tab(19), s:tab(20, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_20_tabnext_10()
- for i in range(19)
- tabnew
- endfor
- tabnext 10
- call s:assert.equals(lightline#tabs(), [[s:tab(1), s:tab(2), '...', s:tab(8), s:tab(9)], [s:tab(10, 1)], [s:tab(11), s:tab(12), '...', s:tab(19), s:tab(20, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_20_tabprevious()
- for i in range(19)
- tabnew
- endfor
- tabprevious
- call s:assert.equals(lightline#tabs(), [[s:tab(1), s:tab(2), s:tab(3), '...', s:tab(15), s:tab(16), s:tab(17), s:tab(18)], [s:tab(19, 1)], [s:tab(20, 0, 1)]])
-endfunction
-
-function! s:suite.tabnew_20_tabprevious_tabprevious()
- for i in range(19)
- tabnew
- endfor
- tabprevious
- tabprevious
- call s:assert.equals(lightline#tabs(), [[s:tab(1), s:tab(2), s:tab(3), '...', s:tab(15), s:tab(16), s:tab(17)], [s:tab(18, 1)], [s:tab(19), s:tab(20, 0, 1)]])
-endfunction
diff --git a/vim/bundle/lightline.vim/test/toggle.vim b/vim/bundle/lightline.vim/test/toggle.vim
deleted file mode 100644
index c6042a8..0000000
--- a/vim/bundle/lightline.vim/test/toggle.vim
+++ /dev/null
@@ -1,37 +0,0 @@
-let s:suite = themis#suite('toggle')
-let s:assert = themis#helper('assert')
-
-function! s:suite.before_each()
- let g:lightline = {}
- call lightline#init()
- tabnew
- tabonly
-endfunction
-
-function! s:suite.default()
- call s:assert.equals(exists('#lightline'), 1)
- call s:assert.equals(exists('#lightline-disable'), 0)
- call s:assert.not_equals(&tabline, '')
-endfunction
-
-function! s:suite.disable_enable()
- call lightline#disable()
- call s:assert.equals(exists('#lightline'), 0)
- call s:assert.equals(exists('#lightline-disable'), 1)
- call s:assert.equals(&tabline, '')
- call lightline#enable()
- call s:assert.equals(exists('#lightline'), 1)
- call s:assert.equals(exists('#lightline-disable'), 0)
- call s:assert.not_equals(&tabline, '')
-endfunction
-
-function! s:suite.toggle()
- call lightline#toggle()
- call s:assert.equals(exists('#lightline'), 0)
- call s:assert.equals(exists('#lightline-disable'), 1)
- call s:assert.equals(&tabline, '')
- call lightline#toggle()
- call s:assert.equals(exists('#lightline'), 1)
- call s:assert.equals(exists('#lightline-disable'), 0)
- call s:assert.not_equals(&tabline, '')
-endfunction
diff --git a/vim/bundle/lightline.vim/test/uniq.vim b/vim/bundle/lightline.vim/test/uniq.vim
deleted file mode 100644
index cdfaec0..0000000
--- a/vim/bundle/lightline.vim/test/uniq.vim
+++ /dev/null
@@ -1,46 +0,0 @@
-let s:suite = themis#suite('uniq')
-let s:assert = themis#helper('assert')
-
-function! s:uniq(...)
- try
- return call(SID('uniq'), a:000)
- catch
- return call(function('uniq'), a:000)
- endtry
-endfunction
-
-function! s:suite.nil()
- call s:assert.equals(s:uniq([]), [])
-endfunction
-
-function! s:suite.one()
- call s:assert.equals(s:uniq(['foo']), ['foo'])
-endfunction
-
-function! s:suite.two()
- call s:assert.equals(s:uniq(['foo', 'bar']), ['foo', 'bar'])
-endfunction
-
-function! s:suite.three()
- call s:assert.equals(s:uniq(['foo', 'bar', 'baz']), ['foo', 'bar', 'baz'])
-endfunction
-
-function! s:suite.two_duplicated()
- call s:assert.equals(s:uniq(['foo', 'foo']), ['foo'])
-endfunction
-
-function! s:suite.three_duplicated()
- call s:assert.equals(s:uniq(['foo', 'bar', 'foo']), ['foo', 'bar', 'foo'])
-endfunction
-
-function! s:suite.many1()
- call s:assert.equals(s:uniq(['foo', 'foo', 'bar', 'baz', 'baz', 'qux', 'foo']), ['foo', 'bar', 'baz', 'qux', 'foo'])
-endfunction
-
-function! s:suite.many2()
- call s:assert.equals(s:uniq(['foo', 'foo', 'foo', 'foo', 'bar', 'bar', 'bar']), ['foo', 'bar'])
-endfunction
-
-function! s:suite.many3()
- call s:assert.equals(s:uniq(['foo', 'foo', 'bar', 'bar', 'bar', 'foo', 'foo', 'foo']), ['foo', 'bar', 'foo'])
-endfunction