diff --git a/README.md b/README.md index 67f1cb3d..26675cc5 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ Remove all clutter and focus only on the essential. Similar to iA Writer or Writ * [vim-bundle-mako](https://github.com/sophacles/vim-bundle-mako) * [vim-markdown](https://github.com/tpope/vim-markdown) * [nginx.vim](https://github.com/vim-scripts/nginx.vim): Highlights configuration files for nginx -* [vim-golang](https://github.com/jnwhiteh/vim-golang) +* [vim-go](https://github.com/fatih/vim-go) ## How to include your own stuff? diff --git a/sources_non_forked/ack.vim/LICENSE b/sources_non_forked/ack.vim/LICENSE new file mode 100644 index 00000000..056ea36c --- /dev/null +++ b/sources_non_forked/ack.vim/LICENSE @@ -0,0 +1,89 @@ +ack.vim is distributed under the same license terms as Vim itself, which you +can find in full with `:help license` within Vim, or copied in full herein. + +Copyright (c) 2007-2015 Antoine Imbert + and contributors. + +Maintainers may be contacted via GitHub Issues at: + + https://github.com/mileszs/ack.vim/issues + + +VIM LICENSE + +I) There are no restrictions on distributing unmodified copies of Vim except + that they must include this license text. You can also distribute + unmodified parts of Vim, likewise unrestricted except that they must + include this license text. You are also allowed to include executables + that you made from the unmodified Vim sources, plus your own usage + examples and Vim scripts. + +II) It is allowed to distribute a modified (or extended) version of Vim, + including executables and/or source code, when the following four + conditions are met: + 1) This license text must be included unmodified. + 2) The modified Vim must be distributed in one of the following five ways: + a) If you make changes to Vim yourself, you must clearly describe in + the distribution how to contact you. When the maintainer asks you + (in any way) for a copy of the modified Vim you distributed, you + must make your changes, including source code, available to the + maintainer without fee. The maintainer reserves the right to + include your changes in the official version of Vim. What the + maintainer will do with your changes and under what license they + will be distributed is negotiable. If there has been no negotiation + then this license, or a later version, also applies to your changes. + The current maintainer is Bram Moolenaar . If this + changes it will be announced in appropriate places (most likely + vim.sf.net, www.vim.org and/or comp.editors). When it is completely + impossible to contact the maintainer, the obligation to send him + your changes ceases. Once the maintainer has confirmed that he has + received your changes they will not have to be sent again. + b) If you have received a modified Vim that was distributed as + mentioned under a) you are allowed to further distribute it + unmodified, as mentioned at I). If you make additional changes the + text under a) applies to those changes. + c) Provide all the changes, including source code, with every copy of + the modified Vim you distribute. This may be done in the form of a + context diff. You can choose what license to use for new code you + add. The changes and their license must not restrict others from + making their own changes to the official version of Vim. + d) When you have a modified Vim which includes changes as mentioned + under c), you can distribute it without the source code for the + changes if the following three conditions are met: + - The license that applies to the changes permits you to distribute + the changes to the Vim maintainer without fee or restriction, and + permits the Vim maintainer to include the changes in the official + version of Vim without fee or restriction. + - You keep the changes for at least three years after last + distributing the corresponding modified Vim. When the maintainer + or someone who you distributed the modified Vim to asks you (in + any way) for the changes within this period, you must make them + available to him. + - You clearly describe in the distribution how to contact you. This + contact information must remain valid for at least three years + after last distributing the corresponding modified Vim, or as long + as possible. + e) When the GNU General Public License (GPL) applies to the changes, + you can distribute the modified Vim under the GNU GPL version 2 or + any later version. + 3) A message must be added, at least in the output of the ":version" + command and in the intro screen, such that the user of the modified Vim + is able to see that it was modified. When distributing as mentioned + under 2)e) adding the message is only required for as far as this does + not conflict with the license used for the changes. + 4) The contact information as required under 2)a) and 2)d) must not be + removed or changed, except that the person himself can make + corrections. + +III) If you distribute a modified version of Vim, you are encouraged to use + the Vim license for your changes and make them available to the + maintainer, including the source code. The preferred way to do this is + by e-mail or by uploading the files to a server and e-mailing the URL. + If the number of changes is small (e.g., a modified Makefile) e-mailing a + context diff will do. The e-mail address to be used is + + +IV) It is not allowed to remove this license from the distribution of the Vim + sources, parts of it or from a modified version. You may use this + license for previous Vim releases instead of the license that they came + with, at your option. diff --git a/sources_non_forked/ack.vim/README.md b/sources_non_forked/ack.vim/README.md index c2e87067..a82bb804 100644 --- a/sources_non_forked/ack.vim/README.md +++ b/sources_non_forked/ack.vim/README.md @@ -129,15 +129,6 @@ optional background search execution with [vim-dispatch], and auto-previewing. Please see [the Github releases page][releases]. -### 1.0.9 (unreleased) - -* Fix location list and layout of quickfix when using Dispatch (#154) -* Fix the quick help overlay clobbering the list mappings -* Fix `:AckFile` when using Dispatch -* Restore original `'makeprg'` and `'errorformat'` when using Dispatch -* Arrow keys also work for auto-preview (#158) -* Internal refactoring and clean-up - ## Credits This plugin is derived from Antoine Imbert's blog post [Ack and Vim diff --git a/sources_non_forked/ag.vim/README.md b/sources_non_forked/ag.vim/README.md index 21ea504b..9e43262a 100644 --- a/sources_non_forked/ag.vim/README.md +++ b/sources_non_forked/ag.vim/README.md @@ -67,6 +67,9 @@ In the quickfix window, you can use: gv to open in vertical split silently q to close the quickfix window +### Related Plugin ### +[vim-ag-anything](https://github.com/Chun-Yang/vim-ag-anything) adds an 'ga' action to search any text object. + ### Acknowledgements ### This Vim plugin is derived (and by derived, I mean copied, almost entirely) diff --git a/sources_non_forked/goyo.vim/autoload/goyo.vim b/sources_non_forked/goyo.vim/autoload/goyo.vim index e66c5c14..edacd10b 100644 --- a/sources_non_forked/goyo.vim/autoload/goyo.vim +++ b/sources_non_forked/goyo.vim/autoload/goyo.vim @@ -33,7 +33,7 @@ function! s:get_color(group, attr) endfunction function! s:set_color(group, attr, color) - let gui = has('gui_running') + let gui = a:color =~ '^#' execute printf("hi %s %s%s=%s", a:group, gui ? 'gui' : 'cterm', a:attr, a:color) endfunction @@ -106,7 +106,7 @@ function! s:resize_pads() endfunction function! s:tranquilize() - let bg = s:get_color('Normal', 'bg') + let bg = s:get_color('Normal', 'bg#') for grp in ['NonText', 'FoldColumn', 'ColorColumn', 'VertSplit', \ 'StatusLine', 'StatusLineNC', 'SignColumn'] " -1 on Vim / '' on GVim diff --git a/sources_non_forked/rust.vim/.gitignore b/sources_non_forked/rust.vim/.gitignore new file mode 100644 index 00000000..0a56e3fc --- /dev/null +++ b/sources_non_forked/rust.vim/.gitignore @@ -0,0 +1 @@ +/doc/tags diff --git a/sources_non_forked/rust.vim/README.md b/sources_non_forked/rust.vim/README.md new file mode 100644 index 00000000..481db9f3 --- /dev/null +++ b/sources_non_forked/rust.vim/README.md @@ -0,0 +1,30 @@ +# rust.vim + +## Description + +This is a vim plugin provides [Rust][r] file detection and syntax highlighting. + +It is synchronized daily to the vim support code in [rust-lang/rust][rr]'s +master branch via cronjob. + +## Installation + +### Using [Vundle][v] + +1. Add `Plugin 'wting/rust.vim'` to `~/.vimrc` +2. `vim +PluginInstall +qall` + +*Note:* Vundle will not automatically detect Rust files properly if `filetype +on` is executed before Vundle. Please check the [quickstart][vqs] for more +details. + +### Using [Pathogen][p] + +1. `cd ~/.vim/bundle` +2. `git clone https://github.com/wting/rust.vim.git` + +[rr]: https://github.com/rust-lang/rust +[p]: https://github.com/tpope/vim-pathogen +[r]: https://en.wikipedia.org/wiki/Rust_language +[v]: https://github.com/gmarik/vundle +[vqs]: https://github.com/gmarik/vundle#quick-start diff --git a/sources_non_forked/rust.vim/after/syntax/rust.vim b/sources_non_forked/rust.vim/after/syntax/rust.vim new file mode 100644 index 00000000..735c1e15 --- /dev/null +++ b/sources_non_forked/rust.vim/after/syntax/rust.vim @@ -0,0 +1,31 @@ +if !exists('g:rust_conceal') || !has('conceal') || &enc != 'utf-8' + finish +endif + +" For those who don't want to see `::`... +if exists('g:rust_conceal_mod_path') + syn match rustNiceOperator "::" conceal cchar=ㆍ +endif + +syn match rustRightArrowHead contained ">" conceal cchar=  +syn match rustRightArrowTail contained "-" conceal cchar=⟶ +syn match rustNiceOperator "->" contains=rustRightArrowHead,rustRightArrowTail + +syn match rustFatRightArrowHead contained ">" conceal cchar=  +syn match rustFatRightArrowTail contained "=" conceal cchar=⟹ +syn match rustNiceOperator "=>" contains=rustFatRightArrowHead,rustFatRightArrowTail + +syn match rustNiceOperator /\<\@!_\(_*\>\)\@=/ conceal cchar=′ + +" For those who don't want to see `pub`... +if exists('g:rust_conceal_pub') + syn match rustPublicSigil contained "pu" conceal cchar=* + syn match rustPublicRest contained "b" conceal cchar=  + syn match rustNiceOperator "pub " contains=rustPublicSigil,rustPublicRest +endif + +hi link rustNiceOperator Operator + +if !exists('g:rust_conceal_mod_path') + hi! link Conceal Operator +endif diff --git a/sources_non_forked/rust.vim/autoload/rust.vim b/sources_non_forked/rust.vim/autoload/rust.vim new file mode 100644 index 00000000..fe8e743e --- /dev/null +++ b/sources_non_forked/rust.vim/autoload/rust.vim @@ -0,0 +1,225 @@ +" Author: Kevin Ballard +" Description: Helper functions for Rust commands/mappings +" Last Modified: May 27, 2014 + +" Jump {{{1 + +function! rust#Jump(mode, function) range + let cnt = v:count1 + normal! m' + if a:mode ==# 'v' + norm! gv + endif + let foldenable = &foldenable + set nofoldenable + while cnt > 0 + execute "call Jump_" . a:function . "()" + let cnt = cnt - 1 + endwhile + let &foldenable = foldenable +endfunction + +function! s:Jump_Back() + call search('{', 'b') + keepjumps normal! w99[{ +endfunction + +function! s:Jump_Forward() + normal! j0 + call search('{', 'b') + keepjumps normal! w99[{% + call search('{') +endfunction + +" Run {{{1 + +function! rust#Run(bang, args) + if a:bang + let idx = index(a:args, '--') + if idx != -1 + let rustc_args = idx == 0 ? [] : a:args[:idx-1] + let args = a:args[idx+1:] + else + let rustc_args = a:args + let args = [] + endif + else + let rustc_args = [] + let args = a:args + endif + + let b:rust_last_rustc_args = rustc_args + let b:rust_last_args = args + + call s:WithPath(function("s:Run"), rustc_args, args) +endfunction + +function! s:Run(path, rustc_args, args) + try + let exepath = tempname() + if has('win32') + let exepath .= '.exe' + endif + + let rustc_args = [a:path, '-o', exepath] + a:rustc_args + + let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" + + let output = system(shellescape(rustc) . " " . join(map(rustc_args, 'shellescape(v:val)'))) + if output != '' + echohl WarningMsg + echo output + echohl None + endif + if !v:shell_error + exe '!' . shellescape(exepath) . " " . join(map(a:args, 'shellescape(v:val)')) + endif + finally + if exists("exepath") + silent! call delete(exepath) + endif + endtry +endfunction + +" Expand {{{1 + +function! rust#Expand(bang, args) + if a:bang && !empty(a:args) + let pretty = a:args[0] + let args = a:args[1:] + else + let pretty = "expanded" + let args = a:args + endif + call s:WithPath(function("s:Expand"), pretty, args) +endfunction + +function! s:Expand(path, pretty, args) + try + let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" + + let args = [a:path, '--pretty', a:pretty] + a:args + let output = system(shellescape(rustc) . " " . join(map(args, "shellescape(v:val)"))) + if v:shell_error + echohl WarningMsg + echo output + echohl None + else + new + silent put =output + 1 + d + setl filetype=rust + setl buftype=nofile + setl bufhidden=hide + setl noswapfile + endif + endtry +endfunction + +function! rust#CompleteExpand(lead, line, pos) + if a:line[: a:pos-1] =~ '^RustExpand!\s*\S*$' + " first argument and it has a ! + let list = ["normal", "expanded", "typed", "expanded,identified", "flowgraph="] + if !empty(a:lead) + call filter(list, "v:val[:len(a:lead)-1] == a:lead") + endif + return list + endif + + return glob(escape(a:lead, "*?[") . '*', 0, 1) +endfunction + +" Emit {{{1 + +function! rust#Emit(type, args) + call s:WithPath(function("s:Emit"), a:type, a:args) +endfunction + +function! s:Emit(path, type, args) + try + let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" + + let args = [a:path, '--emit', a:type, '-o', '-'] + a:args + let output = system(shellescape(rustc) . " " . join(map(args, "shellescape(v:val)"))) + if v:shell_error + echohl WarningMsg + echo output + echohl None + else + new + silent put =output + 1 + d + if a:type == "ir" + setl filetype=llvm + elseif a:type == "asm" + setl filetype=asm + endif + setl buftype=nofile + setl bufhidden=hide + setl noswapfile + endif + endtry +endfunction + +" Utility functions {{{1 + +function! s:WithPath(func, ...) + try + let save_write = &write + set write + let path = expand('%') + let pathisempty = empty(path) + if pathisempty || !save_write + " use a temporary file named 'unnamed.rs' inside a temporary + " directory. This produces better error messages + let tmpdir = tempname() + call mkdir(tmpdir) + + let save_cwd = getcwd() + silent exe 'lcd' fnameescape(tmpdir) + + let path = 'unnamed.rs' + + let save_mod = &mod + set nomod + + silent exe 'keepalt write! ' . fnameescape(path) + if pathisempty + silent keepalt 0file + endif + else + update + endif + + call call(a:func, [path] + a:000) + finally + if exists("save_mod") | let &mod = save_mod | endif + if exists("save_write") | let &write = save_write | endif + if exists("save_cwd") | silent exe 'lcd' fnameescape(save_cwd) | endif + if exists("tmpdir") | silent call s:RmDir(tmpdir) | endif + endtry +endfunction + +function! rust#AppendCmdLine(text) + call setcmdpos(getcmdpos()) + let cmd = getcmdline() . a:text + return cmd +endfunction + +function! s:RmDir(path) + " sanity check; make sure it's not empty, /, or $HOME + if empty(a:path) + echoerr 'Attempted to delete empty path' + return 0 + elseif a:path == '/' || a:path == $HOME + echoerr 'Attempted to delete protected path: ' . a:path + return 0 + endif + silent exe "!rm -rf " . shellescape(a:path) +endfunction + +" }}}1 + +" vim: set noet sw=4 ts=4: diff --git a/sources_non_forked/rust.vim/compiler/cargo.vim b/sources_non_forked/rust.vim/compiler/cargo.vim new file mode 100644 index 00000000..ed487a30 --- /dev/null +++ b/sources_non_forked/rust.vim/compiler/cargo.vim @@ -0,0 +1,65 @@ +" Vim compiler file +" Compiler: Cargo Compiler +" Maintainer: Damien Radtke +" Latest Revision: 2014 Sep 24 + +if exists('current_compiler') + finish +endif +runtime compiler/rustc.vim +let current_compiler = "cargo" + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal +endif + +if exists('g:cargo_makeprg_params') + execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*' +else + CompilerSet makeprg=cargo\ $* +endif + +" Allow a configurable global Cargo.toml name. This makes it easy to +" support variations like 'cargo.toml'. +let s:cargo_manifest_name = get(g:, 'cargo_manifest_name', 'Cargo.toml') + +function! s:is_absolute(path) + return a:path[0] == '/' || a:path =~ '[A-Z]\+:' +endfunction + +let s:local_manifest = findfile(s:cargo_manifest_name, '.;') +if s:local_manifest != '' + let s:local_manifest = fnamemodify(s:local_manifest, ':p:h').'/' + augroup cargo + au! + au QuickfixCmdPost make call s:FixPaths() + augroup END + + " FixPaths() is run after Cargo, and is used to change the file paths + " to be relative to the current directory instead of Cargo.toml. + function! s:FixPaths() + let qflist = getqflist() + let manifest = s:local_manifest + for qf in qflist + if !qf.valid + let m = matchlist(qf.text, '(file://\(.*\))$') + if !empty(m) + let manifest = m[1].'/' + " Manually strip another slash if needed; usually just an + " issue on Windows. + if manifest =~ '^/[A-Z]\+:/' + let manifest = manifest[1:] + endif + endif + continue + endif + let filename = bufname(qf.bufnr) + if s:is_absolute(filename) + continue + endif + let qf.filename = simplify(manifest.filename) + call remove(qf, 'bufnr') + endfor + call setqflist(qflist, 'r') + endfunction +endif diff --git a/sources_non_forked/rust.vim/compiler/rustc.vim b/sources_non_forked/rust.vim/compiler/rustc.vim new file mode 100644 index 00000000..f9b854ed --- /dev/null +++ b/sources_non_forked/rust.vim/compiler/rustc.vim @@ -0,0 +1,33 @@ +" Vim compiler file +" Compiler: Rust Compiler +" Maintainer: Chris Morgan +" Latest Revision: 2013 Jul 12 + +if exists("current_compiler") + finish +endif +let current_compiler = "rustc" + +let s:cpo_save = &cpo +set cpo&vim + +if exists(":CompilerSet") != 2 + command -nargs=* CompilerSet setlocal +endif + +if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent == 1 + CompilerSet makeprg=rustc +else + CompilerSet makeprg=rustc\ \% +endif + +CompilerSet errorformat= + \%f:%l:%c:\ %t%*[^:]:\ %m, + \%f:%l:%c:\ %*\\d:%*\\d\ %t%*[^:]:\ %m, + \%-G%f:%l\ %s, + \%-G%*[\ ]^, + \%-G%*[\ ]^%*[~], + \%-G%*[\ ]... + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/sources_non_forked/rust.vim/doc/rust.txt b/sources_non_forked/rust.vim/doc/rust.txt new file mode 100644 index 00000000..e117b0c1 --- /dev/null +++ b/sources_non_forked/rust.vim/doc/rust.txt @@ -0,0 +1,178 @@ +*rust.txt* Filetype plugin for Rust + +============================================================================== +CONTENTS *rust* *ft-rust* + +1. Introduction |rust-intro| +2. Settings |rust-settings| +3. Commands |rust-commands| +4. Mappings |rust-mappings| + +============================================================================== +INTRODUCTION *rust-intro* + +This plugin provides syntax and supporting functionality for the Rust +filetype. + +============================================================================== +SETTINGS *rust-settings* + +This plugin has a few variables you can define in your vimrc that change the +behavior of the plugin. + + *g:rustc_path* +g:rustc_path~ + Set this option to the path to rustc for use in the |:RustRun| and + |:RustExpand| commands. If unset, "rustc" will be located in $PATH: > + let g:rustc_path = $HOME."/bin/rustc" +< + + *g:rustc_makeprg_no_percent* +g:rustc_makeprg_no_percent~ + Set this option to 1 to have 'makeprg' default to "rustc" instead of + "rustc %": > + let g:rustc_makeprg_no_percent = 1 +< + + *g:rust_conceal* +g:rust_conceal~ + Set this option to turn on the basic |conceal| support: > + let g:rust_conceal = 1 +< + + *g:rust_conceal_mod_path* +g:rust_conceal_mod_path~ + Set this option to turn on |conceal| for the path connecting token + "::": > + let g:rust_conceal_mod_path = 1 +< + + *g:rust_conceal_pub* +g:rust_conceal_pub~ + Set this option to turn on |conceal| for the "pub" token: > + let g:rust_conceal_pub = 1 +< + + *g:rust_recommended_style* +g:rust_recommended_style~ + Set this option to enable vim indentation and textwidth settings to + conform to style conventions of the rust standard library (i.e. use 4 + spaces for indents and sets 'textwidth' to 99). This option is enabled + by default. To disable it: > + let g:rust_recommended_style = 0 +< + + *g:rust_fold* +g:rust_fold~ + Set this option to turn on |folding|: > + let g:rust_fold = 1 +< + Value Effect ~ + 0 No folding + 1 Braced blocks are folded. All folds are open by + default. + 2 Braced blocks are folded. 'foldlevel' is left at the + global value (all folds are closed by default). + + *g:rust_bang_comment_leader* +g:rust_bang_comment_leader~ + Set this option to 1 to preserve the leader on multi-line doc comments + using the /*! syntax: > + let g:rust_bang_comment_leader = 1 +< + + *g:ftplugin_rust_source_path* +g:ftplugin_rust_source_path~ + Set this option to a path that should be prepended to 'path' for Rust + source files: > + let g:ftplugin_rust_source_path = $HOME.'/dev/rust' +< + + *g:cargo_manifest_name* +g:cargo_manifest_name~ + Set this option to the name of the manifest file for your projects. If + not specified it defaults to 'Cargo.toml' : > + let g:cargo_manifest_name = 'Cargo.toml' +< + +============================================================================== +COMMANDS *rust-commands* + +:RustRun [args] *:RustRun* +:RustRun! [rustc-args] [--] [args] + Compiles and runs the current file. If it has unsaved changes, + it will be saved first using |:update|. If the current file is + an unnamed buffer, it will be written to a temporary file + first. The compiled binary is always placed in a temporary + directory, but is run from the current directory. + + The arguments given to |:RustRun| will be passed to the + compiled binary. + + If ! is specified, the arguments are passed to rustc instead. + A "--" argument will separate the rustc arguments from the + arguments passed to the binary. + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustExpand [args] *:RustExpand* +:RustExpand! [TYPE] [args] + Expands the current file using --pretty and displays the + results in a new split. If the current file has unsaved + changes, it will be saved first using |:update|. If the + current file is an unnamed buffer, it will be written to a + temporary file first. + + The arguments given to |:RustExpand| will be passed to rustc. + This is largely intended for specifying various --cfg + configurations. + + If ! is specified, the first argument is the expansion type to + pass to rustc --pretty. Otherwise it will default to + "expanded". + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustEmitIr [args] *:RustEmitIr* + Compiles the current file to LLVM IR and displays the results + in a new split. If the current file has unsaved changes, it + will be saved first using |:update|. If the current file is an + unnamed buffer, it will be written to a temporary file first. + + The arguments given to |:RustEmitIr| will be passed to rustc. + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +:RustEmitAsm [args] *:RustEmitAsm* + Compiles the current file to assembly and displays the results + in a new split. If the current file has unsaved changes, it + will be saved first using |:update|. If the current file is an + unnamed buffer, it will be written to a temporary file first. + + The arguments given to |:RustEmitAsm| will be passed to rustc. + + If |g:rustc_path| is defined, it is used as the path to rustc. + Otherwise it is assumed rustc can be found in $PATH. + +============================================================================== +MAPPINGS *rust-mappings* + +This plugin defines mappings for |[[| and |]]| to support hanging indents. + +It also has a few other mappings: + + *rust_* + Executes |:RustRun| with no arguments. + Note: This binding is only available in MacVim. + + *rust_* + Populates the command line with |:RustRun|! using the + arguments given to the last invocation, but does not + execute it. + Note: This binding is only available in MacVim. + +============================================================================== + vim:tw=78:sw=4:noet:ts=8:ft=help:norl: diff --git a/sources_non_forked/rust.vim/ftdetect/rust.vim b/sources_non_forked/rust.vim/ftdetect/rust.vim new file mode 100644 index 00000000..bf685d43 --- /dev/null +++ b/sources_non_forked/rust.vim/ftdetect/rust.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.rs set filetype=rust diff --git a/sources_non_forked/rust.vim/ftplugin/rust.vim b/sources_non_forked/rust.vim/ftplugin/rust.vim new file mode 100644 index 00000000..5d556994 --- /dev/null +++ b/sources_non_forked/rust.vim/ftplugin/rust.vim @@ -0,0 +1,150 @@ +" Language: Rust +" Description: Vim syntax file for Rust +" Maintainer: Chris Morgan +" Maintainer: Kevin Ballard +" Last Change: Jul 07, 2014 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpo +set cpo&vim + +" Variables {{{1 + +" The rust source code at present seems to typically omit a leader on /*! +" comments, so we'll use that as our default, but make it easy to switch. +" This does not affect indentation at all (I tested it with and without +" leader), merely whether a leader is inserted by default or not. +if exists("g:rust_bang_comment_leader") && g:rust_bang_comment_leader == 1 + " Why is the `,s0:/*,mb:\ ,ex:*/` there, you ask? I don't understand why, + " but without it, */ gets indented one space even if there were no + " leaders. I'm fairly sure that's a Vim bug. + setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,:// +else + setlocal comments=s0:/*!,m:\ ,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,:// +endif +setlocal commentstring=//%s +setlocal formatoptions-=t formatoptions+=croqnl +" j was only added in 7.3.541, so stop complaints about its nonexistence +silent! setlocal formatoptions+=j + +" smartindent will be overridden by indentexpr if filetype indent is on, but +" otherwise it's better than nothing. +setlocal smartindent nocindent + +if !exists("g:rust_recommended_style") || g:rust_recommended_style == 1 + setlocal tabstop=4 shiftwidth=4 softtabstop=4 expandtab + setlocal textwidth=99 +endif + +" This includeexpr isn't perfect, but it's a good start +setlocal includeexpr=substitute(v:fname,'::','/','g') + +" NOT adding .rc as it's being phased out (0.7) +setlocal suffixesadd=.rs + +if exists("g:ftplugin_rust_source_path") + let &l:path=g:ftplugin_rust_source_path . ',' . &l:path +endif + +if exists("g:loaded_delimitMate") + if exists("b:delimitMate_excluded_regions") + let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions + endif + let b:delimitMate_excluded_regions = delimitMate#Get("excluded_regions") . ',rustLifetimeCandidate,rustGenericLifetimeCandidate' +endif + +if has("folding") && exists('g:rust_fold') && g:rust_fold != 0 + let b:rust_set_foldmethod=1 + setlocal foldmethod=syntax + if g:rust_fold == 2 + setlocal foldlevel< + else + setlocal foldlevel=99 + endif +endif + +if has('conceal') && exists('g:rust_conceal') + let b:rust_set_conceallevel=1 + setlocal conceallevel=2 +endif + +" Motion Commands {{{1 + +" Bind motion commands to support hanging indents +nnoremap [[ :call rust#Jump('n', 'Back') +nnoremap ]] :call rust#Jump('n', 'Forward') +xnoremap [[ :call rust#Jump('v', 'Back') +xnoremap ]] :call rust#Jump('v', 'Forward') +onoremap [[ :call rust#Jump('o', 'Back') +onoremap ]] :call rust#Jump('o', 'Forward') + +" Commands {{{1 + +" See |:RustRun| for docs +command! -nargs=* -complete=file -bang -bar -buffer RustRun call rust#Run(0, []) + +" See |:RustExpand| for docs +command! -nargs=* -complete=customlist,rust#CompleteExpand -bang -bar -buffer RustExpand call rust#Expand(0, []) + +" See |:RustEmitIr| for docs +command! -nargs=* -bar -buffer RustEmitIr call rust#Emit("ir", []) + +" See |:RustEmitAsm| for docs +command! -nargs=* -bar -buffer RustEmitAsm call rust#Emit("asm", []) + +" Mappings {{{1 + +" Bind ⌘R in MacVim to :RustRun +nnoremap :RustRun +" Bind ⌘⇧R in MacVim to :RustRun! pre-filled with the last args +nnoremap :RustRun! =join(b:rust_last_rustc_args)erust#AppendCmdLine(' -- ' . join(b:rust_last_args)) + +if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args") + let b:rust_last_rustc_args = [] + let b:rust_last_args = [] +endif + +" Cleanup {{{1 + +let b:undo_ftplugin = " + \ setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd< + \|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth< + \|if exists('b:rust_original_delimitMate_excluded_regions') + \|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions + \|unlet b:rust_original_delimitMate_excluded_regions + \|else + \|unlet! b:delimitMate_excluded_regions + \|endif + \|if exists('b:rust_set_foldmethod') + \|setlocal foldmethod< foldlevel< + \|unlet b:rust_set_foldmethod + \|endif + \|if exists('b:rust_set_conceallevel') + \|setlocal conceallevel< + \|unlet b:rust_set_conceallevel + \|endif + \|unlet! b:rust_last_rustc_args b:rust_last_args + \|delcommand RustRun + \|delcommand RustExpand + \|delcommand RustEmitIr + \|delcommand RustEmitAsm + \|nunmap + \|nunmap + \|nunmap [[ + \|nunmap ]] + \|xunmap [[ + \|xunmap ]] + \|ounmap [[ + \|ounmap ]] + \" + +" }}}1 + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: set noet sw=4 ts=4: diff --git a/sources_non_forked/rust.vim/indent/rust.vim b/sources_non_forked/rust.vim/indent/rust.vim new file mode 100644 index 00000000..300d7dac --- /dev/null +++ b/sources_non_forked/rust.vim/indent/rust.vim @@ -0,0 +1,196 @@ +" Vim indent file +" Language: Rust +" Author: Chris Morgan +" Last Change: 2014 Sep 13 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal cindent +setlocal cinoptions=L0,(0,Ws,J1,j1 +setlocal cinkeys=0{,0},!^F,o,O,0[,0] +" Don't think cinwords will actually do anything at all... never mind +setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern + +" Some preliminary settings +setlocal nolisp " Make sure lisp indenting doesn't supersede us +setlocal autoindent " indentexpr isn't much help otherwise +" Also do indentkeys, otherwise # gets shoved to column 0 :-/ +setlocal indentkeys=0{,0},!^F,o,O,0[,0] + +setlocal indentexpr=GetRustIndent(v:lnum) + +" Only define the function once. +if exists("*GetRustIndent") + finish +endif + +" Come here when loading the script the first time. + +function! s:get_line_trimmed(lnum) + " Get the line and remove a trailing comment. + " Use syntax highlighting attributes when possible. + " NOTE: this is not accurate; /* */ or a line continuation could trick it + let line = getline(a:lnum) + let line_len = strlen(line) + if has('syntax_items') + " If the last character in the line is a comment, do a binary search for + " the start of the comment. synID() is slow, a linear search would take + " too long on a long line. + if synIDattr(synID(a:lnum, line_len, 1), "name") =~ 'Comment\|Todo' + let min = 1 + let max = line_len + while min < max + let col = (min + max) / 2 + if synIDattr(synID(a:lnum, col, 1), "name") =~ 'Comment\|Todo' + let max = col + else + let min = col + 1 + endif + endwhile + let line = strpart(line, 0, min - 1) + endif + return substitute(line, "\s*$", "", "") + else + " Sorry, this is not complete, nor fully correct (e.g. string "//"). + " Such is life. + return substitute(line, "\s*//.*$", "", "") + endif +endfunction + +function! s:is_string_comment(lnum, col) + if has('syntax_items') + for id in synstack(a:lnum, a:col) + let synname = synIDattr(id, "name") + if synname == "rustString" || synname =~ "^rustComment" + return 1 + endif + endfor + else + " without syntax, let's not even try + return 0 + endif +endfunction + +function GetRustIndent(lnum) + + " Starting assumption: cindent (called at the end) will do it right + " normally. We just want to fix up a few cases. + + let line = getline(a:lnum) + + if has('syntax_items') + let synname = synIDattr(synID(a:lnum, 1, 1), "name") + if synname == "rustString" + " If the start of the line is in a string, don't change the indent + return -1 + elseif synname =~ '\(Comment\|Todo\)' + \ && line !~ '^\s*/\*' " not /* opening line + if synname =~ "CommentML" " multi-line + if line !~ '^\s*\*' && getline(a:lnum - 1) =~ '^\s*/\*' + " This is (hopefully) the line after a /*, and it has no + " leader, so the correct indentation is that of the + " previous line. + return GetRustIndent(a:lnum - 1) + endif + endif + " If it's in a comment, let cindent take care of it now. This is + " for cases like "/*" where the next line should start " * ", not + " "* " as the code below would otherwise cause for module scope + " Fun fact: " /*\n*\n*/" takes two calls to get right! + return cindent(a:lnum) + endif + endif + + " cindent gets second and subsequent match patterns/struct members wrong, + " as it treats the comma as indicating an unfinished statement:: + " + " match a { + " b => c, + " d => e, + " f => g, + " }; + + " Search backwards for the previous non-empty line. + let prevlinenum = prevnonblank(a:lnum - 1) + let prevline = s:get_line_trimmed(prevlinenum) + while prevlinenum > 1 && prevline !~ '[^[:blank:]]' + let prevlinenum = prevnonblank(prevlinenum - 1) + let prevline = s:get_line_trimmed(prevlinenum) + endwhile + if prevline[len(prevline) - 1] == "," + \ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]' + \ && prevline !~ '^\s*fn\s' + \ && prevline !~ '([^()]\+,$' + " Oh ho! The previous line ended in a comma! I bet cindent will try to + " take this too far... For now, let's normally use the previous line's + " indent. + + " One case where this doesn't work out is where *this* line contains + " square or curly brackets; then we normally *do* want to be indenting + " further. + " + " Another case where we don't want to is one like a function + " definition with arguments spread over multiple lines: + " + " fn foo(baz: Baz, + " baz: Baz) // <-- cindent gets this right by itself + " + " Another case is similar to the previous, except calling a function + " instead of defining it, or any conditional expression that leaves + " an open paren: + " + " foo(baz, + " baz); + " + " if baz && (foo || + " bar) { + " + " There are probably other cases where we don't want to do this as + " well. Add them as needed. + return indent(prevlinenum) + endif + + if !has("patch-7.4.355") + " cindent before 7.4.355 doesn't do the module scope well at all; e.g.:: + " + " static FOO : &'static [bool] = [ + " true, + " false, + " false, + " true, + " ]; + " + " uh oh, next statement is indented further! + + " Note that this does *not* apply the line continuation pattern properly; + " that's too hard to do correctly for my liking at present, so I'll just + " start with these two main cases (square brackets and not returning to + " column zero) + + call cursor(a:lnum, 1) + if searchpair('{\|(', '', '}\|)', 'nbW', + \ 's:is_string_comment(line("."), col("."))') == 0 + if searchpair('\[', '', '\]', 'nbW', + \ 's:is_string_comment(line("."), col("."))') == 0 + " Global scope, should be zero + return 0 + else + " At the module scope, inside square brackets only + "if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum + if line =~ "^\\s*]" + " It's the closing line, dedent it + return 0 + else + return &shiftwidth + endif + endif + endif + endif + + " Fall back on cindent, which does it mostly right + return cindent(a:lnum) +endfunction diff --git a/sources_non_forked/rust.vim/plugin/rust.vim b/sources_non_forked/rust.vim/plugin/rust.vim new file mode 100644 index 00000000..4ec4f33d --- /dev/null +++ b/sources_non_forked/rust.vim/plugin/rust.vim @@ -0,0 +1,22 @@ +" Vim syntastic plugin helper +" Language: Rust +" Maintainer: Andrew Gallant + +if exists("g:loaded_syntastic_rust_filetype") + finish +endif +let g:loaded_syntastic_rust_filetype = 1 +let s:save_cpo = &cpo +set cpo&vim + +" This is to let Syntastic know about the Rust filetype. +" It enables tab completion for the 'SyntasticInfo' command. +" (This does not actually register the syntax checker.) +if exists('g:syntastic_extra_filetypes') + call add(g:syntastic_extra_filetypes, 'rust') +else + let g:syntastic_extra_filetypes = ['rust'] +endif + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/sources_non_forked/rust.vim/syntax/rust.vim b/sources_non_forked/rust.vim/syntax/rust.vim new file mode 100644 index 00000000..a37b7b6d --- /dev/null +++ b/sources_non_forked/rust.vim/syntax/rust.vim @@ -0,0 +1,262 @@ +" Vim syntax file +" Language: Rust +" Maintainer: Patrick Walton +" Maintainer: Ben Blum +" Maintainer: Chris Morgan +" Last Change: January 5, 2015 + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Syntax definitions {{{1 +" Basic keywords {{{2 +syn keyword rustConditional match if else +syn keyword rustOperator as + +syn match rustAssert "\(); + +" This is merely a convention; note also the use of [A-Z], restricting it to +" latin identifiers rather than the full Unicode uppercase. I have not used +" [:upper:] as it depends upon 'noignorecase' +"syn match rustCapsIdent display "[A-Z]\w\(\w\)*" + +syn match rustOperator display "\%(+\|-\|/\|*\|=\|\^\|&\||\|!\|>\|<\|%\)=\?" +" This one isn't *quite* right, as we could have binary-& with a reference +syn match rustSigil display /&\s\+[&~@*][^)= \t\r\n]/he=e-1,me=e-1 +syn match rustSigil display /[&~@*][^)= \t\r\n]/he=e-1,me=e-1 +" This isn't actually correct; a closure with no arguments can be `|| { }`. +" Last, because the & in && isn't a sigil +syn match rustOperator display "&&\|||" + +syn match rustMacro '\w\(\w\)*!' contains=rustAssert,rustPanic +syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustPanic + +syn match rustEscapeError display contained /\\./ +syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/ +syn match rustEscapeUnicode display contained /\\\(u\x\{4}\|U\x\{8}\)/ +syn match rustEscapeUnicode display contained /\\u{\x\{1,6}}/ +syn match rustStringContinuation display contained /\\\n\s*/ +syn region rustString start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation +syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell +syn region rustString start='b\?r\z(#*\)"' end='"\z1' contains=@Spell + +syn region rustAttribute start="#!\?\[" end="\]" contains=rustString,rustDerive +syn region rustDerive start="derive(" end=")" contained contains=rustTrait + +" Number literals +syn match rustDecNumber display "\<[0-9][0-9_]*\%([iu]\%(s\|8\|16\|32\|64\)\)\=" +syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\%([iu]\%(s\|8\|16\|32\|64\)\)\=" +syn match rustOctNumber display "\<0o[0-7_]\+\%([iu]\%(s\|8\|16\|32\|64\)\)\=" +syn match rustBinNumber display "\<0b[01_]\+\%([iu]\%(s\|8\|16\|32\|64\)\)\=" + +" Special case for numbers of the form "1." which are float literals, unless followed by +" an identifier, which makes them integer literals with a method call or field access, +" or by another ".", which makes them integer literals followed by the ".." token. +" (This must go first so the others take precedence.) +syn match rustFloat display "\<[0-9][0-9_]*\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\|\.\)\@!" +" To mark a number as a normal float, it must have at least one of the three things integral values don't have: +" a decimal point and more numbers; an exponent; and a type suffix. +syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)\=" +syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\=\%([eE][+-]\=[0-9_]\+\)\(f32\|f64\)\=" +syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\=\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)" + +" For the benefit of delimitMate +syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt0\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime +syn region rustGenericRegion display start=/<\%('\|[^[cntrl:][:space:][:punct:]]\)\@=')\S\@=/ end=/>/ contains=rustGenericLifetimeCandidate +syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime + +"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting +syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" +syn match rustCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ +" The groups negated here add up to 0-255 but nothing else (they do not seem to go beyond ASCII). +syn match rustCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ +syn match rustCharacter /b'\([^\\]\|\\\(.\|x\x\{2}\)\)'/ contains=rustEscape,rustEscapeError,rustCharacterInvalid,rustCharacterInvalidUnicode +syn match rustCharacter /'\([^\\]\|\\\(.\|x\x\{2}\|u\x\{4}\|U\x\{8}\|u{\x\{1,6}}\)\)'/ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustCharacterInvalid + +syn region rustCommentLine start="//" end="$" contains=rustTodo,@Spell +syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell +syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell +syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell +syn region rustCommentBlockNest matchgroup=rustCommentBlock start="/\*" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell contained transparent +syn region rustCommentBlockDocNest matchgroup=rustCommentBlockDoc start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell contained transparent +" FIXME: this is a really ugly and not fully correct implementation. Most +" importantly, a case like ``/* */*`` should have the final ``*`` not being in +" a comment, but in practice at present it leaves comments open two levels +" deep. But as long as you stay away from that particular case, I *believe* +" the highlighting is correct. Due to the way Vim's syntax engine works +" (greedy for start matches, unlike Rust's tokeniser which is searching for +" the earliest-starting match, start or end), I believe this cannot be solved. +" Oh you who would fix it, don't bother with things like duplicating the Block +" rules and putting ``\*\@ +" +" See for details on how to add an external Syntastic checker: +" https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide#external + +if exists("g:loaded_syntastic_rust_rustc_checker") + finish +endif +let g:loaded_syntastic_rust_rustc_checker = 1 + +let s:save_cpo = &cpo +set cpo&vim + +function! SyntaxCheckers_rust_rustc_GetLocList() dict + let makeprg = self.makeprgBuild({ 'args': '-Zparse-only' }) + + let errorformat = + \ '%E%f:%l:%c: %\d%#:%\d%# %.%\{-}error:%.%\{-} %m,' . + \ '%W%f:%l:%c: %\d%#:%\d%# %.%\{-}warning:%.%\{-} %m,' . + \ '%C%f:%l %m,' . + \ '%-Z%.%#' + + return SyntasticMake({ + \ 'makeprg': makeprg, + \ 'errorformat': errorformat }) +endfunction + +call g:SyntasticRegistry.CreateAndRegisterChecker({ + \ 'filetype': 'rust', + \ 'name': 'rustc'}) + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/sources_non_forked/syntastic/autoload/syntastic/log.vim b/sources_non_forked/syntastic/autoload/syntastic/log.vim index f3950bcc..517d2c2f 100644 --- a/sources_non_forked/syntastic/autoload/syntastic/log.vim +++ b/sources_non_forked/syntastic/autoload/syntastic/log.vim @@ -173,10 +173,17 @@ endfunction " }}}2 " Utilities {{{1 -function! s:_log_timestamp() abort " {{{2 +function! s:_log_timestamp_smart() abort " {{{2 + return printf('syntastic: %f: ', reltimefloat(reltime(g:_SYNTASTIC_START))) +endfunction " }}}2 + +function! s:_log_timestamp_dumb() abort " {{{2 return 'syntastic: ' . split(reltimestr(reltime(g:_SYNTASTIC_START)))[0] . ': ' endfunction " }}}2 +let s:_log_timestamp = function(has('float') && exists('*reltimefloat') ? 's:_log_timestamp_smart' : 's:_log_timestamp_dumb') +lockvar s:_log_timestamp + function! s:_format_variable(name) abort " {{{2 let vals = [] if exists('g:syntastic_' . a:name) diff --git a/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim b/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim index 433ed146..36d8059b 100644 --- a/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim +++ b/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim @@ -284,6 +284,42 @@ function! syntastic#preprocess#rparse(errors) abort " {{{2 return out endfunction " }}}2 +function! syntastic#preprocess#scss_lint(errors) abort " {{{2 + let errs = join(a:errors, '') + if errs ==# '' + return [] + endif + + let json = s:_decode_JSON(errs) + + let out = [] + if type(json) == type({}) + for fname in keys(json) + if type(json[fname]) == type([]) + for e in json[fname] + try + cal add(out, fname . ':' . + \ e['severity'][0] . ':' . + \ e['line'] . ':' . + \ e['column'] . ':' . + \ e['length'] . ':' . + \ ( has_key(e, 'linter') ? e['linter'] . ': ' : '' ) . + \ e['reason']) + catch /\m^Vim\%((\a\+)\)\=:E716/ + call syntastic#log#warn('checker scss/scss_lint: unrecognized error item ' . string(e)) + let out = [] + endtry + endfor + else + call syntastic#log#warn('checker scss/scss_lint: unrecognized error format') + endif + endfor + else + call syntastic#log#warn('checker scss/scss_lint: unrecognized error format') + endif + return out +endfunction " }}}2 + function! syntastic#preprocess#stylelint(errors) abort " {{{2 let out = [] diff --git a/sources_non_forked/syntastic/autoload/syntastic/util.vim b/sources_non_forked/syntastic/autoload/syntastic/util.vim index eec3c0df..ccb08410 100644 --- a/sources_non_forked/syntastic/autoload/syntastic/util.vim +++ b/sources_non_forked/syntastic/autoload/syntastic/util.vim @@ -51,7 +51,7 @@ endfunction " }}}2 function! syntastic#util#tmpdir() abort " {{{2 let tempdir = '' - if (has('unix') || has('mac')) && executable('mktemp') + if (has('unix') || has('mac')) && executable('mktemp') && !has('win32unix') " TODO: option "-t" to mktemp(1) is not portable let tmp = $TMPDIR !=# '' ? $TMPDIR : $TMP !=# '' ? $TMP : '/tmp' let out = split(syntastic#util#system('mktemp -q -d ' . tmp . '/vim-syntastic-' . getpid() . '-XXXXXXXX'), "\n") @@ -90,18 +90,7 @@ function! syntastic#util#rmrf(what) abort " {{{2 endif if getftype(a:what) ==# 'dir' - if !exists('s:rmrf') - let s:rmrf = - \ has('unix') || has('mac') ? 'rm -rf' : - \ has('win32') || has('win64') ? 'rmdir /S /Q' : - \ has('win16') || has('win95') || has('dos16') || has('dos32') ? 'deltree /Y' : '' - endif - - if s:rmrf !=# '' - silent! call syntastic#util#system(s:rmrf . ' ' . syntastic#util#shescape(a:what)) - else - call s:_rmrf(a:what) - endif + call s:_delete(a:what, 'rf') else silent! call delete(a:what) endif @@ -274,8 +263,9 @@ function! syntastic#util#unique(list) abort " {{{2 let seen = {} let uniques = [] for e in a:list - if !has_key(seen, e) - let seen[e] = 1 + let k = string(e) + if !has_key(seen, k) + let seen[k] = 1 call add(uniques, e) endif endfor @@ -478,6 +468,27 @@ function! s:_translateElement(key, term) abort " {{{2 return ret endfunction " }}}2 +" @vimlint(EVL103, 1, a:flags) +function! s:_delete_dumb(what, flags) abort " {{{2 + if !exists('s:rmrf') + let s:rmrf = + \ has('unix') || has('mac') ? 'rm -rf' : + \ has('win32') || has('win64') ? 'rmdir /S /Q' : + \ has('win16') || has('win95') || has('dos16') || has('dos32') ? 'deltree /Y' : '' + endif + + if s:rmrf !=# '' + silent! call syntastic#util#system(s:rmrf . ' ' . syntastic#util#shescape(a:what)) + else + call s:_rmrf(a:what) + endif +endfunction " }}}2 +" @vimlint(EVL103, 0, a:flags) + +" delete(dir, 'rf') was added in Vim 7.4.1107, but it didn't become usable until 7.4.1128 +let s:_delete = function(v:version > 704 || (v:version == 704 && has('patch1128')) ? 'delete' : 's:_delete_dumb') +lockvar s:_delete + function! s:_rmrf(what) abort " {{{2 if !exists('s:rmdir') let s:rmdir = syntastic#util#shescape(get(g:, 'netrw_localrmdir', 'rmdir')) diff --git a/sources_non_forked/syntastic/doc/syntastic.txt b/sources_non_forked/syntastic/doc/syntastic.txt index 85871350..7a937b42 100644 --- a/sources_non_forked/syntastic/doc/syntastic.txt +++ b/sources_non_forked/syntastic/doc/syntastic.txt @@ -36,6 +36,7 @@ CONTENTS *syntastic-contents* 5.2.Choosing the executable................|syntastic-config-exec| 5.3.Configuring specific checkers..........|syntastic-config-makeprg| 5.4.Sorting errors.........................|syntastic-config-sort| + 5.5.Debugging..............................|syntastic-config-debug| 6.Notes........................................|syntastic-notes| 6.1.Handling of composite filetypes........|syntastic-composite| 6.2.Editing files over network.............|syntastic-netrw| @@ -158,6 +159,11 @@ Something like this could be more useful: > When syntax errors are detected a flag will be shown. The content of the flag is derived from the |syntastic_stl_format| option. +Please note that these settings might conflict with other Vim plugins that +change the way statusline works. Refer to these plugins' documentation for +possible solutions. See also |syntastic-powerline| below if you're using the +"powerline" Vim plugin (https://github.com/powerline/powerline). + ------------------------------------------------------------------------------ 2.2. Error signs *syntastic-error-signs* @@ -541,10 +547,10 @@ overriding filters, cf. |filter-overrides|). "level" - takes one of two values, "warnings" or "errors" "type" - can be either "syntax" or "style" - "regex" - is matched against the messages' text as a case-insensitive - |regular-expression| - "file" - is matched against the filenames the messages refer to, as a - case-sensitive |regular-expression|. + "regex" - each item in list is matched against the messages' text as a + case-insensitive |regular-expression| + "file" - each item in list is matched against the filenames the messages + refer to, as a case-sensitive |regular-expression|. If a key is prefixed by an exclamation mark "!", the corresponding filter is negated (i.e. the above example silences all messages that are NOT errors). @@ -814,6 +820,25 @@ defined. For aggregated lists (see |syntastic-aggregating-errors|) these variables are ignored if |'syntastic_sort_aggregated_errors'| is set (which is the default). +------------------------------------------------------------------------------ +5.5 Debugging *syntastic-config-debug* + +Syntastic can log a trace of its working to Vim's |message-history|. To verify +the command line constructed by syntastic to run a checker, set the variable +|'syntastic_debug'| to a non-zero value, run the checker, then run |:mes| to +display the messages, and look for "makeprg" in the output. + +From a user's perspective, the useful values for |'syntastic_debug'| are 1, 3, +and 33: + + 1 - logs syntastic's workflow + 3 - logs workflow, checker's output, and |location-list| manipulations + 33 - logs workflow and checker-specific details (such as version checks). + +Debug logs can be saved to a file; see |'syntastic_debug_file'| for details. + +Setting |'syntastic_debug'| to 0 turns off logging. + ============================================================================== 6. Notes *syntastic-notes* diff --git a/sources_non_forked/syntastic/plugin/syntastic.vim b/sources_non_forked/syntastic/plugin/syntastic.vim index 545ca7d4..7cc98b2c 100644 --- a/sources_non_forked/syntastic/plugin/syntastic.vim +++ b/sources_non_forked/syntastic/plugin/syntastic.vim @@ -19,7 +19,7 @@ if has('reltime') lockvar! g:_SYNTASTIC_START endif -let g:_SYNTASTIC_VERSION = '3.7.0-69' +let g:_SYNTASTIC_VERSION = '3.7.0-86' lockvar g:_SYNTASTIC_VERSION " Sanity checks {{{1 diff --git a/sources_non_forked/syntastic/plugin/syntastic/registry.vim b/sources_non_forked/syntastic/plugin/syntastic/registry.vim index 5ad0a192..13453b12 100644 --- a/sources_non_forked/syntastic/plugin/syntastic/registry.vim +++ b/sources_non_forked/syntastic/plugin/syntastic/registry.vim @@ -40,7 +40,7 @@ let s:_DEFAULT_CHECKERS = { \ 'go': ['go'], \ 'haml': ['haml'], \ 'handlebars': ['handlebars'], - \ 'haskell': ['ghc_mod', 'hdevtools', 'hlint'], + \ 'haskell': ['hdevtools', 'hlint'], \ 'haxe': ['haxe'], \ 'hss': ['hss'], \ 'html': ['tidy'], diff --git a/sources_non_forked/syntastic/syntax_checkers/asciidoc/asciidoc.vim b/sources_non_forked/syntastic/syntax_checkers/asciidoc/asciidoc.vim index 74f3c130..bc64e6ac 100644 --- a/sources_non_forked/syntastic/syntax_checkers/asciidoc/asciidoc.vim +++ b/sources_non_forked/syntastic/syntax_checkers/asciidoc/asciidoc.vim @@ -22,14 +22,14 @@ function! SyntaxCheckers_asciidoc_asciidoc_GetLocList() dict let makeprg = self.makeprgBuild({ 'args_after': syntastic#c#NullOutput() }) let errorformat = - \ '%Easciidoc: %tRROR: %f: line %l: %m,' . - \ '%Easciidoc: %tRROR: %f: %m,' . - \ '%Easciidoc: FAILED: %f: line %l: %m,' . - \ '%Easciidoc: FAILED: %f: %m,' . - \ '%Wasciidoc: %tARNING: %f: line %l: %m,' . - \ '%Wasciidoc: %tARNING: %f: %m,' . - \ '%Wasciidoc: DEPRECATED: %f: line %l: %m,' . - \ '%Wasciidoc: DEPRECATED: %f: %m' + \ '%E%\w%\+: %tRROR: %f: line %l: %m,' . + \ '%E%\w%\+: %tRROR: %f: %m,' . + \ '%E%\w%\+: FAILED: %f: line %l: %m,' . + \ '%E%\w%\+: FAILED: %f: %m,' . + \ '%W%\w%\+: %tARNING: %f: line %l: %m,' . + \ '%W%\w%\+: %tARNING: %f: %m,' . + \ '%W%\w%\+: DEPRECATED: %f: line %l: %m,' . + \ '%W%\w%\+: DEPRECATED: %f: %m' return SyntasticMake({ \ 'makeprg': makeprg, diff --git a/sources_non_forked/syntastic/syntax_checkers/css/stylelint.vim b/sources_non_forked/syntastic/syntax_checkers/css/stylelint.vim index 1d2f40f2..58c7dec2 100644 --- a/sources_non_forked/syntastic/syntax_checkers/css/stylelint.vim +++ b/sources_non_forked/syntastic/syntax_checkers/css/stylelint.vim @@ -19,8 +19,12 @@ let g:loaded_syntastic_css_stylelint_checker = 1 let s:save_cpo = &cpo set cpo&vim +let s:args_after = { + \ 'css': '-f json', + \ 'scss': '-f json -s scss' } + function! SyntaxCheckers_css_stylelint_GetLocList() dict - let makeprg = self.makeprgBuild({ 'args_after': '-f json' }) + let makeprg = self.makeprgBuild({ 'args_after': get(s:args_after, self.getFiletype(), '') }) let errorformat = '%t:%f:%l:%c:%m' diff --git a/sources_non_forked/syntastic/syntax_checkers/javascript/flow.vim b/sources_non_forked/syntastic/syntax_checkers/javascript/flow.vim index 6ef39790..13ee47a3 100644 --- a/sources_non_forked/syntastic/syntax_checkers/javascript/flow.vim +++ b/sources_non_forked/syntastic/syntax_checkers/javascript/flow.vim @@ -34,7 +34,7 @@ function! SyntaxCheckers_javascript_flow_GetLocList() dict endif let makeprg = self.makeprgBuild({ - \ 'exe': self.getExecEscaped() . ' status', + \ 'exe': self.getExecEscaped() . ' check', \ 'args_after': '--show-all-errors --json' }) let errorformat = diff --git a/sources_non_forked/syntastic/syntax_checkers/javascript/jscs.vim b/sources_non_forked/syntastic/syntax_checkers/javascript/jscs.vim index e91b166c..d2590869 100644 --- a/sources_non_forked/syntastic/syntax_checkers/javascript/jscs.vim +++ b/sources_non_forked/syntastic/syntax_checkers/javascript/jscs.vim @@ -29,7 +29,8 @@ function! SyntaxCheckers_javascript_jscs_IsAvailable() dict endfunction function! SyntaxCheckers_javascript_jscs_GetLocList() dict - let makeprg = self.makeprgBuild({ 'args_after': '--no-colors --reporter json' }) + let makeprg = self.makeprgBuild({ + \ 'args_after': '--no-colors --max-errors -1 --reporter json' }) let errorformat = '%f:%l:%c:%m' diff --git a/sources_non_forked/syntastic/syntax_checkers/markdown/mdl.vim b/sources_non_forked/syntastic/syntax_checkers/markdown/mdl.vim index 3b40a744..17dc86d1 100644 --- a/sources_non_forked/syntastic/syntax_checkers/markdown/mdl.vim +++ b/sources_non_forked/syntastic/syntax_checkers/markdown/mdl.vim @@ -26,7 +26,7 @@ function! SyntaxCheckers_markdown_mdl_GetLocList() dict let makeprg = self.makeprgBuild({ 'args': '--warnings' }) let errorformat = - \ '%E%f:%l: %m,'. + \ '%E%f:%\s%\=%l: %m,'. \ '%W%f: Kramdown Warning: %m found on line %l' return SyntasticMake({ diff --git a/sources_non_forked/syntastic/syntax_checkers/rst/rst2pseudoxml.vim b/sources_non_forked/syntastic/syntax_checkers/rst/rst2pseudoxml.vim index 1c3ca09c..2a7c5cf2 100644 --- a/sources_non_forked/syntastic/syntax_checkers/rst/rst2pseudoxml.vim +++ b/sources_non_forked/syntastic/syntax_checkers/rst/rst2pseudoxml.vim @@ -29,10 +29,8 @@ function! SyntaxCheckers_rst_rst2pseudoxml_GetLocList() dict \ 'tail': syntastic#util#DevNull() }) let errorformat = - \ '%f:%l: (%tNFO/1) %m,'. - \ '%f:%l: (%tARNING/2) %m,'. - \ '%f:%l: (%tRROR/3) %m,'. - \ '%f:%l: (%tEVERE/4) %m,'. + \ '%f:%l: (%t%\w%\+/%\d%\+) %m,'. + \ '%f:: (%t%\w%\+/%\d%\+) %m,'. \ '%-G%.%#' let loclist = SyntasticMake({ @@ -40,11 +38,11 @@ function! SyntaxCheckers_rst_rst2pseudoxml_GetLocList() dict \ 'errorformat': errorformat }) for e in loclist - if e['type'] ==? 'S' - let e['type'] = 'E' - elseif e['type'] ==? 'I' + if e['type'] ==? 'I' let e['type'] = 'W' let e['subtype'] = 'Style' + else + let e['type'] = 'E' endif endfor diff --git a/sources_non_forked/syntastic/syntax_checkers/scss/scss_lint.vim b/sources_non_forked/syntastic/syntax_checkers/scss/scss_lint.vim index f292554f..c0f921af 100644 --- a/sources_non_forked/syntastic/syntax_checkers/scss/scss_lint.vim +++ b/sources_non_forked/syntastic/syntax_checkers/scss/scss_lint.vim @@ -21,21 +21,28 @@ function! SyntaxCheckers_scss_scss_lint_IsAvailable() dict if !executable(self.getExec()) return 0 endif - return syntastic#util#versionIsAtLeast(self.getVersion(), [0, 12]) + return syntastic#util#versionIsAtLeast(self.getVersion(), [0, 29]) endfunction function! SyntaxCheckers_scss_scss_lint_GetLocList() dict - let makeprg = self.makeprgBuild({}) + let makeprg = self.makeprgBuild({ 'args_after': '-f JSON' }) - let errorformat = '%f:%l [%t] %m' + let errorformat = '%f:%t:%l:%c:%n:%m' let loclist = SyntasticMake({ \ 'makeprg': makeprg, \ 'errorformat': errorformat, + \ 'preprocess': 'scss_lint', + \ 'postprocess': ['guards'], \ 'returns': [0, 1, 2, 65, 66] }) let cutoff = strlen('Syntax Error: ') for e in loclist + if e['nr'] > 1 + let e['hl'] = '\%>' . (e['col'] - 1) . 'c\%<' . (e['col'] + e['nr']) . 'c' + endif + let e['nr'] = 0 + if e['text'][: cutoff-1] ==# 'Syntax Error: ' let e['text'] = e['text'][cutoff :] else diff --git a/sources_non_forked/syntastic/syntax_checkers/scss/stylelint.vim b/sources_non_forked/syntastic/syntax_checkers/scss/stylelint.vim new file mode 100644 index 00000000..19629164 --- /dev/null +++ b/sources_non_forked/syntastic/syntax_checkers/scss/stylelint.vim @@ -0,0 +1,23 @@ +"============================================================================ +"File: stylelint.vim +"Description: Syntax checking plugin for syntastic.vim +"Maintainer: LCD 47 +"License: This program is free software. It comes without any warranty, +" to the extent permitted by applicable law. You can redistribute +" it and/or modify it under the terms of the Do What The Fuck You +" Want To Public License, Version 2, as published by Sam Hocevar. +" See http://sam.zoy.org/wtfpl/COPYING for more details. +" +"============================================================================ + +if exists('g:loaded_syntastic_scss_stylelint_checker') + finish +endif +let g:loaded_syntastic_scss_stylelint_checker = 1 + +call g:SyntasticRegistry.CreateAndRegisterChecker({ + \ 'filetype': 'scss', + \ 'name': 'stylelint', + \ 'redirect': 'css/stylelint'}) + +" vim: set sw=4 sts=4 et fdm=marker: diff --git a/sources_non_forked/syntastic/syntax_checkers/yaml/yamllint.vim b/sources_non_forked/syntastic/syntax_checkers/yaml/yamllint.vim new file mode 100644 index 00000000..130877d2 --- /dev/null +++ b/sources_non_forked/syntastic/syntax_checkers/yaml/yamllint.vim @@ -0,0 +1,52 @@ +"============================================================================ +"File: yamllint.vim +"Description: YAML files linting for syntastic.vim +"Maintainer: Adrien Vergé +"License: This program is free software. It comes without any warranty, +" to the extent permitted by applicable law. You can redistribute +" it and/or modify it under the terms of the Do What The Fuck You +" Want To Public License, Version 2, as published by Sam Hocevar. +" See http://sam.zoy.org/wtfpl/COPYING for more details. +" +"============================================================================ + +if exists('g:loaded_syntastic_yaml_yamllint_checker') + finish +endif +let g:loaded_syntastic_yaml_yamllint_checker = 1 + +let s:save_cpo = &cpo +set cpo&vim + +function! SyntaxCheckers_yaml_yamllint_GetLocList() dict + let makeprg = self.makeprgBuild({ 'args_after': '-f parsable' }) + + let errorformat = + \ '%f:%l:%c: [%trror] %m,' . + \ '%f:%l:%c: [%tarning] %m' + + let env = syntastic#util#isRunningWindows() ? {} : { 'TERM': 'dumb' } + + let loclist = SyntasticMake({ + \ 'makeprg': makeprg, + \ 'errorformat': errorformat, + \ 'env': env, + \ 'returns': [0, 1] }) + + for e in loclist + if e['type'] ==? 'W' + let e['subtype'] = 'Style' + endif + endfor + + return loclist +endfunction + +call g:SyntasticRegistry.CreateAndRegisterChecker({ + \ 'filetype': 'yaml', + \ 'name': 'yamllint' }) + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: set sw=4 sts=4 et fdm=marker: diff --git a/sources_non_forked/vim-airline/.travis.yml b/sources_non_forked/vim-airline/.travis.yml index 9ed483e7..54deccf7 100644 --- a/sources_non_forked/vim-airline/.travis.yml +++ b/sources_non_forked/vim-airline/.travis.yml @@ -1,4 +1,8 @@ language: ruby +before_install: + - curl -f -L "https://raw.githubusercontent.com/vim-airline/vim-airline-themes/master/autoload/airline/themes/simple.vim" -o autoload/airline/themes/simple.vim + - curl -f -L "https://raw.githubusercontent.com/vim-airline/vim-airline-themes/master/autoload/airline/themes/molokai.vim" -o autoload/airline/themes/molokai.vim + - mkdir colors && curl -f -L 'https://raw.githubusercontent.com/tomasr/molokai/master/colors/molokai.vim' -o colors/molokai.vim rvm: - 1.9.3 script: rake ci diff --git a/sources_non_forked/vim-airline/CHANGELOG.md b/sources_non_forked/vim-airline/CHANGELOG.md new file mode 100644 index 00000000..3aacc267 --- /dev/null +++ b/sources_non_forked/vim-airline/CHANGELOG.md @@ -0,0 +1,104 @@ +# Change Log + +This is the Changelog for the vim-airline project. + +## [Unreleased] +- Changes + - Themes have been moved into an extra repository [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes) + - Many new themes + - Airline Moved to new [repository](https://github.com/vim-airline/vim-airline) +- New features + - Integration with [taboo](https://github.com/gcmt/taboo.vim), [vim-ctrlspace](https://github.com/szw/vim-ctrlspace), + [quickfixsigns](https://github.com/tomtom/quickfixsigns_vim), [YouCompleteMe](https://github.com/Valloric/YouCompleteMe) + - Support for Neovim + - Added wordcount extension + - Adding Crypt and Byte Order Mark Indicator + +## [0.7] - 2014-12-10 +- New features + - accents support; allowing multiple colors/styles in the same section + - extensions: eclim + - themes: understated, monochrome, murmur, sol, lucius +- Improvements + - solarized theme; support for 8 color terminals + - tabline resizes dynamically based on number of open buffers + - miscellaneous bug fixes + +## [0.6] - 2013-10-08 + +- New features + - accents support; allowing multiple colors/styles in the same section + - extensions: eclim + - themes: understated, monochrome, murmur, sol, lucius +- Improvements + - solarized theme; support for 8 color terminals + - tabline resizes dynamically based on number of open buffers + - miscellaneous bug fixes + +## [0.5] - 2013-09-13 + +- New features + - smart tabline extension which displays all buffers when only one tab is visible + - automatic section truncation when the window resizes + - support for a declarative style of configuration, allowing parts to contain metadata such as minimum window width or conditional visibility + - themes: zenburn, serene +- Other + - a sizable chunk of vim-airline is now running through a unit testing suite, automated via Travis CI + +## [0.4] - 2013-08-26 + + - New features + - integration with csv.vim and vim-virtualenv + - hunks extension for vim-gitgutter and vim-signify + - automatic theme switching with matching colorschemes + - commands: AirlineToggle + - themes: base16 (all variants) + - Improvements + - integration with undotree, tagbar, and unite + - Other + - refactored core and exposed statusline builder and pipeline + - all extension related g:airline_variables have been deprecated in favor of g:airline#extensions# variables + - extensions found in the runtimepath outside of the default distribution will be automatically loaded + +## [0.3] - 2013-08-12 + +- New features + - first-class integration with tagbar + - white space detection for trailing spaces and mixed indentation + - introduced warning section for syntastic and white space detection + - improved ctrlp integration: colors are automatically selected based on the current airline theme + - new themes: molokai, bubblegum, jellybeans, tomorrow +- Bug fixes + - improved handling of eventignore used by other plugins +- Other + - code cleaned up for clearer separation between core functionality and extensions + - introduced color extraction from highlight groups, allowing themes to be generated off of the active colorscheme (e.g. jellybeans and tomorrow) + - License changed to MIT + +## [0.2] - 2013-07-28 + +- New features + - iminsert detection + - integration with vimshell, vimfiler, commandt, lawrencium + - enhanced bufferline theming + - support for ctrlp theming + - support for custom window excludes +- New themes + - luna and wombat +- Bug fixes + - refresh branch name after switching with a shell command + +## [0.1] - 2013-07-17 + +- Initial release + - integration with other plugins: netrw, unite, nerdtree, undotree, gundo, tagbar, minibufexplr, ctrlp + - support for themes: 8 included + +[Unreleased]: https://github.com/vim-airline/vim-airline/compare/v0.7...HEAD +[0.7]: https://github.com/vim-airline/vim-airline/compare/v0.6...v0.7 +[0.6]: https://github.com/vim-airline/vim-airline/compare/v0.5...v0.6 +[0.5]: https://github.com/vim-airline/vim-airline/compare/v0.4...v0.5 +[0.4]: https://github.com/vim-airline/vim-airline/compare/v0.3...v0.4 +[0.3]: https://github.com/vim-airline/vim-airline/compare/v0.2...v0.3 +[0.2]: https://github.com/vim-airline/vim-airline/compare/v0.1...v0.2 +[0.1]: https://github.com/vim-airline/vim-airline/releases/tag/v0.1 diff --git a/sources_non_forked/vim-airline/CONTRIBUTING.md b/sources_non_forked/vim-airline/CONTRIBUTING.md new file mode 100644 index 00000000..f97699ec --- /dev/null +++ b/sources_non_forked/vim-airline/CONTRIBUTING.md @@ -0,0 +1,32 @@ +# Contributions + +Contributions and pull requests are welcome. Please take note of the following guidelines: + +* Adhere to the existing style as much as possible; notably, 2 space indents and long-form keywords. +* Keep the history clean! Squash your branches before you submit a pull request. `pull --rebase` is your friend. +* Any changes to the core should be tested against Vim 7.2. + +# Bugs + +Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following: + +* Reproduce it with this [minivimrc][7] repository to rule out any configuration conflicts. Even better, create a `gist` of your vimrc that is compatible with [pathogen][11]. +* And to make it easier to reproduce, please supply the following: + * the `:version` of vim + * the commit of vim-airline you're using + * the OS that you're using, including terminal emulator, GUI vs non-GUI + +# Themes + +* If you submit a theme, please create a screenshot so it can be added to the [Wiki][14]. +* In the majority of cases, modifications to colors of existing themes will likely be rejected. Themes are a subjective thing, so while you may prefer that a particular color be darker, another user will prefer it to be lighter, or something entirely different. The more popular the theme, the more unlikely the change will be accepted. However, it's pretty simple to create your own theme; copy the theme to `~/.vim/autoload/airline/themes` under a new name with your modifications, and it can be used. + +# Maintenance + +If you would like to take a more active role in improving vim-airline, please consider [becoming a maintainer][43]. + + +[7]: https://github.com/bling/minivimrc +[11]: https://github.com/tpope/vim-pathogen +[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots +[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer diff --git a/sources_non_forked/vim-airline/LICENSE b/sources_non_forked/vim-airline/LICENSE index 49ba02fc..875accab 100644 --- a/sources_non_forked/vim-airline/LICENSE +++ b/sources_non_forked/vim-airline/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (C) 2013-2015 Bailey Ling +Copyright (C) 2013-2016 Bailey Ling Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/sources_non_forked/vim-airline/README.md b/sources_non_forked/vim-airline/README.md index c4651cf4..d3b898fe 100644 --- a/sources_non_forked/vim-airline/README.md +++ b/sources_non_forked/vim-airline/README.md @@ -1,8 +1,8 @@ -# vim-airline [![Build Status](https://travis-ci.org/bling/vim-airline.png)](https://travis-ci.org/bling/vim-airline) +# vim-airline [![Build Status](https://travis-ci.org/vim-airline/vim-airline.png)](https://travis-ci.org/vim-airline/vim-airline) Lean & mean status/tabline for vim that's light as air. -![img](https://github.com/bling/vim-airline/wiki/screenshots/demo.gif) +![img](https://github.com/vim-airline/vim-airline/wiki/screenshots/demo.gif) # Features @@ -15,7 +15,8 @@ Lean & mean status/tabline for vim that's light as air. [ctrlspace][38] and more. * Looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols. * Optimized for speed; it loads in under a millisecond. -* Extensive suite of themes for popular color schemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others; have a look at the [screenshots][14] in the wiki. +* Extensive suite of themes for popular color schemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others. + Note these are now external to this plugin. See [below][46] for detail. * Supports 7.2 as the minimum Vim version. * The master branch tries to be as stable as possible, and new features are merged in only after they have gone through a [full regression test][33]. * Unit testing suite. @@ -26,6 +27,20 @@ If you don't like the defaults, you can replace all sections with standard `stat ![image](https://f.cloud.github.com/assets/306502/1009429/d69306da-0b38-11e3-94bf-7c6e3eef41e9.png) +## Themes + +Themes have moved to +another repository as of [this commit][45]. + +Install the themes as you would this plugin (Vundle example): + +```vim +Plugin 'vim-airline/vim-airline' +Plugin 'vim-airline/vim-airline-themes' +``` + +See https://github.com/vim-airline/vim-airline-themes for more. + ## Automatic truncation Sections and parts within sections can be configured to automatically hide when the window size shrinks. @@ -78,6 +93,9 @@ vim-airline integrates with a variety of plugins out of the box. These extensio #### [promptline][36] ![airline-promptline-sc](https://f.cloud.github.com/assets/1532071/1871900/7d4b28a0-789d-11e3-90e4-16f37269981b.gif) +#### [ctrlspace][38] +![papercolor_with_ctrlspace](https://cloud.githubusercontent.com/assets/493242/12912041/7fc3c6ec-cf16-11e5-8775-8492b9c64ebf.png) + ## Extras vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also: @@ -93,7 +111,7 @@ Every section is composed of parts, and you can reorder and reconfigure them at ![image](https://f.cloud.github.com/assets/306502/1073278/f291dd4c-14a3-11e3-8a83-268e2753f97d.png) -Sections can contain accents, which allows for very granular control of visuals (see configuration [here](https://github.com/bling/vim-airline/issues/299#issuecomment-25772886)). +Sections can contain accents, which allows for very granular control of visuals (see configuration [here](https://github.com/vim-airline/vim-airline/issues/299#issuecomment-25772886)). ![image](https://f.cloud.github.com/assets/306502/1195815/4bfa38d0-249d-11e3-823e-773cfc2ca894.png) @@ -122,12 +140,14 @@ I wrote the initial version on an airplane, and since it's light as air it turne This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers: * [Pathogen][11] - * `git clone https://github.com/bling/vim-airline ~/.vim/bundle/vim-airline` + * `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline` * Remember to run `:Helptags` to generate help tags * [NeoBundle][12] - * `NeoBundle 'bling/vim-airline'` + * `NeoBundle 'vim-airline/vim-airline'` * [Vundle][13] - * `Plugin 'bling/vim-airline'` + * `Plugin 'vim-airline/vim-airline'` +* [Plug][40] + * `Plug 'vim-airline/vim-airline'` * [VAM][22] * `call vam#ActivateAddons([ 'vim-airline' ])` * manual @@ -166,33 +186,17 @@ If you don't want all the bells and whistles enabled by default, you can define A full list of screenshots for various themes can be found in the [Wiki][14]. -# Bugs +# Maintainers -Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following: +The project is currently being maintained by [Bailey Ling][41], [Christian Brabandt][42], and [Mike Hartington][44]. -* Reproduce it with this [minivimrc][7] repository to rule out any configuration conflicts. -* A link to your vimrc or a gist which shows how you configured the plugin(s). -* And so I can reproduce; your `:version` of vim, and the commit of vim-airline you're using. - -# Contributions - -Contributions and pull requests are welcome. Please take note of the following guidelines: - -* Adhere to the existing style as much as possible; notably, 2 space indents and long-form keywords. -* Keep the history clean! squash your branches before you submit a pull request. `pull --rebase` is your friend. -* Any changes to the core should be tested against Vim 7.2. - -## Themes - -* If you submit a theme, please create a screenshot so it can be added to the [Wiki][14]. -* In the majority of cases, modifications to colors of existing themes will likely be rejected. Themes are a subjective thing, so while you may prefer that a particular color be darker, another user will prefer it to be lighter, or something entirely different. The more popular the theme, the more unlikely the change will be accepted. However, it's pretty simple to create your own theme; copy the theme to `~/.vim/autoload/airline/themes` under a new name with your modifications, and it can be used. +If you are interested in becoming a maintainer (we always welcome more maintainers), please [go here][43]. # License -MIT License. Copyright (c) 2013-2015 Bailey Ling. +MIT License. Copyright (c) 2013-2016 Bailey Ling. - -[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/bling/vim-airline/trend.png)](https://bitdeli.com/free "Bitdeli Badge") +[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/vim-airline/vim-airline/trend.png)](https://bitdeli.com/free "Bitdeli Badge") [1]: https://github.com/Lokaltog/vim-powerline [2]: https://github.com/Lokaltog/powerline @@ -207,7 +211,7 @@ MIT License. Copyright (c) 2013-2015 Bailey Ling. [11]: https://github.com/tpope/vim-pathogen [12]: https://github.com/Shougo/neobundle.vim [13]: https://github.com/gmarik/vundle -[14]: https://github.com/bling/vim-airline/wiki/Screenshots +[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots [15]: https://github.com/techlivezheng/vim-plugin-minibufexpl [16]: https://github.com/sjl/gundo.vim [17]: https://github.com/mbbill/undotree @@ -220,16 +224,23 @@ MIT License. Copyright (c) 2013-2015 Bailey Ling. [24]: https://github.com/chriskempson/tomorrow-theme [25]: https://github.com/tomasr/molokai [26]: https://github.com/nanotech/jellybeans.vim -[27]: https://github.com/bling/vim-airline/wiki/FAQ +[27]: https://github.com/vim-airline/vim-airline/wiki/FAQ [28]: https://github.com/chrisbra/csv.vim [29]: https://github.com/airblade/vim-gitgutter [30]: https://github.com/mhinz/vim-signify [31]: https://github.com/jmcantrell/vim-virtualenv [32]: https://github.com/chriskempson/base16-vim -[33]: https://github.com/bling/vim-airline/wiki/Test-Plan +[33]: https://github.com/vim-airline/vim-airline/wiki/Test-Plan [34]: http://eclim.org [35]: https://github.com/edkolev/tmuxline.vim [36]: https://github.com/edkolev/promptline.vim [37]: https://github.com/gcmt/taboo.vim [38]: https://github.com/szw/vim-ctrlspace [39]: https://github.com/tomtom/quickfixsigns_vim +[40]: https://github.com/junegunn/vim-plug +[41]: https://github.com/bling +[42]: https://github.com/chrisbra +[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer +[44]: https://github.com/mhartington +[45]: https://github.com/vim-airline/vim-airline/commit/d7fd8ca649e441b3865551a325b10504cdf0711b +[46]: https://github.com/vim-airline/vim-airline#themes diff --git a/sources_non_forked/vim-airline/autoload/airline.vim b/sources_non_forked/vim-airline/autoload/airline.vim index 1d102320..83b7dfa2 100644 --- a/sources_non_forked/vim-airline/autoload/airline.vim +++ b/sources_non_forked/vim-airline/autoload/airline.vim @@ -1,9 +1,9 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let g:airline_statusline_funcrefs = get(g:, 'airline_statusline_funcrefs', []) -let s:sections = ['a','b','c','gutter','x','y','z','warning'] +let s:sections = ['a','b','c','gutter','x','y','z', 'error', 'warning'] let s:inactive_funcrefs = [] function! airline#add_statusline_func(name) @@ -71,6 +71,7 @@ endfunction function! airline#switch_matching_theme() if exists('g:colors_name') + let existing = g:airline_theme try let palette = g:airline#themes#{g:colors_name}#palette call airline#switch_theme(g:colors_name) @@ -78,7 +79,12 @@ function! airline#switch_matching_theme() catch for map in items(g:airline_theme_map) if match(g:colors_name, map[0]) > -1 - call airline#switch_theme(map[1]) + try + let palette = g:airline#themes#{map[1]}#palette + call airline#switch_theme(map[1]) + catch + call airline#switch_theme(existing) + endtry return 1 endif endfor diff --git a/sources_non_forked/vim-airline/autoload/airline/builder.vim b/sources_non_forked/vim-airline/autoload/airline/builder.vim index ee4bbb79..217fda99 100644 --- a/sources_non_forked/vim-airline/autoload/airline/builder.vim +++ b/sources_non_forked/vim-airline/autoload/airline/builder.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:prototype = {} @@ -77,7 +77,7 @@ function! s:should_change_group(group1, group2) endif let color1 = airline#highlighter#get_highlight(a:group1) let color2 = airline#highlighter#get_highlight(a:group2) - if has('gui_running') || (has("termtruecolor") && &guicolors == 1) + if g:airline_gui_mode ==# 'gui' return color1[1] != color2[1] || color1[0] != color2[0] else return color1[3] != color2[3] || color1[2] != color2[2] diff --git a/sources_non_forked/vim-airline/autoload/airline/debug.vim b/sources_non_forked/vim-airline/autoload/airline/debug.vim index fb195df1..3273b0c1 100644 --- a/sources_non_forked/vim-airline/autoload/airline/debug.vim +++ b/sources_non_forked/vim-airline/autoload/airline/debug.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 function! airline#debug#profile1() diff --git a/sources_non_forked/vim-airline/autoload/airline/deprecation.vim b/sources_non_forked/vim-airline/autoload/airline/deprecation.vim deleted file mode 100644 index 7669549e..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/deprecation.vim +++ /dev/null @@ -1,32 +0,0 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. -" vim: et ts=2 sts=2 sw=2 - -function! airline#deprecation#check() - if exists('g:airline_enable_fugitive') || exists('g:airline_fugitive_prefix') - echom 'The g:airline_enable_fugitive and g:airline_fugitive_prefix variables are obsolete. Please read the documentation about the branch extension.' - endif - - let tests = [ - \ [ 'g:airline_paste_symbol', 'g:airline_symbols.paste' ], - \ [ 'g:airline_readonly_symbol', 'g:airline_symbols.readonly' ], - \ [ 'g:airline_linecolumn_prefix', 'g:airline_symbols.linenr' ], - \ [ 'g:airline_branch_prefix', 'g:airline_symbols.branch' ], - \ [ 'g:airline_branch_empty_message', 'g:airline#extensions#branch#empty_message' ], - \ [ 'g:airline_detect_whitespace', 'g:airline#extensions#whitespace#enabled|show_message' ], - \ [ 'g:airline_enable_hunks', 'g:airline#extensions#hunks#enabled' ], - \ [ 'g:airline_enable_tagbar', 'g:airline#extensions#tagbar#enabled' ], - \ [ 'g:airline_enable_csv', 'g:airline#extensions#csv#enabled' ], - \ [ 'g:airline_enable_branch', 'g:airline#extensions#branch#enabled' ], - \ [ 'g:airline_enable_bufferline', 'g:airline#extensions#bufferline#enabled' ], - \ [ 'g:airline_enable_syntastic', 'g:airline#extensions#syntastic#enabled' ], - \ [ 'g:airline_enable_eclim', 'g:airline#extensions#eclim#enabled' ], - \ ] - for test in tests - if exists(test[0]) - let max = winwidth(0) - 16 - let msg = printf('The variable %s is deprecated and may not work in the future. It has been replaced with %s. Please read the documentation.', test[0], test[1]) - echom msg[:max].'...' - endif - endfor -endfunction - diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions.vim b/sources_non_forked/vim-airline/autoload/airline/extensions.vim index 4b1c80a1..0ce64252 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:ext = {} @@ -138,6 +138,10 @@ function! airline#extensions#load() call airline#extensions#netrw#init(s:ext) endif + if get(g:, 'airline#extensions#ycm#enabled', 0) + call airline#extensions#ycm#init(s:ext) + endif + if get(g:, 'loaded_vimfiler', 0) let g:vimfiler_force_overwrite_statusline = 0 endif @@ -146,7 +150,7 @@ function! airline#extensions#load() call airline#extensions#ctrlp#init(s:ext) endif - if get(g:, 'ctrlspace_loaded', 0) + if get(g:, 'CtrlSpaceLoaded', 0) call airline#extensions#ctrlspace#init(s:ext) endif @@ -158,17 +162,17 @@ function! airline#extensions#load() call airline#extensions#undotree#init(s:ext) endif - if (get(g:, 'airline#extensions#hunks#enabled', 1) && get(g:, 'airline_enable_hunks', 1)) + if get(g:, 'airline#extensions#hunks#enabled', 1) \ && (exists('g:loaded_signify') || exists('g:loaded_gitgutter') || exists('g:loaded_changes') || exists('g:loaded_quickfixsigns')) call airline#extensions#hunks#init(s:ext) endif - if (get(g:, 'airline#extensions#tagbar#enabled', 1) && get(g:, 'airline_enable_tagbar', 1)) + if get(g:, 'airline#extensions#tagbar#enabled', 1) \ && exists(':TagbarToggle') call airline#extensions#tagbar#init(s:ext) endif - if (get(g:, 'airline#extensions#csv#enabled', 1) && get(g:, 'airline_enable_csv', 1)) + if get(g:, 'airline#extensions#csv#enabled', 1) \ && (get(g:, 'loaded_csv', 0) || exists(':Table')) call airline#extensions#csv#init(s:ext) endif @@ -178,18 +182,18 @@ function! airline#extensions#load() let s:filetype_regex_overrides['^int-'] = ['vimshell','%{substitute(&ft, "int-", "", "")}'] endif - if (get(g:, 'airline#extensions#branch#enabled', 1) && get(g:, 'airline_enable_branch', 1)) + if get(g:, 'airline#extensions#branch#enabled', 1) \ && (exists('*fugitive#head') || exists('*lawrencium#statusline') || \ (get(g:, 'airline#extensions#branch#use_vcscommand', 0) && exists('*VCSCommandGetStatusLine'))) call airline#extensions#branch#init(s:ext) endif - if (get(g:, 'airline#extensions#bufferline#enabled', 1) && get(g:, 'airline_enable_bufferline', 1)) + if get(g:, 'airline#extensions#bufferline#enabled', 1) \ && exists('*bufferline#get_status_string') call airline#extensions#bufferline#init(s:ext) endif - if isdirectory($VIRTUAL_ENV) && get(g:, 'airline#extensions#virtualenv#enabled', 1) + if (get(g:, 'airline#extensions#virtualenv#enabled', 1) && (exists(':VirtualEnvList') || isdirectory($VIRTUAL_ENV))) call airline#extensions#virtualenv#init(s:ext) endif @@ -197,12 +201,12 @@ function! airline#extensions#load() call airline#extensions#eclim#init(s:ext) endif - if (get(g:, 'airline#extensions#syntastic#enabled', 1) && get(g:, 'airline_enable_syntastic', 1)) + if get(g:, 'airline#extensions#syntastic#enabled', 1) \ && exists(':SyntasticCheck') call airline#extensions#syntastic#init(s:ext) endif - if (get(g:, 'airline#extensions#whitespace#enabled', 1) && get(g:, 'airline_detect_whitespace', 1)) + if get(g:, 'airline#extensions#whitespace#enabled', 1) call airline#extensions#whitespace#init(s:ext) endif @@ -226,6 +230,10 @@ function! airline#extensions#load() call airline#extensions#nrrwrgn#init(s:ext) endif + if get(g:, 'airline#extensions#unicode#enabled', 1) && exists(':UnicodeTable') == 2 + call airline#extensions#unicode#init(s:ext) + endif + if (get(g:, 'airline#extensions#capslock#enabled', 1) && exists('*CapsLockStatusline')) call airline#extensions#capslock#init(s:ext) endif diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/branch.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/branch.vim index 01e23202..d7f227d7 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/branch.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/branch.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:has_fugitive = exists('*fugitive#head') @@ -9,6 +9,10 @@ if !s:has_fugitive && !s:has_lawrencium && !s:has_vcscommand finish endif +let s:git_dirs = {} +let s:untracked_git = {} +let s:untracked_hg = {} + let s:head_format = get(g:, 'airline#extensions#branch#format', 0) if s:head_format == 1 function! s:format_name(name) @@ -28,71 +32,125 @@ else endfunction endif -let s:git_dirs = {} function! s:get_git_branch(path) - if has_key(s:git_dirs, a:path) - return s:git_dirs[a:path] + if !s:has_fugitive + return '' endif - let dir = fugitive#extract_git_dir(a:path) - if empty(dir) - let name = '' - else - try - let line = join(readfile(dir . '/HEAD')) - if strpart(line, 0, 16) == 'ref: refs/heads/' - let name = strpart(line, 16) - else - " raw commit hash - let name = strpart(line, 0, 7) - endif - catch + let name = fugitive#head(7) + if empty(name) + if has_key(s:git_dirs, a:path) + return s:git_dirs[a:path] + endif + + let dir = fugitive#extract_git_dir(a:path) + if empty(dir) let name = '' - endtry + else + try + let line = join(readfile(dir . '/HEAD')) + if strpart(line, 0, 16) == 'ref: refs/heads/' + let name = strpart(line, 16) + else + " raw commit hash + let name = strpart(line, 0, 7) + endif + catch + let name = '' + endtry + endif endif let s:git_dirs[a:path] = name return name endfunction +function! s:get_git_untracked(file) + let untracked = '' + if empty(a:file) + return untracked + endif + if has_key(s:untracked_git, a:file) + let untracked = s:untracked_git[a:file] + else + let output = system('git status --porcelain -- '. a:file) + if output[0:1] is# '??' && output[3:-2] is? a:file + let untracked = get(g:, 'airline#extensions#branch#notexists', g:airline_symbols.notexists) + endif + let s:untracked_git[a:file] = untracked + endif + return untracked +endfunction + +function! s:get_hg_untracked(file) + if s:has_lawrencium + " delete cache when unlet b:airline head? + let untracked = '' + if empty(a:file) + return untracked + endif + if has_key(s:untracked_hg, a:file) + let untracked = s:untracked_hg[a:file] + else + let untracked = (system('hg status -u -- '. a:file)[0] is# '?' ? + \ get(g:, 'airline#extensions#branch#notexists', g:airline_symbols.notexists) : '') + let s:untracked_hg[a:file] = untracked + endif + return untracked + endif +endfunction + +function! s:get_hg_branch() + if s:has_lawrencium + return lawrencium#statusline() + endif + return '' +endfunction + function! airline#extensions#branch#head() if exists('b:airline_head') && !empty(b:airline_head) return b:airline_head endif let b:airline_head = '' + let l:heads = {} + let l:vcs_priority = get(g:, "airline#extensions#branch#vcs_priority", ["git", "mercurial"]) let found_fugitive_head = 0 - if s:has_fugitive && !exists('b:mercurial_dir') - let b:airline_head = fugitive#head(7) + let l:git_head = s:get_git_branch(expand("%:p:h")) + let l:hg_head = s:get_hg_branch() + + if !empty(l:git_head) let found_fugitive_head = 1 - - if empty(b:airline_head) && !exists('b:git_dir') - let b:airline_head = s:get_git_branch(expand("%:p:h")) - endif + let l:heads.git = (!empty(l:hg_head) ? "git:" : '') . s:format_name(l:git_head) + let l:git_untracked = s:get_git_untracked(expand("%:p")) + let l:heads.git .= l:git_untracked endif - if empty(b:airline_head) - if s:has_lawrencium - let b:airline_head = lawrencium#statusline() - endif + if !empty(l:hg_head) + let l:heads.mercurial = (!empty(l:git_head) ? "hg:" : '') . s:format_name(l:hg_head) + let l:hg_untracked = s:get_hg_untracked(expand("%:p")) + let l:heads.mercurial.= l:hg_untracked endif - if empty(b:airline_head) + if empty(l:heads) if s:has_vcscommand call VCSCommandEnableBufferSetup() if exists('b:VCSCommandBufferInfo') - let b:airline_head = get(b:VCSCommandBufferInfo, 0, '') + let b:airline_head = s:format_name(get(b:VCSCommandBufferInfo, 0, '')) endif endif + else + for vcs in l:vcs_priority + if has_key(l:heads, vcs) + if !empty(b:airline_head) + let b:airline_head = b:airline_head . " | " + endif + let b:airline_head = b:airline_head . l:heads[vcs] + endif + endfor endif - if empty(b:airline_head) || !found_fugitive_head && !s:check_in_path() - let b:airline_head = '' - endif - - let b:airline_head = s:format_name(b:airline_head) - if exists("g:airline#extensions#branch#displayed_head_limit") let w:displayed_head_limit = g:airline#extensions#branch#displayed_head_limit if len(b:airline_head) > w:displayed_head_limit - 1 @@ -100,13 +158,15 @@ function! airline#extensions#branch#head() endif endif + if empty(b:airline_head) || !found_fugitive_head && !s:check_in_path() + let b:airline_head = '' + endif return b:airline_head endfunction function! airline#extensions#branch#get_head() let head = airline#extensions#branch#head() - let empty_message = get(g:, 'airline#extensions#branch#empty_message', - \ get(g:, 'airline_branch_empty_message', '')) + let empty_message = get(g:, 'airline#extensions#branch#empty_message', '') let symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch) return empty(head) \ ? empty_message @@ -136,9 +196,20 @@ function! s:check_in_path() return b:airline_file_in_root endfunction +function! s:reset_untracked_cache() + if exists("s:untracked_git") + let s:untracked_git={} + endif + if exists("s:untracked_hg") + let s:untracked_hg={} + endif +endfunction + function! airline#extensions#branch#init(ext) call airline#parts#define_function('branch', 'airline#extensions#branch#get_head') autocmd BufReadPost * unlet! b:airline_file_in_root autocmd CursorHold,ShellCmdPost,CmdwinLeave * unlet! b:airline_head + autocmd User AirlineBeforeRefresh unlet! b:airline_head + autocmd BufWritePost,ShellCmdPost * call s:reset_untracked_cache() endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/bufferline.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/bufferline.vim index f2727c39..31d77aad 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/bufferline.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/bufferline.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists('*bufferline#get_status_string') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/commandt.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/commandt.vim index 8fce75db..fe6bbf94 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/commandt.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/commandt.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !get(g:, 'command_t_loaded', 0) diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/csv.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/csv.vim index f2689dde..c051ad67 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/csv.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/csv.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !get(g:, 'loaded_csv', 0) && !exists(':Table') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlp.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlp.vim index c81fc9c9..c4f856bb 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlp.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlp.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !get(g:, 'loaded_ctrlp', 0) diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlspace.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlspace.vim index 3a29efd0..166cd923 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlspace.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/ctrlspace.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:spc = g:airline_symbols.space @@ -6,13 +6,12 @@ let s:padding = s:spc . s:spc . s:spc function! airline#extensions#ctrlspace#statusline(...) let b = airline#builder#new({ 'active': 1 }) - call b.add_section('airline_a', s:padding . g:ctrlspace_symbols.cs . s:padding) - call b.add_section('airline_b', s:padding . ctrlspace#statusline_mode_segment(s:padding)) + call b.add_section('airline_b', '⌗' . s:padding . ctrlspace#api#StatuslineModeSegment(s:padding)) call b.split() - call b.add_section('airline_x', s:spc . ctrlspace#statusline_tab_segment() . s:spc) + call b.add_section('airline_x', s:spc . ctrlspace#api#StatuslineTabSegment() . s:spc) return b.build() endfunction function! airline#extensions#ctrlspace#init(ext) - let g:ctrlspace_statusline_function = 'airline#extensions#ctrlspace#statusline()' + let g:CtrlSpaceStatuslineFunction = "airline#extensions#ctrlspace#statusline()" endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/default.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/default.vim index 51f1c0a2..998aa43b 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/default.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/default.vim @@ -1,15 +1,18 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 +let s:section_use_groups = get(g:, 'airline#extensions#default#section_use_groupitems', 1) let s:section_truncate_width = get(g:, 'airline#extensions#default#section_truncate_width', { \ 'b': 79, \ 'x': 60, \ 'y': 88, \ 'z': 45, + \ 'warning': 80, + \ 'error': 80, \ }) let s:layout = get(g:, 'airline#extensions#default#layout', [ \ [ 'a', 'b', 'c' ], - \ [ 'x', 'y', 'z', 'warning' ] + \ [ 'x', 'y', 'z', 'warning', 'error' ] \ ]) function! s:get_section(winnr, key, ...) @@ -26,30 +29,41 @@ endfunction function! s:build_sections(builder, context, keys) for key in a:keys - if key == 'warning' && !a:context.active + if (key == 'warning' || key == 'error') && !a:context.active continue endif call s:add_section(a:builder, a:context, key) endfor endfunction -if v:version >= 704 || (v:version >= 703 && has('patch81')) +" There still is a highlighting bug when using groups %(%) in the statusline, +" deactivate it, until this is properly fixed: +" https://groups.google.com/d/msg/vim_dev/sb1jmVirXPU/mPhvDnZ-CwAJ +if s:section_use_groups && (v:version >= 704 || (v:version >= 703 && has('patch81'))) function s:add_section(builder, context, key) " i have no idea why the warning section needs special treatment, but it's " needed to prevent separators from showing up - if a:key == 'warning' + if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) + return + endif + if (a:key == 'warning' || a:key == 'error') call a:builder.add_raw('%(') endif call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) - if a:key == 'warning' + if (a:key == 'warning' || a:key == 'error') call a:builder.add_raw('%)') endif endfunction else " older version don't like the use of %(%) function s:add_section(builder, context, key) + if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) + return + endif if a:key == 'warning' call a:builder.add_raw('%#airline_warning#'.s:get_section(a:context.winnr, a:key)) + elseif a:key == 'error' + call a:builder.add_raw('%#airline_error#'.s:get_section(a:context.winnr, a:key)) else call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) endif diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/eclim.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/eclim.vim index 9380447f..50cef99c 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/eclim.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/eclim.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':ProjectCreate') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/example.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/example.vim index 5bf21775..d744bea2 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/example.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/example.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 " we don't actually want this loaded :P diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/hunks.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/hunks.vim index 7e51dc40..86d86557 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/hunks.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/hunks.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !get(g:, 'loaded_signify', 0) && !get(g:, 'loaded_gitgutter', 0) && !get(g:, 'loaded_changes', 0) && !get(g:, 'loaded_quickfixsigns', 0) @@ -44,22 +44,21 @@ function! s:get_hunks_empty() return '' endfunction -let s:source_func = '' function! s:get_hunks() - if empty(s:source_func) - if get(g:, 'loaded_signify', 0) - let s:source_func = 's:get_hunks_signify' + if !exists('b:source_func') + if get(g:, 'loaded_signify') && sy#buffer_is_active() + let b:source_func = 's:get_hunks_signify' elseif exists('*GitGutterGetHunkSummary') - let s:source_func = 's:get_hunks_gitgutter' + let b:source_func = 's:get_hunks_gitgutter' elseif exists('*changes#GetStats') - let s:source_func = 's:get_hunks_changes' + let b:source_func = 's:get_hunks_changes' elseif exists('*quickfixsigns#vcsdiff#GetHunkSummary') - let s:source_func = 'quickfixsigns#vcsdiff#GetHunkSummary' + let b:source_func = 'quickfixsigns#vcsdiff#GetHunkSummary' else - let s:source_func = 's:get_hunks_empty' + let b:source_func = 's:get_hunks_empty' endif endif - return {s:source_func}() + return {b:source_func}() endfunction function! airline#extensions#hunks#get_hunks() diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/netrw.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/netrw.vim index 728dfddd..fcd312d3 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/netrw.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/netrw.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':NetrwSettings') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/nrrwrgn.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/nrrwrgn.vim index 64a7fee8..78a1daaf 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/nrrwrgn.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/nrrwrgn.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !get(g:, 'loaded_nrrw_rgn', 0) @@ -39,7 +39,8 @@ function! airline#extensions#nrrwrgn#apply(...) endif endif let range=(dict.multi ? '' : printf("[%d-%d]", dict.start[1], dict.end[1])) - call a:1.add_section('airline_c', printf("%s %s %s", name, range, dict.enabled ? "\u2713" : '!')) + call a:1.add_section('airline_c', printf("%s %s %s", name, range, + \ dict.enabled ? (&encoding ==? 'utf-8' ? "\u2713" : '') : '!')) call a:1.split() call a:1.add_section('airline_x', get(g:, 'airline_section_x').spc) call a:1.add_section('airline_y', spc.get(g:, 'airline_section_y').spc) diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/promptline.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/promptline.vim index 98513a67..770a5736 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/promptline.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/promptline.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':PromptlineSnapshot') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/quickfix.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/quickfix.vim index b358329d..91f459fa 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/quickfix.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/quickfix.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let g:airline#extensions#quickfix#quickfix_text = 'Quickfix' diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/syntastic.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/syntastic.vim index 92584813..0c0c53c4 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/syntastic.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/syntastic.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':SyntasticCheck') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline.vim index 41350cc6..0447952b 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline.vim @@ -1,15 +1,16 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:formatter = get(g:, 'airline#extensions#tabline#formatter', 'default') let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) let s:show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) - +let s:ignore_bufadd_pat = get(g:, 'airline#extensions#tabline#ignore_bufadd_pat', '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree') let s:taboo = get(g:, 'airline#extensions#taboo#enabled', 1) && get(g:, 'loaded_taboo', 0) if s:taboo let g:taboo_tabline = 0 endif +let s:ctrlspace = get(g:, 'CtrlSpaceLoaded', 0) function! airline#extensions#tabline#init(ext) if has('gui_running') @@ -27,31 +28,60 @@ function! s:toggle_off() call airline#extensions#tabline#autoshow#off() call airline#extensions#tabline#tabs#off() call airline#extensions#tabline#buffers#off() + call airline#extensions#tabline#ctrlspace#off() endfunction function! s:toggle_on() call airline#extensions#tabline#autoshow#on() call airline#extensions#tabline#tabs#on() call airline#extensions#tabline#buffers#on() + call airline#extensions#tabline#ctrlspace#on() set tabline=%!airline#extensions#tabline#get() endfunction +function! s:update_tabline() + let match = expand('') + if pumvisible() + return + elseif !get(g:, 'airline#extensions#tabline#enabled', 0) + return + " return, if buffer matches ignore pattern or is directory (netrw) + elseif empty(match) + \ || match(match, s:ignore_bufadd_pat) > -1 + \ || isdirectory(expand("")) + return + endif + if empty(mapcheck("AirlineTablineRefresh", 'n')) + noremap AirlineTablineRefresh :set mod! + endif + call feedkeys("\AirlineTablineRefresh") + call feedkeys("\AirlineTablineRefresh") + "call feedkeys(',,', 't') + "call feedkeys(':unmap ,,') + " force re-evaluation of tabline setting + " disable explicit redraw, may cause E315 + "redraw +endfunction + function! airline#extensions#tabline#load_theme(palette) + if pumvisible() + return + endif let colors = get(a:palette, 'tabline', {}) + " Theme for tabs on the left let l:tab = get(colors, 'airline_tab', a:palette.normal.airline_b) let l:tabsel = get(colors, 'airline_tabsel', a:palette.normal.airline_a) let l:tabtype = get(colors, 'airline_tabtype', a:palette.visual.airline_a) let l:tabfill = get(colors, 'airline_tabfill', a:palette.normal.airline_c) let l:tabmod = get(colors, 'airline_tabmod', a:palette.insert.airline_a) + let l:tabhid = get(colors, 'airline_tabhid', a:palette.normal.airline_c) if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c') let l:tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal_modified.airline_c) else "Fall back to normal airline_c if modified airline_c isn't present let l:tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal.airline_c) endif - - let l:tabhid = get(colors, 'airline_tabhid', a:palette.normal.airline_c) call airline#highlighter#exec('airline_tab', l:tab) call airline#highlighter#exec('airline_tabsel', l:tabsel) call airline#highlighter#exec('airline_tabtype', l:tabtype) @@ -59,6 +89,21 @@ function! airline#extensions#tabline#load_theme(palette) call airline#highlighter#exec('airline_tabmod', l:tabmod) call airline#highlighter#exec('airline_tabmod_unsel', l:tabmodu) call airline#highlighter#exec('airline_tabhid', l:tabhid) + + " Theme for tabs on the right + let l:tabsel_right = get(colors, 'airline_tabsel_right', a:palette.normal.airline_a) + let l:tabmod_right = get(colors, 'airline_tabmod_right', a:palette.insert.airline_a) + let l:tabhid_right = get(colors, 'airline_tabhid_right', a:palette.normal.airline_c) + if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c') + let l:tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal_modified.airline_c) + else + "Fall back to normal airline_c if modified airline_c isn't present + let l:tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal.airline_c) + endif + call airline#highlighter#exec('airline_tabsel_right', l:tabsel_right) + call airline#highlighter#exec('airline_tabmod_right', l:tabmod_right) + call airline#highlighter#exec('airline_tabhid_right', l:tabhid_right) + call airline#highlighter#exec('airline_tabmod_unsel_right', l:tabmodu_right) endfunction let s:current_tabcnt = -1 @@ -68,9 +113,15 @@ function! airline#extensions#tabline#get() let s:current_tabcnt = curtabcnt call airline#extensions#tabline#tabs#invalidate() call airline#extensions#tabline#buffers#invalidate() + call airline#extensions#tabline#ctrlspace#invalidate() endif - if s:show_buffers && curtabcnt == 1 || !s:show_tabs + if !exists('#airline#BufAdd#*') + autocmd airline BufAdd * call update_tabline() + endif + if s:ctrlspace + return airline#extensions#tabline#ctrlspace#get() + elseif s:show_buffers && curtabcnt == 1 || !s:show_tabs return airline#extensions#tabline#buffers#get() else return airline#extensions#tabline#tabs#get() diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/autoshow.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/autoshow.vim index e4cb64b4..32bcf54f 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/autoshow.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/autoshow.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) @@ -22,7 +22,9 @@ function! airline#extensions#tabline#autoshow#on() augroup airline_tabline_autoshow autocmd! if s:buf_min_count <= 0 && s:tab_min_count <= 1 - set showtabline=2 + if &lines > 3 + set showtabline=2 + endif else if s:show_buffers == 1 autocmd BufEnter * call show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list())) @@ -40,7 +42,7 @@ endfunction function! s:show_tabline(min_count, total_count) if a:total_count >= a:min_count - if &showtabline != 2 + if &showtabline != 2 && &lines > 3 set showtabline=2 endif else diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buffers.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buffers.vim index 4f14a9ba..96b1a877 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buffers.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buffers.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 scriptencoding utf-8 @@ -37,6 +37,8 @@ function! airline#extensions#tabline#buffers#on() augroup airline_tabline_buffers autocmd! autocmd BufDelete * call airline#extensions#tabline#buffers#invalidate() + autocmd User BufMRUChange call airline#extensions#tabline#buflist#invalidate() + autocmd User BufMRUChange call airline#extensions#tabline#buffers#invalidate() augroup END endfunction @@ -45,6 +47,7 @@ function! airline#extensions#tabline#buffers#invalidate() endfunction function! airline#extensions#tabline#buffers#get() + call map_keys() let cur = bufnr('%') if cur == s:current_bufnr if !g:airline_detect_modified || getbufvar(cur, '&modified') == s:current_modified @@ -180,16 +183,18 @@ function! s:jump_to_tab(offset) endif endfunction -if s:buffer_idx_mode - noremap AirlineSelectTab1 :call select_tab(0) - noremap AirlineSelectTab2 :call select_tab(1) - noremap AirlineSelectTab3 :call select_tab(2) - noremap AirlineSelectTab4 :call select_tab(3) - noremap AirlineSelectTab5 :call select_tab(4) - noremap AirlineSelectTab6 :call select_tab(5) - noremap AirlineSelectTab7 :call select_tab(6) - noremap AirlineSelectTab8 :call select_tab(7) - noremap AirlineSelectTab9 :call select_tab(8) - noremap AirlineSelectPrevTab :call jump_to_tab(-v:count1) - noremap AirlineSelectNextTab :call jump_to_tab(v:count1) -endif +function s:map_keys() + if s:buffer_idx_mode + noremap AirlineSelectTab1 :call select_tab(0) + noremap AirlineSelectTab2 :call select_tab(1) + noremap AirlineSelectTab3 :call select_tab(2) + noremap AirlineSelectTab4 :call select_tab(3) + noremap AirlineSelectTab5 :call select_tab(4) + noremap AirlineSelectTab6 :call select_tab(5) + noremap AirlineSelectTab7 :call select_tab(6) + noremap AirlineSelectTab8 :call select_tab(7) + noremap AirlineSelectTab9 :call select_tab(8) + noremap AirlineSelectPrevTab :call jump_to_tab(-v:count1) + noremap AirlineSelectNextTab :call jump_to_tab(v:count1) + endif +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buflist.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buflist.vim index 1b5d216a..6ee23ed0 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buflist.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buflist.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:excludes = get(g:, 'airline#extensions#tabline#excludes', []) @@ -13,26 +13,26 @@ function! airline#extensions#tabline#buflist#list() return s:current_buffer_list endif + let list = (exists('g:did_bufmru') && g:did_bufmru) ? BufMRUList() : range(1, bufnr("$")) + let buffers = [] - let cur = bufnr('%') - for nr in range(1, bufnr('$')) - if buflisted(nr) && bufexists(nr) - let toadd = 1 - for ex in s:excludes - if match(bufname(nr), ex) >= 0 - let toadd = 0 - break - endif - endfor - if getbufvar(nr, 'current_syntax') == 'qf' - let toadd = 0 - endif - if s:exclude_preview && getbufvar(nr, '&bufhidden') == 'wipe' && getbufvar(nr, '&buftype') == 'nofile' - let toadd = 0 - endif - if toadd - call add(buffers, nr) + " If this is too slow, we can switch to a different algorithm. + " Basically branch 535 already does it, but since it relies on + " BufAdd autocommand, I'd like to avoid this if possible. + for nr in list + if buflisted(nr) + " Do not add to the bufferlist, if either + " 1) buffername matches exclude pattern + " 2) buffer is a quickfix buffer + " 3) exclude preview windows (if 'bufhidden' == wipe + " and 'buftype' == nofile + if (!empty(s:excludes) && match(bufname(nr), join(s:excludes, '\|')) > -1) || + \ (getbufvar(nr, 'current_syntax') == 'qf') || + \ (s:exclude_preview && getbufvar(nr, '&bufhidden') == 'wipe' + \ && getbufvar(nr, '&buftype') == 'nofile') + continue endif + call add(buffers, nr) endif endfor diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim new file mode 100644 index 00000000..9490ab02 --- /dev/null +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim @@ -0,0 +1,97 @@ +" MIT License. Copyright (c) 2016 Kevin Sapper +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:current_bufnr = -1 +let s:current_tabnr = -1 +let s:current_tabline = '' + +function! airline#extensions#tabline#ctrlspace#off() + augroup airline_tabline_ctrlspace + autocmd! + augroup END +endfunction + +function! airline#extensions#tabline#ctrlspace#on() + augroup airline_tabline_ctrlspace + autocmd! + autocmd BufDelete * call airline#extensions#tabline#ctrlspace#invalidate() + augroup END +endfunction + +function! airline#extensions#tabline#ctrlspace#invalidate() + let s:current_bufnr = -1 + let s:current_tabnr = -1 +endfunction + +function! airline#extensions#tabline#ctrlspace#get() + let cur_buf = bufnr('%') + + let s:tab_list = ctrlspace#api#TabList() + for tab in s:tab_list + if tab.current + let cur_tab = tab.index + endif + endfor + + if cur_buf == s:current_bufnr && cur_tab == s:current_tabnr + return s:current_tabline + endif + + let b = airline#extensions#tabline#new_builder() + + call b.add_section_spaced('airline_tabtype', 'buffers') + + let s:buffer_list = ctrlspace#api#BufferList(cur_tab) + for buffer in s:buffer_list + if cur_buf == buffer.index + if buffer.modified + let group = 'airline_tabmod' + else + let group = 'airline_tabsel' + endif + else + if buffer.modified + let group = 'airline_tabmod_unsel' + elseif buffer.visible + let group = 'airline_tab' + else + let group = 'airline_tabhid' + endif + endif + + let buf_name = '%(%{airline#extensions#tabline#get_buffer_name('.buffer.index.')}%)' + call b.add_section_spaced(group, buf_name) + endfor + + + call b.add_section('airline_tabfill', '') + call b.split() + call b.add_section('airline_tabfill', '') + + for tab in s:tab_list + if tab.current + if tab.modified + let group = 'airline_tabmod_right' + else + let group = 'airline_tabsel_right' + endif + else + if tab.modified + let group = 'airline_tabmod_unsel_right' + else + let group = 'airline_tabhid_right' + endif + endif + + call b.add_section_spaced(group, tab.title.ctrlspace#api#TabBuffersNumber(tab.index)) + endfor + + call b.add_section_spaced('airline_tabtype', 'tabs') + + let s:current_bufnr = cur_buf + let s:current_tabnr = cur_tab + let s:current_tabline = b.build() + return s:current_tabline +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/default.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/default.vim index db0618ac..e57eaa07 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/default.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/default.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim index 32fe07b5..3954f49e 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffers) diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim index f4f3a8dc..e860bd8d 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 scriptencoding utf-8 diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/tabs.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/tabs.vim index 77f3760c..02e4dc9d 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/tabs.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tabline/tabs.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:show_tab_nr = get(g:, 'airline#extensions#tabline#show_tab_nr', 1) @@ -31,6 +31,7 @@ endfunction function! airline#extensions#tabline#tabs#get() let curbuf = bufnr('%') let curtab = tabpagenr() + call s:map_keys() if curbuf == s:current_bufnr && curtab == s:current_tabnr if !g:airline_detect_modified || getbufvar(curbuf, '&modified') == s:current_modified return s:current_tabline @@ -80,3 +81,18 @@ function! airline#extensions#tabline#tabs#get() let s:current_tabline = b.build() return s:current_tabline endfunction + +function s:map_keys() + noremap AirlineSelectTab1 :1tabn + noremap AirlineSelectTab2 :2tabn + noremap AirlineSelectTab3 :3tabn + noremap AirlineSelectTab4 :4tabn + noremap AirlineSelectTab5 :5tabn + noremap AirlineSelectTab6 :6tabn + noremap AirlineSelectTab7 :7tabn + noremap AirlineSelectTab8 :8tabn + noremap AirlineSelectTab9 :9tabn + noremap AirlineSelectPrevTab gT + " tabn {count} goes to count tab does not go {count} tab pages forward! + noremap AirlineSelectNextTab :exe repeat(':tabn\|', v:count1) +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tagbar.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tagbar.vim index 9e5b65d1..da8abf61 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tagbar.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tagbar.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':TagbarToggle') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/tmuxline.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/tmuxline.vim index db747023..0e55588e 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/tmuxline.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/tmuxline.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':Tmuxline') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/undotree.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/undotree.vim index 532f1df0..aa24bef4 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/undotree.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/undotree.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !exists(':UndotreeToggle') diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/unicode.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/unicode.vim new file mode 100644 index 00000000..38a2141a --- /dev/null +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/unicode.vim @@ -0,0 +1,22 @@ +" MIT License. Copyright (c) 2013-2016 Bailey Ling. +" vim: et ts=2 sts=2 sw=2 + +if !get(g:, 'loaded_unicodePlugin', 0) + finish +endif + +function! airline#extensions#unicode#apply(...) + if exists(":UnicodeTable") == 2 && bufname('') ==# 'UnicodeTable' + call airline#parts#define('unicode', { + \ 'text': '[UnicodeTable]', + \ 'accent': 'bold' }) + let w:airline_section_a = airline#section#create(['unicode']) + let w:airline_section_b = '' + let w:airline_section_c = '' + let w:airline_section_y = '' + endif +endfunction + +function! airline#extensions#unicode#init(ext) + call a:ext.add_statusline_func('airline#extensions#unicode#apply') +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/unite.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/unite.vim index d1ff2b79..33cee27e 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/unite.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/unite.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if !get(g:, 'loaded_unite', 0) diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/virtualenv.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/virtualenv.vim index af47f029..00a0c02c 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/virtualenv.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/virtualenv.vim @@ -1,10 +1,6 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 -if !isdirectory($VIRTUAL_ENV) - finish -endif - let s:spc = g:airline_symbols.space function! airline#extensions#virtualenv#init(ext) @@ -12,14 +8,22 @@ function! airline#extensions#virtualenv#init(ext) endfunction function! airline#extensions#virtualenv#apply(...) - if &filetype =~ "python" + if &filetype =~# "python" if get(g:, 'virtualenv_loaded', 0) let statusline = virtualenv#statusline() else let statusline = fnamemodify($VIRTUAL_ENV, ':t') endif - call airline#extensions#append_to_section('x', - \ s:spc.g:airline_right_alt_sep.s:spc.statusline) + if !empty(statusline) + call airline#extensions#append_to_section('x', + \ s:spc.g:airline_right_alt_sep.s:spc.statusline) + endif endif endfunction +function! airline#extensions#virtualenv#update() + if &filetype =~# "python" + call airline#extensions#virtualenv#apply() + call airline#update_statusline() + endif +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/whitespace.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/whitespace.vim index 304e99b2..fbd241ca 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/whitespace.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/whitespace.vim @@ -1,22 +1,18 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 " http://got-ravings.blogspot.com/2008/10/vim-pr0n-statusline-whitespace-flags.html -" for backwards compatibility -if exists('g:airline_detect_whitespace') - let s:show_message = g:airline_detect_whitespace == 1 -else - let s:show_message = get(g:, 'airline#extensions#whitespace#show_message', 1) -endif - +let s:show_message = get(g:, 'airline#extensions#whitespace#show_message', 1) let s:symbol = get(g:, 'airline#extensions#whitespace#symbol', g:airline_symbols.whitespace) -let s:default_checks = ['indent', 'trailing'] +let s:default_checks = ['indent', 'trailing', 'mixed-indent-file'] let s:trailing_format = get(g:, 'airline#extensions#whitespace#trailing_format', 'trailing[%s]') let s:mixed_indent_format = get(g:, 'airline#extensions#whitespace#mixed_indent_format', 'mixed-indent[%s]') let s:long_format = get(g:, 'airline#extensions#whitespace#long_format', 'long[%s]') +let s:mixed_indent_file_format = get(g:, 'airline#extensions#whitespace#mixed_indent_file_format', 'mix-indent-file[%s]') let s:indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0) +let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file'] } let s:max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000) @@ -38,6 +34,16 @@ function! s:check_mixed_indent() endif endfunction +function! s:check_mixed_indent_file() + let indent_tabs = search('\v(^\t+)', 'nw') + let indent_spc = search('\v(^ +)', 'nw') + if indent_tabs > 0 && indent_spc > 0 + return printf("%d:%d", indent_tabs, indent_spc) + else + return '' + endif +endfunction + function! airline#extensions#whitespace#check() if &readonly || !&modifiable || !s:enabled || line('$') > s:max_lines return '' @@ -49,20 +55,34 @@ function! airline#extensions#whitespace#check() let trailing = 0 if index(checks, 'trailing') > -1 - let trailing = search('\s$', 'nw') + try + let regexp = get(g:, 'airline#extensions#whitespace#trailing_regexp', '\s$') + let trailing = search(regexp, 'nw') + catch + echomsg 'airline#whitespace: error occured evaluating '. regexp + echomsg v:exception + return '' + endtry endif let mixed = 0 - if index(checks, 'indent') > -1 + let check = 'indent' + if index(checks, check) > -1 && index(get(s:skip_check_ft, &ft, []), check) < 0 let mixed = s:check_mixed_indent() endif + let mixed_file = '' + let check = 'mixed-indent-file' + if index(checks, check) > -1 && index(get(s:skip_check_ft, &ft, []), check) < 0 + let mixed_file = s:check_mixed_indent_file() + endif + let long = 0 if index(checks, 'long') > -1 && &tw > 0 let long = search('\%>'.&tw.'v.\+', 'nw') endif - if trailing != 0 || mixed != 0 || long != 0 + if trailing != 0 || mixed != 0 || long != 0 || !empty(mixed_file) let b:airline_whitespace_check = s:symbol if s:show_message if trailing != 0 @@ -74,6 +94,9 @@ function! airline#extensions#whitespace#check() if long != 0 let b:airline_whitespace_check .= (g:airline_symbols.space).printf(s:long_format, long) endif + if !empty(mixed_file) + let b:airline_whitespace_check .= (g:airline_symbols.space).printf(s:mixed_indent_file_format, mixed_file) + endif endif endif endif diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount.vim index e6462322..a25d100d 100644 --- a/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount.vim +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount.vim @@ -1,33 +1,26 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 -let s:filetypes = get(g:, 'airline#extensions#wordcount#filetypes', '\vhelp|markdown|rst|org') +let s:filetypes = get(g:, 'airline#extensions#wordcount#filetypes', '\vhelp|markdown|rst|org|text') let s:format = get(g:, 'airline#extensions#wordcount#format', '%d words') +let s:formatter = get(g:, 'airline#extensions#wordcount#formatter', 'default') -" adapted from http://stackoverflow.com/questions/114431/fast-word-count-function-in-vim function! s:update() - if &ft !~ s:filetypes - unlet! b:airline_wordcount - return - elseif mode() =~? 's' - " Bail on select mode - return - endif - - let old_status = v:statusmsg - let position = getpos(".") - exe "silent normal! g\" - let stat = v:statusmsg - call setpos('.', position) - let v:statusmsg = old_status - - let parts = split(stat) - if len(parts) > 11 - let cnt = str2nr(split(stat)[11]) - let spc = g:airline_symbols.space - let b:airline_wordcount = printf(s:format, cnt) . spc . g:airline_right_alt_sep . spc - else - unlet! b:airline_wordcount + if match(&ft, s:filetypes) > -1 + let l:mode = mode() + if l:mode ==# 'v' || l:mode ==# 'V' || l:mode ==# 's' || l:mode ==# 'S' + let b:airline_wordcount = airline#extensions#wordcount#formatters#{s:formatter}#format() + let b:airline_change_tick = b:changedtick + else + if get(b:, 'airline_wordcount_cache', '') is# '' || + \ b:airline_wordcount_cache isnot# get(b:, 'airline_wordcount', '') || + \ get(b:, 'airline_change_tick', 0) != b:changedtick + " cache data + let b:airline_wordcount = airline#extensions#wordcount#formatters#{s:formatter}#format() + let b:airline_wordcount_cache = b:airline_wordcount + let b:airline_change_tick = b:changedtick + endif + endif endif endfunction @@ -41,4 +34,3 @@ function! airline#extensions#wordcount#init(ext) call a:ext.add_statusline_func('airline#extensions#wordcount#apply') autocmd BufReadPost,CursorMoved,CursorMovedI * call s:update() endfunction - diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount/formatters/default.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount/formatters/default.vim new file mode 100644 index 00000000..8f1293fa --- /dev/null +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/wordcount/formatters/default.vim @@ -0,0 +1,58 @@ +" MIT License. Copyright (c) 2013-2016 Bailey Ling. +" vim: et ts=2 sts=2 sw=2 + +function! airline#extensions#wordcount#formatters#default#format() + let words = string(s:wordcount()) + if empty(words) + return + endif + let separator = s:get_decimal_group() + if words > 999 && !empty(separator) + " Format number according to locale, e.g. German: 1.245 or English: 1,245 + let a = join(reverse(split(words, '.\zs')),'') + let a = substitute(a, '...', '&'.separator, 'g') + let words = join(reverse(split(a, '.\zs')),'') + endif + return words . " words" . g:airline_symbols.space . g:airline_right_alt_sep . g:airline_symbols.space +endfunction + +function! s:wordcount() + if exists("*wordcount") + let l:mode = mode() + if l:mode ==# 'v' || l:mode ==# 'V' || l:mode ==# 's' || l:mode ==# 'S' + let l:visual_words = wordcount()['visual_words'] + if l:visual_words != '' + return l:visual_words + else + return 0 + endif + else + return wordcount()['words'] + endif + elseif mode() =~? 's' + return + else + let old_status = v:statusmsg + let position = getpos(".") + exe "silent normal! g\" + let stat = v:statusmsg + call setpos('.', position) + let v:statusmsg = old_status + + let parts = split(stat) + if len(parts) > 11 + return str2nr(parts[11]) + else + return + endif + endif +endfunction + +function s:get_decimal_group() + if match(v:lang, '\v\cC|en') > -1 + return ',' + elseif match(v:lang, '\v\cde|dk|fr|pt') > -1 + return '.' + endif + return '' +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/extensions/ycm.vim b/sources_non_forked/vim-airline/autoload/airline/extensions/ycm.vim new file mode 100644 index 00000000..dc44c0e7 --- /dev/null +++ b/sources_non_forked/vim-airline/autoload/airline/extensions/ycm.vim @@ -0,0 +1,36 @@ +" MIT License. Copyright (c) 2015 Evgeny Firsov. +" vim: et ts=2 sts=2 sw=2 + +let s:spc = g:airline_symbols.space +let s:error_symbol = get(g:, 'airline#extensions#ycm#error_symbol', 'E:') +let s:warning_symbol = get(g:, 'airline#extensions#ycm#warning_symbol', 'W:') + +function! airline#extensions#ycm#init(ext) + call airline#parts#define_function('ycm_error_count', 'airline#extensions#ycm#get_error_count') + call airline#parts#define_function('ycm_warning_count', 'airline#extensions#ycm#get_warning_count') +endfunction + +function! airline#extensions#ycm#get_error_count() + if exists(':YcmDiag') + let cnt = youcompleteme#GetErrorCount() + + if cnt != 0 + return s:error_symbol.cnt + endif + endif + + return '' +endfunction + +function! airline#extensions#ycm#get_warning_count() + if exists(':YcmDiag') + let cnt = youcompleteme#GetWarningCount() + + if cnt != 0 + return s:warning_symbol.cnt.s:spc + endif + endif + + return '' +endfunction + diff --git a/sources_non_forked/vim-airline/autoload/airline/highlighter.vim b/sources_non_forked/vim-airline/autoload/airline/highlighter.vim index 0d3dce9b..3d30d69e 100644 --- a/sources_non_forked/vim-airline/autoload/airline/highlighter.vim +++ b/sources_non_forked/vim-airline/autoload/airline/highlighter.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:is_win32term = (has('win32') || has('win64')) && !has('gui_running') && (empty($CONEMUBUILD) || &term !=? 'xterm') @@ -9,25 +9,23 @@ let s:accents = {} function! s:gui2cui(rgb, fallback) if a:rgb == '' return a:fallback + elseif match(a:rgb, '^\%(NONE\|[fb]g\)$') > -1 + return a:rgb endif - let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') - let rgb = [rgb[0] > 127 ? 4 : 0, rgb[1] > 127 ? 2 : 0, rgb[2] > 127 ? 1 : 0] - return rgb[0]+rgb[1]+rgb[2] + let rgb = map(split(a:rgb[1:], '..\zs'), '0 + ("0x".v:val)') + return airline#msdos#round_msdos_colors(rgb) endfunction function! s:get_syn(group, what) - " need to pass in mode, known to break on 7.3.547 - let mode = has('gui_running') || (has("termtruecolor") && &guicolors == 1) ? 'gui' : 'cterm' - let color = synIDattr(synIDtrans(hlID(a:group)), a:what, mode) + if !exists("g:airline_gui_mode") + let g:airline_gui_mode = airline#init#gui_mode() + endif + let color = synIDattr(synIDtrans(hlID(a:group)), a:what, g:airline_gui_mode) if empty(color) || color == -1 - let color = synIDattr(synIDtrans(hlID('Normal')), a:what, mode) + let color = synIDattr(synIDtrans(hlID('Normal')), a:what, g:airline_gui_mode) endif if empty(color) || color == -1 - if has('gui_running') || (has("termtruecolor") && &guicolors == 1) - let color = a:what ==# 'fg' ? '#000000' : '#FFFFFF' - else - let color = a:what ==# 'fg' ? 0 : 1 - endif + let color = 'NONE' endif return color endfunction @@ -35,7 +33,7 @@ endfunction function! s:get_array(fg, bg, opts) let fg = a:fg let bg = a:bg - return has('gui_running') || (has("termtruecolor") && &guicolors == 1) + return g:airline_gui_mode ==# 'gui' \ ? [ fg, bg, '', '', join(a:opts, ',') ] \ : [ '', '', fg, bg, join(a:opts, ',') ] endfunction @@ -43,7 +41,7 @@ endfunction function! airline#highlighter#get_highlight(group, ...) let fg = s:get_syn(a:group, 'fg') let bg = s:get_syn(a:group, 'bg') - let reverse = has('gui_running') || (has("termtruecolor") && &guicolors == 1) + let reverse = g:airline_gui_mode ==# 'gui' \ ? synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'gui') \ : synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm') \|| synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'term') @@ -57,23 +55,40 @@ function! airline#highlighter#get_highlight2(fg, bg, ...) endfunction function! airline#highlighter#exec(group, colors) + if pumvisible() + return + endif let colors = a:colors if s:is_win32term let colors[2] = s:gui2cui(get(colors, 0, ''), get(colors, 2, '')) let colors[3] = s:gui2cui(get(colors, 1, ''), get(colors, 3, '')) endif - exec printf('hi %s %s %s %s %s %s %s %s', - \ a:group, - \ get(colors, 0, '') != '' ? 'guifg='.colors[0] : '', - \ get(colors, 1, '') != '' ? 'guibg='.colors[1] : '', - \ get(colors, 2, '') != '' ? 'ctermfg='.colors[2] : '', - \ get(colors, 3, '') != '' ? 'ctermbg='.colors[3] : '', - \ get(colors, 4, '') != '' ? 'gui='.colors[4] : '', - \ get(colors, 4, '') != '' ? 'cterm='.colors[4] : '', - \ get(colors, 4, '') != '' ? 'term='.colors[4] : '') + let cmd= printf('hi %s %s %s %s %s %s %s %s', + \ a:group, s:Get(colors, 0, 'guifg=', ''), s:Get(colors, 1, 'guibg=', ''), + \ s:Get(colors, 2, 'ctermfg=', ''), s:Get(colors, 3, 'ctermbg=', ''), + \ s:Get(colors, 4, 'gui=', ''), s:Get(colors, 4, 'cterm=', ''), + \ s:Get(colors, 4, 'term=', '')) + let old_hi = airline#highlighter#get_highlight(a:group) + if len(colors) == 4 + call add(colors, '') + endif + if old_hi != colors + exe cmd + endif +endfunction + +function! s:Get(dict, key, prefix, default) + if get(a:dict, a:key, a:default) isnot# a:default + return a:prefix. get(a:dict, a:key) + else + return '' + endif endfunction function! s:exec_separator(dict, from, to, inverse, suffix) + if pumvisible() + return + endif let l:from = airline#themes#get_highlight(a:from.a:suffix) let l:to = airline#themes#get_highlight(a:to.a:suffix) let group = a:from.'_to_'.a:to.a:suffix @@ -87,6 +102,9 @@ function! s:exec_separator(dict, from, to, inverse, suffix) endfunction function! airline#highlighter#load_theme() + if pumvisible() + return + endif for winnr in filter(range(1, winnr('$')), 'v:val != winnr()') call airline#highlighter#highlight_modified_inactive(winbufnr(winnr)) endfor diff --git a/sources_non_forked/vim-airline/autoload/airline/init.vim b/sources_non_forked/vim-airline/autoload/airline/init.vim index f8e29639..470c2c9a 100644 --- a/sources_non_forked/vim-airline/autoload/airline/init.vim +++ b/sources_non_forked/vim-airline/autoload/airline/init.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 function! s:check_defined(variable, default) @@ -27,6 +27,7 @@ function! airline#init#bootstrap() call s:check_defined('g:airline_exclude_filenames', ['DebuggerWatch','DebuggerStack','DebuggerStatus']) call s:check_defined('g:airline_exclude_filetypes', []) call s:check_defined('g:airline_exclude_preview', 0) + call s:check_defined('g:airline_gui_mode', airline#init#gui_mode()) call s:check_defined('g:airline_mode_map', {}) call extend(g:airline_mode_map, { @@ -56,11 +57,12 @@ function! airline#init#bootstrap() call s:check_defined('g:airline_symbols', {}) call extend(g:airline_symbols, { - \ 'paste': get(g:, 'airline_paste_symbol', 'PASTE'), - \ 'readonly': get(g:, 'airline_readonly_symbol', get(g:, 'airline_powerline_fonts', 0) ? "\ue0a2" : 'RO'), + \ 'paste': 'PASTE', + \ 'readonly': get(g:, 'airline_powerline_fonts', 0) ? "\ue0a2" : 'RO', \ 'whitespace': get(g:, 'airline_powerline_fonts', 0) ? "\u2739" : '!', - \ 'linenr': get(g:, 'airline_linecolumn_prefix', get(g:, 'airline_powerline_fonts', 0) ? "\ue0a1" : ':' ), - \ 'branch': get(g:, 'airline_branch_prefix', get(g:, 'airline_powerline_fonts', 0) ? "\ue0a0" : ''), + \ 'linenr': get(g:, 'airline_powerline_fonts', 0) ? "\ue0a1" : ':', + \ 'branch': get(g:, 'airline_powerline_fonts', 0) ? "\ue0a0" : '', + \ 'notexists': "\u2204", \ 'modified': '+', \ 'space': ' ', \ 'crypt': get(g:, 'airline_crypt_symbol', nr2char(0x1F512)), @@ -80,14 +82,23 @@ function! airline#init#bootstrap() \ }) call airline#parts#define_raw('file', '%f%m') call airline#parts#define_raw('path', '%F%m') - call airline#parts#define_raw('linenr', '%{g:airline_symbols.linenr}%#__accent_bold#%4l%#__restore__#') + call airline#parts#define('linenr', { + \ 'raw': '%{g:airline_symbols.linenr}%#__accent_bold#%4l%#__restore__#', + \ 'accent': 'bold'}) call airline#parts#define_function('ffenc', 'airline#parts#ffenc') - call airline#parts#define_empty(['hunks', 'branch', 'tagbar', 'syntastic', 'eclim', 'whitespace','windowswap']) + call airline#parts#define_empty(['hunks', 'branch', 'tagbar', 'syntastic', + \ 'eclim', 'whitespace','windowswap', 'ycm_error_count', 'ycm_warning_count']) call airline#parts#define_text('capslock', '') unlet g:airline#init#bootstrapping endfunction +function! airline#init#gui_mode() + return ((has('nvim') && exists('$NVIM_TUI_ENABLE_TRUE_COLOR')) + \ || has('gui_running') || (has("termtruecolor") && &guicolors == 1)) ? + \ 'gui' : 'cterm' +endfunction + function! airline#init#sections() let spc = g:airline_symbols.space if !exists('g:airline_section_a') @@ -97,7 +108,7 @@ function! airline#init#sections() let g:airline_section_b = airline#section#create(['hunks', 'branch']) endif if !exists('g:airline_section_c') - if &autochdir == 1 + if exists("+autochdir") && &autochdir == 1 let g:airline_section_c = airline#section#create(['%<', 'path', spc, 'readonly']) else let g:airline_section_c = airline#section#create(['%<', 'file', spc, 'readonly']) @@ -115,8 +126,11 @@ function! airline#init#sections() if !exists('g:airline_section_z') let g:airline_section_z = airline#section#create(['windowswap', '%3p%%'.spc, 'linenr', ':%3v ']) endif + if !exists('g:airline_section_error') + let g:airline_section_error = airline#section#create(['ycm_error_count', 'syntastic', 'eclim']) + endif if !exists('g:airline_section_warning') - let g:airline_section_warning = airline#section#create(['syntastic', 'eclim', 'whitespace']) + let g:airline_section_warning = airline#section#create(['ycm_warning_count', 'whitespace']) endif endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/msdos.vim b/sources_non_forked/vim-airline/autoload/airline/msdos.vim new file mode 100644 index 00000000..92e9bb52 --- /dev/null +++ b/sources_non_forked/vim-airline/autoload/airline/msdos.vim @@ -0,0 +1,57 @@ +" MIT License. Copyright (c) 2013-2016 Bailey Ling. +" vim: et ts=2 sts=2 sw=2 + +" basic 16 msdos from MSDOS +" see output of color, should be +" 0 Black +" 1 DarkBlue +" 2 DarkGreen +" 3 DarkCyan +" 4 DarkRed +" 5 DarkMagenta +" 6 Brown +" 7 LightGray +" 8 DarkGray +" 9 Blue +" 10 Green +" 11 Cyan +" 12 Red +" 13 Magenta +" 14 Yellow +" 15 White + +let s:basic16 = [ + \ [ 0x00, 0x00, 0x00 ], + \ [ 0x00, 0x00, 0x80 ], + \ [ 0x00, 0x80, 0x00 ], + \ [ 0x00, 0x80, 0x80 ], + \ [ 0x80, 0x00, 0x00 ], + \ [ 0x80, 0x00, 0x80 ], + \ [ 0x80, 0x80, 0x00 ], + \ [ 0xC0, 0xC0, 0xC0 ], + \ [ 0x80, 0x80, 0x80 ], + \ [ 0x00, 0x00, 0xFF ], + \ [ 0x00, 0xFF, 0x00 ], + \ [ 0x00, 0xFF, 0xFF ], + \ [ 0xFF, 0x00, 0x00 ], + \ [ 0xFF, 0x00, 0xFF ], + \ [ 0xFF, 0xFF, 0x00 ], + \ [ 0xFF, 0xFF, 0xFF ] + \ ] + +function! airline#msdos#round_msdos_colors(rgblist) + " Check for values from MSDOS 16 color terminal + let best = [] + let min = 100000 + let list = s:basic16 + for value in list + let t = abs(value[0] - a:rgblist[0]) + + \ abs(value[1] - a:rgblist[1]) + + \ abs(value[2] - a:rgblist[2]) + if min > t + let min = t + let best = value + endif + endfor + return index(s:basic16, best) +endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/parts.vim b/sources_non_forked/vim-airline/autoload/airline/parts.vim index 45761bda..cd0a5c67 100644 --- a/sources_non_forked/vim-airline/autoload/airline/parts.vim +++ b/sources_non_forked/vim-airline/autoload/airline/parts.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 let s:parts = {} @@ -78,6 +78,6 @@ function! airline#parts#filetype() endfunction function! airline#parts#ffenc() - return printf('%s%s', &fenc, strlen(&ff) > 0 ? '['.&ff.']' : '') + return printf('%s%s%s', &fenc, &l:bomb ? '[BOM]' : '', strlen(&ff) > 0 ? '['.&ff.']' : '') endfunction diff --git a/sources_non_forked/vim-airline/autoload/airline/section.vim b/sources_non_forked/vim-airline/autoload/airline/section.vim index 4ab7b268..2e94d4e7 100644 --- a/sources_non_forked/vim-airline/autoload/airline/section.vim +++ b/sources_non_forked/vim-airline/autoload/airline/section.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 call airline#init#bootstrap() diff --git a/sources_non_forked/vim-airline/autoload/airline/themes.vim b/sources_non_forked/vim-airline/autoload/airline/themes.vim index 9387954e..920a225b 100644 --- a/sources_non_forked/vim-airline/autoload/airline/themes.vim +++ b/sources_non_forked/vim-airline/autoload/airline/themes.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 " generates a dictionary which defines the colors for each highlight group @@ -39,6 +39,9 @@ function! airline#themes#patch(palette) if !has_key(a:palette[mode], 'airline_warning') let a:palette[mode]['airline_warning'] = [ '#000000', '#df5f00', 232, 166 ] endif + if !has_key(a:palette[mode], 'airline_error') + let a:palette[mode]['airline_error'] = [ '#000000', '#990000', 232, 160 ] + endif endfor let a:palette.accents = get(a:palette, 'accents', {}) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/badwolf.vim b/sources_non_forked/vim-airline/autoload/airline/themes/badwolf.vim deleted file mode 100644 index e2b90063..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/badwolf.vim +++ /dev/null @@ -1,52 +0,0 @@ -let s:N1 = [ '#141413' , '#aeee00' , 232 , 154 ] " blackestgravel & lime -let s:N2 = [ '#f4cf86' , '#45413b' , 222 , 238 ] " dirtyblonde & deepgravel -let s:N3 = [ '#8cffba' , '#242321' , 121 , 235 ] " saltwatertaffy & darkgravel -let s:N4 = [ '#666462' , 241 ] " mediumgravel - -let s:I1 = [ '#141413' , '#0a9dff' , 232 , 39 ] " blackestgravel & tardis -let s:I2 = [ '#f4cf86' , '#005fff' , 222 , 27 ] " dirtyblonde & facebook -let s:I3 = [ '#0a9dff' , '#242321' , 39 , 235 ] " tardis & darkgravel - -let s:V1 = [ '#141413' , '#ffa724' , 232 , 214 ] " blackestgravel & orange -let s:V2 = [ '#000000' , '#fade3e' , 16 , 221 ] " coal & dalespale -let s:V3 = [ '#000000' , '#b88853' , 16 , 137 ] " coal & toffee -let s:V4 = [ '#c7915b' , 173 ] " coffee - -let s:PA = [ '#f4cf86' , 222 ] " dirtyblonde -let s:RE = [ '#ff9eb8' , 211 ] " dress - -let s:IA = [ s:N3[1] , s:N2[1] , s:N3[3] , s:N2[3] , '' ] - -let g:airline#themes#badwolf#palette = {} - -let g:airline#themes#badwolf#palette.accents = { - \ 'red': [ '#ff2c4b' , '' , 196 , '' , '' ] - \ } - -let g:airline#themes#badwolf#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#badwolf#palette.normal_modified = { - \ 'airline_b': [ s:N2[0] , s:N4[0] , s:N2[2] , s:N4[1] , '' ] , - \ 'airline_c': [ s:V1[1] , s:N2[1] , s:V1[3] , s:N2[3] , '' ] } - - -let g:airline#themes#badwolf#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#badwolf#palette.insert_modified = { - \ 'airline_c': [ s:V1[1] , s:N2[1] , s:V1[3] , s:N2[3] , '' ] } -let g:airline#themes#badwolf#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] } - - -let g:airline#themes#badwolf#palette.replace = copy(airline#themes#badwolf#palette.insert) -let g:airline#themes#badwolf#palette.replace.airline_a = [ s:I1[0] , s:RE[0] , s:I1[2] , s:RE[1] , '' ] -let g:airline#themes#badwolf#palette.replace_modified = g:airline#themes#badwolf#palette.insert_modified - - -let g:airline#themes#badwolf#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#badwolf#palette.visual_modified = { - \ 'airline_c': [ s:V3[0] , s:V4[0] , s:V3[2] , s:V4[1] , '' ] } - - -let g:airline#themes#badwolf#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#badwolf#palette.inactive_modified = { - \ 'airline_c': [ s:V1[1] , '' , s:V1[3] , '' , '' ] } - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/base16.vim b/sources_non_forked/vim-airline/autoload/airline/themes/base16.vim deleted file mode 100644 index 0ecbe3b0..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/base16.vim +++ /dev/null @@ -1,136 +0,0 @@ -if get(g:, 'airline#themes#base16#constant', 0) - let g:airline#themes#base16#palette = {} - - " Color palette - let s:gui_dark_gray = '#202020' - let s:cterm_dark_gray = 234 - let s:gui_med_gray_hi = '#303030' - let s:cterm_med_gray_hi = 236 - let s:gui_med_gray_lo = '#3a3a3a' - let s:cterm_med_gray_lo = 237 - let s:gui_light_gray = '#505050' - let s:cterm_light_gray = 239 - let s:gui_green = '#99cc99' - let s:cterm_green = 151 - let s:gui_blue = '#6a9fb5' - let s:cterm_blue = 67 - let s:gui_purple = '#aa759f' - let s:cterm_purple = 139 - let s:gui_orange = '#d28445' - let s:cterm_orange = 173 - let s:gui_red = '#ac4142' - let s:cterm_red = 131 - let s:gui_pink = '#d7afd7' - let s:cterm_pink = 182 - - " Normal mode - let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green] - let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo] - let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi] - let g:airline#themes#base16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let g:airline#themes#base16#palette.normal_modified = { - \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''], - \ } - - " Insert mode - let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue] - let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi] - let g:airline#themes#base16#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3) - let g:airline#themes#base16#palette.insert_modified = copy(g:airline#themes#base16#palette.normal_modified) - let g:airline#themes#base16#palette.insert_paste = { - \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''], - \ } - - " Replace mode - let g:airline#themes#base16#palette.replace = { - \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''], - \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''], - \ } - let g:airline#themes#base16#palette.replace_modified = copy(g:airline#themes#base16#palette.insert_modified) - - " Visual mode - let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink] - let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi] - let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3) - let g:airline#themes#base16#palette.visual_modified = copy(g:airline#themes#base16#palette.insert_modified) - - " Inactive window - let s:IA = [s:gui_dark_gray, s:gui_med_gray_hi, s:cterm_dark_gray, s:cterm_med_gray_hi, ''] - let g:airline#themes#base16#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#base16#palette.inactive_modified = { - \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''], - \ } -else - function! airline#themes#base16#refresh() - let g:airline#themes#base16#palette = {} - - let g:airline#themes#base16#palette.accents = { - \ 'red': airline#themes#get_highlight('Constant'), - \ } - - let s:N1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['DiffText', 'fg'], 'bold') - let s:N2 = airline#themes#get_highlight2(['Visual', 'fg'], ['Visual', 'bg']) - let s:N3 = airline#themes#get_highlight('CursorLine') - let g:airline#themes#base16#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - - let group = airline#themes#get_highlight('vimCommand') - let g:airline#themes#base16#palette.normal_modified = { - \ 'statusline': [ group[0], '', group[2], '', '' ] - \ } - - let s:I1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['DiffAdded', 'fg'], 'bold') - let s:I2 = airline#themes#get_highlight2(['DiffAdded', 'fg'], ['Normal', 'bg']) - let s:I3 = s:N3 - let g:airline#themes#base16#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#base16#palette.insert_modified = g:airline#themes#base16#palette.normal_modified - - let s:R1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['WarningMsg', 'fg'], 'bold') - let s:R2 = s:N2 - let s:R3 = s:N3 - let g:airline#themes#base16#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#base16#palette.replace_modified = g:airline#themes#base16#palette.normal_modified - - let s:V1 = airline#themes#get_highlight2(['DiffText', 'bg'], ['Constant', 'fg'], 'bold') - let s:V2 = airline#themes#get_highlight2(['Constant', 'fg'], ['Normal', 'bg']) - let s:V3 = s:N3 - let g:airline#themes#base16#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#base16#palette.visual_modified = g:airline#themes#base16#palette.normal_modified - - let s:IA = airline#themes#get_highlight2(['NonText', 'fg'], ['CursorLine', 'bg']) - let g:airline#themes#base16#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#base16#palette.inactive_modified = { - \ 'airline_c': [ group[0], '', group[2], '', '' ] - \ } - - " Warnings - let s:WI = airline#themes#get_highlight2(['WarningMsg', 'bg'], ['WarningMsg', 'fg'], 'bold') - let g:airline#themes#base16#palette.normal.airline_warning = [ - \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] - \ ] - - let g:airline#themes#base16#palette.normal_modified.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - - let g:airline#themes#base16#palette.insert.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - let g:airline#themes#base16#palette.insert_modified.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - let g:airline#themes#base16#palette.visual.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - let g:airline#themes#base16#palette.visual_modified.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - let g:airline#themes#base16#palette.replace.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - let g:airline#themes#base16#palette.replace_modified.airline_warning = - \ g:airline#themes#base16#palette.normal.airline_warning - - endfunction - call airline#themes#base16#refresh() -endif - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/behelit.vim b/sources_non_forked/vim-airline/autoload/airline/themes/behelit.vim deleted file mode 100644 index 77f551c7..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/behelit.vim +++ /dev/null @@ -1,58 +0,0 @@ -let g:airline#themes#behelit#palette = {} - -" Normal mode -let s:N1 = [ '#121212', '#5f87ff', 233, 69 ] -let s:N2 = [ '#5f87ff', '#262626', 69 , 235 ] -let s:N3 = [ '#5f87ff', '#1c1c1c', 69 , 234, 'bold' ] -let g:airline#themes#behelit#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#behelit#palette.normal_modified = { - \ 'airline_c': [ '#d7005f', '#1c1c1c', 161, 234, 'bold' ], - \ } - -" Insert mode -let s:I1 = [ '#121212', '#00ff87', 233, 48 ] -let s:I2 = s:N2 -let s:I3 = s:N3 -let g:airline#themes#behelit#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#behelit#palette.insert_modified = g:airline#themes#behelit#palette.normal_modified -let g:airline#themes#behelit#palette.insert_paste = { - \ 'airline_a': [ "#121212", "#5f5faf", 233, 61, '' ], - \ } - -" Replace mode -let g:airline#themes#behelit#palette.replace = copy(g:airline#themes#behelit#palette.insert) -let g:airline#themes#behelit#palette.replace.airline_a = [ s:I1[0], '#d70057', s:I1[2], 161, '' ] -let g:airline#themes#behelit#palette.replace_modified = g:airline#themes#behelit#palette.insert_modified - -" Visual mode -let s:V1 = [ '#121212', '#5fff5f', 233, 83 ] -let s:V2 = s:N2 -let s:V3 = s:N3 -let g:airline#themes#behelit#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#behelit#palette.visual_modified = g:airline#themes#behelit#palette.normal_modified - -" Inactive window -let s:IA1 = [ '#4e4e4e', '#1c1c1c', 239, 234, '' ] -let s:IA2 = [ '#4e4e4e', '#262626', 239, 235, '' ] -let s:IA3 = [ '#4e4e4e', '#1c1c1c', 239, 234, 'bold' ] -let g:airline#themes#behelit#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) -let g:airline#themes#behelit#palette.inactive_modified = { - \ 'airline_c': [ '#5f5f87', '#1c1c1c', 60, 234, 'bold' ], - \ } - -" Accents -let g:airline#themes#behelit#palette.accents = { - \ 'red': [ '#d7005f', '', 161, '' ] - \ } - -" Warnings -let s:WI = [ '#121212', '#d7005f', 233, 161 ] -let g:airline#themes#behelit#palette.normal.airline_warning = s:WI -let g:airline#themes#behelit#palette.normal_modified.airline_warning = s:WI -let g:airline#themes#behelit#palette.insert.airline_warning = s:WI -let g:airline#themes#behelit#palette.insert_modified.airline_warning = s:WI -let g:airline#themes#behelit#palette.insert_paste.airline_warning = s:WI -let g:airline#themes#behelit#palette.visual.airline_warning = s:WI -let g:airline#themes#behelit#palette.visual_modified.airline_warning = s:WI -let g:airline#themes#behelit#palette.replace.airline_warning = s:WI -let g:airline#themes#behelit#palette.replace_modified.airline_warning = s:WI diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/bubblegum.vim b/sources_non_forked/vim-airline/autoload/airline/themes/bubblegum.vim deleted file mode 100644 index f2378ce8..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/bubblegum.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Color palette -let s:gui_dark_gray = '#303030' -let s:cterm_dark_gray = 236 -let s:gui_med_gray_hi = '#444444' -let s:cterm_med_gray_hi = 238 -let s:gui_med_gray_lo = '#3a3a3a' -let s:cterm_med_gray_lo = 237 -let s:gui_light_gray = '#b2b2b2' -let s:cterm_light_gray = 249 -let s:gui_green = '#afd787' -let s:cterm_green = 150 -let s:gui_blue = '#87afd7' -let s:cterm_blue = 110 -let s:gui_purple = '#afafd7' -let s:cterm_purple = 146 -let s:gui_orange = '#d7af5f' -let s:cterm_orange = 179 -let s:gui_red = '#d78787' -let s:cterm_red = 174 -let s:gui_pink = '#d7afd7' -let s:cterm_pink = 182 - -let g:airline#themes#bubblegum#palette = {} - -" Normal mode -let s:N1 = [s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green] -let s:N2 = [s:gui_light_gray, s:gui_med_gray_lo, s:cterm_light_gray, s:cterm_med_gray_lo] -let s:N3 = [s:gui_green, s:gui_med_gray_hi, s:cterm_green, s:cterm_med_gray_hi] -let g:airline#themes#bubblegum#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#bubblegum#palette.normal_modified = { - \ 'airline_c': [s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, ''], - \ } - -" Insert mode -let s:I1 = [s:gui_med_gray_hi, s:gui_blue, s:cterm_med_gray_hi, s:cterm_blue] -let s:I3 = [s:gui_blue, s:gui_med_gray_hi, s:cterm_blue, s:cterm_med_gray_hi] -let g:airline#themes#bubblegum#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:I3) -let g:airline#themes#bubblegum#palette.insert_modified = copy(g:airline#themes#bubblegum#palette.normal_modified) -let g:airline#themes#bubblegum#palette.insert_paste = { - \ 'airline_a': [s:gui_dark_gray, s:gui_orange, s:cterm_dark_gray, s:cterm_orange, ''], - \ } - -" Replace mode -let g:airline#themes#bubblegum#palette.replace = { - \ 'airline_a': [s:gui_dark_gray, s:gui_red, s:cterm_dark_gray, s:cterm_red, ''], - \ 'airline_c': [s:gui_red, s:gui_med_gray_hi, s:cterm_red, s:cterm_med_gray_hi, ''], - \ } -let g:airline#themes#bubblegum#palette.replace_modified = copy(g:airline#themes#bubblegum#palette.insert_modified) - -" Visual mode -let s:V1 = [s:gui_dark_gray, s:gui_pink, s:cterm_dark_gray, s:cterm_pink] -let s:V3 = [s:gui_pink, s:gui_med_gray_hi, s:cterm_pink, s:cterm_med_gray_hi] -let g:airline#themes#bubblegum#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:V3) -let g:airline#themes#bubblegum#palette.visual_modified = copy(g:airline#themes#bubblegum#palette.insert_modified) - -" Inactive window -let s:IA = [s:gui_light_gray, s:gui_med_gray_hi, s:cterm_light_gray, s:cterm_med_gray_hi, ''] -let g:airline#themes#bubblegum#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#bubblegum#palette.inactive_modified = { - \ 'airline_c': [s:gui_orange, '', s:cterm_orange, '', ''], - \ } - -" CtrlP -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#bubblegum#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ s:gui_orange, s:gui_med_gray_hi, s:cterm_orange, s:cterm_med_gray_hi, '' ] , - \ [ s:gui_orange, s:gui_med_gray_lo, s:cterm_orange, s:cterm_med_gray_lo, '' ] , - \ [ s:gui_dark_gray, s:gui_green, s:cterm_dark_gray, s:cterm_green, 'bold' ] ) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/distinguished.vim b/sources_non_forked/vim-airline/autoload/airline/themes/distinguished.vim deleted file mode 100644 index 0d65f4c4..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/distinguished.vim +++ /dev/null @@ -1,59 +0,0 @@ -" vim-airline companion theme of distinguished -" (https://github.com/Lokaltog/vim-distinguished) -" I have nothing to do with the original -" distinguished theme other than being a big fan. -" this theme was shamelessly created by modifying -" the Ubaryd airline theme. - -let s:gray = [245, '#8a8a8a'] -let s:golden = [143, '#afaf5f'] -let s:pink = [131, '#af5f5f'] -let s:blue = [ 67, '#5f87af'] -let s:orange = [166, '#d75f00'] -let s:outerfg = [ 16, '#000000'] -let s:innerbg = [234, '#1c1c1c'] -let s:middle = ['#bcbcbc', '#444444', 250, 238] - -" Normal mode -let s:N1 = [s:outerfg[1], s:gray[1], s:outerfg[0], s:gray[0]] -let s:N3 = [s:gray[1], s:innerbg[1], s:gray[0], s:innerbg[0]] - -" Insert mode -let s:I1 = [s:outerfg[1], s:golden[1], s:outerfg[0], s:golden[0]] -let s:I3 = [s:golden[1], s:innerbg[1], s:golden[0], s:innerbg[0]] - -" Visual mode -let s:V1 = [s:outerfg[1], s:pink[1], s:outerfg[0], s:pink[0]] -let s:V3 = [s:pink[1], s:innerbg[1], s:pink[0], s:innerbg[0]] - -" Replace mode -let s:R1 = [s:outerfg[1], s:blue[1], s:outerfg[0], s:blue[0]] -let s:R3 = [s:blue[1], s:innerbg[1], s:blue[0], s:innerbg[0]] - -" Inactive pane -let s:IA = [s:middle[1], s:innerbg[1], s:middle[3], s:innerbg[0]] - -let g:airline#themes#distinguished#palette = {} -let g:airline#themes#distinguished#palette.accents = { - \ 'red': ['#d70000', '', 160, '', '']} - -let g:airline#themes#distinguished#palette.inactive = { - \ 'airline_a': s:IA, - \ 'airline_b': s:IA, - \ 'airline_c': s:IA} - -let g:airline#themes#distinguished#palette.normal = airline#themes#generate_color_map(s:N1, s:middle, s:N3) -let g:airline#themes#distinguished#palette.normal_modified = { - \ 'airline_a': ['', s:orange[1], '', s:orange[0], ''], - \ 'airline_c': [s:orange[1], '', s:orange[0], '', ''], - \ 'airline_x': [s:orange[1], '', s:orange[0], '', ''], - \ 'airline_z': ['', s:orange[1], '', s:orange[0], '']} - -let g:airline#themes#distinguished#palette.insert = airline#themes#generate_color_map(s:I1, s:middle, s:I3) -let g:airline#themes#distinguished#palette.insert_modified = {} - -let g:airline#themes#distinguished#palette.replace = airline#themes#generate_color_map(s:R1, s:middle, s:R3) -let g:airline#themes#distinguished#palette.replace_modified = {} - -let g:airline#themes#distinguished#palette.visual = airline#themes#generate_color_map(s:V1, s:middle, s:V3) -let g:airline#themes#distinguished#palette.visual_modified = {} diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/durant.vim b/sources_non_forked/vim-airline/autoload/airline/themes/durant.vim deleted file mode 100644 index cb844d4e..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/durant.vim +++ /dev/null @@ -1,62 +0,0 @@ -let g:airline#themes#durant#palette = {} - - -let s:N1 = [ '#005f00' , '#afd700' , 22 , 148 ] -let s:N2 = [ '#93a1a1' , '#586e75' , 245 , 240 ] -let s:N3 = [ '#93a1a1' , '#073642' , 240 , 233 ] -let g:airline#themes#durant#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - - -let g:airline#themes#durant#normal_modified = { - \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , - \ } - - - -let s:I1 = [ '#ffffff' , '#00875f' , 255 , 29 ] -let s:I2 = [ '#9e9e9e' , '#303030' , 247 , 236 ] -let s:I3 = [ '#87d7ff' , '#005f87' , 117 , 24 ] -let g:airline#themes#durant#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#durant#palette.insert_modified = { - \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , - \ } -let g:airline#themes#durant#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , - \ } - - -let g:airline#themes#durant#palette.replace = copy(g:airline#themes#durant#palette.insert) -let g:airline#themes#durant#palette.replace.airline_a = [ s:I2[0] , '#af0000' , s:I2[2] , 124 , '' ] - -let g:airline#themes#durant#palette.replace_modified = g:airline#themes#durant#palette.insert_modified - -let s:V1 = [ '#1a1a18' , '#ffffff' , 232 , 255 ] -let s:V2 = [ '#ffffff' , '#44403a' , 255, 238 ] -let s:V3 = [ '#90a680' , '#2e2d2a' , 64, 235 ] -let g:airline#themes#durant#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#durant#palette.visual_modified = { - \ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] , - \ } - - -let s:IA1 = [ '#4e4e4e' , '#1c1c1c' , 239 , 234 , '' ] -let s:IA2 = [ '#4e4e4e' , '#262626' , 239 , 235 , '' ] -let s:IA3 = [ '#4e4e4e' , '#303030' , 239 , 236 , '' ] -let g:airline#themes#durant#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) -let g:airline#themes#durant#palette.inactive_modified = { - \ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] , - \ } - - -let g:airline#themes#durant#palette.accents = { - \ 'red': [ '#ff0000' , '' , 160 , '' ] - \ } - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif - let g:airline#themes#durant#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#d7d7ff' , '#5f00af' , 189 , 55 , '' ], - \ [ '#ffffff' , '#875fd7' , 231 , 98 , '' ], - \ [ '#5f00af' , '#ffffff' , 55 , 231 , 'bold' ]) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/hybrid.vim b/sources_non_forked/vim-airline/autoload/airline/themes/hybrid.vim deleted file mode 100644 index b0df8441..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/hybrid.vim +++ /dev/null @@ -1,58 +0,0 @@ -" vim-airline companion theme of Hybrid -" (https://github.com/w0ng/vim-hybrid) - -let g:airline#themes#hybrid#palette = {} - -function! airline#themes#hybrid#refresh() - let s:N1 = airline#themes#get_highlight('DiffAdd') - let s:N2 = airline#themes#get_highlight('CursorLine') - let s:N3 = airline#themes#get_highlight('PMenu') - let g:airline#themes#hybrid#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - - let modified_group = airline#themes#get_highlight2(['Text', 'fg'], ['SpellRare', 'bg'], 'bold') - let g:airline#themes#hybrid#palette.normal_modified = { - \ 'airline_c': airline#themes#get_highlight2(['Text', 'fg'], ['SpellRare', 'bg'], 'bold') - \ } - - let warning_group = airline#themes#get_highlight('SpellRare') - let g:airline#themes#hybrid#palette.normal.airline_warning = warning_group - let g:airline#themes#hybrid#palette.normal_modified.airline_warning = warning_group - - let s:I1 = airline#themes#get_highlight2(['Text', 'fg'], ['DiffText', 'bg'], 'bold') - let s:I2 = airline#themes#get_highlight2(['Text', 'fg'], ['SpellLocal', 'bg'], 'bold') - let s:I3 = airline#themes#get_highlight2(['Text', 'fg'], ['SpellCap', 'bg'], 'bold') - let g:airline#themes#hybrid#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#hybrid#palette.insert_modified = g:airline#themes#hybrid#palette.normal_modified - let g:airline#themes#hybrid#palette.insert.airline_warning = g:airline#themes#hybrid#palette.normal.airline_warning - let g:airline#themes#hybrid#palette.insert_modified.airline_warning = g:airline#themes#hybrid#palette.normal_modified.airline_warning - - let s:R1 = airline#themes#get_highlight('DiffChange') - let s:R2 = s:N2 - let s:R3 = s:N3 - let g:airline#themes#hybrid#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let replace_group = airline#themes#get_highlight('SpellRare') - let g:airline#themes#hybrid#palette.replace_modified = g:airline#themes#hybrid#palette.normal_modified - let g:airline#themes#hybrid#palette.replace.airline_warning = g:airline#themes#hybrid#palette.normal.airline_warning - let g:airline#themes#hybrid#palette.replace_modified.airline_warning = g:airline#themes#hybrid#palette.replace_modified.airline_warning - - let s:V1 = airline#themes#get_highlight2(['Text', 'fg'], ['Folded', 'bg'], 'bold') - let s:V2 = airline#themes#get_highlight2(['Text', 'fg'], ['DiffDelete', 'bg'], 'bold') - let s:V3 = airline#themes#get_highlight2(['Text', 'fg'], ['Error', 'bg'], 'bold') - let g:airline#themes#hybrid#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#hybrid#palette.visual_modified = g:airline#themes#hybrid#palette.normal_modified - let g:airline#themes#hybrid#palette.visual.airline_warning = g:airline#themes#hybrid#palette.normal.airline_warning - let g:airline#themes#hybrid#palette.visual_modified.airline_warning = g:airline#themes#hybrid#palette.normal_modified.airline_warning - - let s:IA = airline#themes#get_highlight('StatusLineNC') - let g:airline#themes#hybrid#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#hybrid#palette.inactive_modified = { - \ 'airline_c': [ modified_group[0], '', modified_group[2], '', '' ] - \ } - - let g:airline#themes#hybrid#palette.accents = { - \ 'red': airline#themes#get_highlight('Constant'), - \ } - -endfunction - -call airline#themes#hybrid#refresh() diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/hybridline.vim b/sources_non_forked/vim-airline/autoload/airline/themes/hybridline.vim deleted file mode 100644 index 84729c13..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/hybridline.vim +++ /dev/null @@ -1,34 +0,0 @@ -" vim-airline theme based on vim-hybrid and powerline -" (https://github.com/w0ng/vim-hybrid) -" (https://github.com/Lokaltog/powerline) - -let g:airline#themes#hybridline#palette = {} - -let s:N1 = [ '#282a2e' , '#c5c8c6' , 'black' , 15 ] -let s:N2 = [ '#c5c8c6' , '#373b41' , 15 , 8 ] -let s:N3 = [ '#ffffff' , '#282a2e' , 255 , 'black' ] -let g:airline#themes#hybridline#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#hybridline#palette.normal.airline_a = ['#005f00', '#b5bd68', 22, 10, ''] - -let s:I1 = [ '#005f5f' , '#8abeb7' , 23 , 14 ] -let s:I2 = [ '#c5c8c6' , '#0087af' , 15 , 31 ] -let s:I3 = [ '#ffffff' , '#005f87' , 255 , 24 ] -let g:airline#themes#hybridline#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#hybridline#palette.insert_paste = { - \ 'airline_a': ['#000000', '#ac4142', 16 , 1, ''] , - \ } - -let g:airline#themes#hybridline#palette.replace = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#hybridline#palette.replace.airline_a = ['#000000', '#CC6666', 16, 9] - -let g:airline#themes#hybridline#palette.visual = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#hybridline#palette.visual.airline_a = ['#000000', '#de935f', 16, 3] - -let s:IA1 = [ '#4e4e4e' , '#1c1c1c' , 239 , 234 , '' ] -let s:IA2 = [ '#4e4e4e' , '#262626' , 239 , 235 , '' ] -let s:IA3 = [ '#4e4e4e' , '#303030' , 239 , 236 , '' ] -let g:airline#themes#hybridline#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) - -let g:airline#themes#hybridline#palette.accents = { - \ 'red': [ '#ff0000' , '' , 160 , '' ] - \ } diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/jellybeans.vim b/sources_non_forked/vim-airline/autoload/airline/themes/jellybeans.vim deleted file mode 100644 index 201068c6..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/jellybeans.vim +++ /dev/null @@ -1,52 +0,0 @@ -let g:airline#themes#jellybeans#palette = {} - -" The name of the function must be 'refresh'. -function! airline#themes#jellybeans#refresh() - " This theme is an example of how to use helper functions to extract highlight - " values from the corresponding colorscheme. It was written in a hurry, so it - " is very minimalistic. If you are a jellybeans user and want to make updates, - " please send pull requests. - - " Here are examples where the entire highlight group is copied and an airline - " compatible color array is generated. - let s:N1 = airline#themes#get_highlight('DbgCurrent', 'bold') - let s:N2 = airline#themes#get_highlight('Folded') - let s:N3 = airline#themes#get_highlight('NonText') - - let g:airline#themes#jellybeans#palette.accents = { - \ 'red': airline#themes#get_highlight('Constant'), - \ } - - let g:airline#themes#jellybeans#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let g:airline#themes#jellybeans#palette.normal_modified = { - \ 'airline_c': [ '#ffb964', '', 215, '', '' ] - \ } - - let s:I1 = airline#themes#get_highlight('DiffAdd', 'bold') - let s:I2 = s:N2 - let s:I3 = s:N3 - let g:airline#themes#jellybeans#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#jellybeans#palette.insert_modified = g:airline#themes#jellybeans#palette.normal_modified - - let s:R1 = airline#themes#get_highlight('WildMenu', 'bold') - let s:R2 = s:N2 - let s:R3 = s:N3 - let g:airline#themes#jellybeans#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#jellybeans#palette.replace_modified = g:airline#themes#jellybeans#palette.normal_modified - - " Sometimes you want to mix and match colors from different groups, you can do - " that with this method. - let s:V1 = airline#themes#get_highlight2(['TabLineSel', 'bg'], ['DiffDelete', 'bg'], 'bold') - let s:V2 = s:N2 - let s:V3 = s:N3 - let g:airline#themes#jellybeans#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#jellybeans#palette.visual_modified = g:airline#themes#jellybeans#palette.normal_modified - - " And of course, you can always do it manually as well. - let s:IA = [ '#444444', '#1c1c1c', 237, 234 ] - let g:airline#themes#jellybeans#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#jellybeans#palette.inactive_modified = g:airline#themes#jellybeans#palette.normal_modified -endfunction - -call airline#themes#jellybeans#refresh() - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/kalisi.vim b/sources_non_forked/vim-airline/autoload/airline/themes/kalisi.vim deleted file mode 100644 index 78504fab..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/kalisi.vim +++ /dev/null @@ -1,70 +0,0 @@ -" -" Colorscheme: Kalisi for airline. Inspired by powerline. -" Arthur Jaron -" hifreeo@gmail.com -" 24.10.2014 - -" Visual mode -let s:V1 = [ '#0087ff' , '#ffffff','33','231'] -let s:V2 = [ '#005faf' , '#5fafff','25','75'] -let s:V3 = [ '#87d7ff' , '#005faf','117','25'] - -" Replace mode -let s:R1 = [ '#d75fff' , '#ffffff','171','231'] -let s:R2 = [ '#5f005f' , '#d75fff','53','171'] -let s:R3 = [ '#ff87ff' , '#8700af','213','91'] - -let g:airline#themes#kalisi#palette = {} - - -function! airline#themes#kalisi#refresh() - - let s:StatusLine = airline#themes#get_highlight('StatusLine') - let s:StatusLineNC = airline#themes#get_highlight('StatusLineNC') - - " Insert mode - let s:I1 = [ '#ffffff' , '#e80000','231','160'] - let s:I2 = [ '#ff0000' , '#5f0000','196','52'] - let s:I3 = s:StatusLine - - " Normal mode - let s:N1 = [ '#005f00' , '#afd700','22','148'] - let s:N2 = [ '#afd700' , '#005f00','148','22'] - let s:N3 = s:StatusLine - - " Tabline Plugin - let g:airline#themes#kalisi#palette.tabline = { - \ 'airline_tab': ['#bcbcbc', '#005f00','250','22'], - \ 'airline_tabsel': ['#404042', '#A6DB29','238','148'], - \ 'airline_tabtype':['#afd700', '#204d20','148','22'], - \ 'airline_tabfill': s:StatusLine, - \ 'airline_tabhid': ['#c5c5c5', '#404042','251','238'], - \ 'airline_tabmod': ['#d7ff00', '#afd700','190','148'], - \ 'airline_tabmod_unsel': ['#d7ff00', '#005f00','190','22'] - \ } - - let g:airline#themes#kalisi#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let g:airline#themes#kalisi#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#kalisi#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#kalisi#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - - " Inactive Mode - let s:IA = airline#themes#get_highlight('StatusLineNC') - let g:airline#themes#kalisi#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#kalisi#palette.inactive_modified = { - \ 'airline_c': ['#d7ff00', s:IA[1],'190',s:IA[3]], - \ } - -endfunction - -call airline#themes#kalisi#refresh() - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#kalisi#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ s:StatusLine, - \ ['#afd700', '#005f00','148','22'], - \ [ '#005f00' , '#afd700' , '22','148'] - \) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/kolor.vim b/sources_non_forked/vim-airline/autoload/airline/themes/kolor.vim deleted file mode 100644 index e61f56f2..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/kolor.vim +++ /dev/null @@ -1,59 +0,0 @@ -let g:airline#themes#kolor#palette = {} - -let s:N1 = [ '#e2e2e2' , '#4f3598' , 254 , 56 ] -let s:N2 = [ '#ff5fd7' , '#242322' , 206 , 234 ] -let s:N3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ] - -let g:airline#themes#kolor#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - -let g:airline#themes#kolor#palette.normal_modified = { - \ 'airline_c': [ '#e2e2e2' , '#4f3598' , 254 , 56 , '' ] , - \ } - - -let s:I1 = [ '#242322' , '#7eaefd' , 234 , 111 ] -let s:I2 = [ '#75d7d8' , '#242322' , 80 , 234 ] -let s:I3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ] -let g:airline#themes#kolor#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#kolor#palette.insert_modified = { - \ 'airline_c': [ '#242322' , '#7eaefd' , 234 , 111 , '' ] , - \ } - - -let g:airline#themes#kolor#palette.replace = copy(g:airline#themes#kolor#palette.insert) -let g:airline#themes#kolor#palette.replace.airline_a = [ s:I2[0] , '#005154' , s:I2[2] , 23 , '' ] -let g:airline#themes#kolor#palette.replace_modified = { - \ 'airline_c': [ '#e2e2e2' , '#005154' , 254 , 23 , '' ] , - \ } - - -let s:V1 = [ '#242322' , '#e6987a' , 234 , 180 ] -let s:V2 = [ '#dbc570' , '#242322' , 186 , 234 ] -let s:V3 = [ '#e2e2e2' , '#4a4a4a' , 254 , 238 ] -let g:airline#themes#kolor#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#kolor#palette.visual_modified = { - \ 'airline_c': [ '#242322' , '#e6987a' , 234 , 180 , '' ] , - \ } - - -let s:IA1 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 , '' ] -let s:IA2 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 ] -let s:IA3 = [ '#b2b2b2' , '#4a4a4a' , 247 , 238 , '' ] -let g:airline#themes#kolor#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) -let g:airline#themes#kolor#palette.inactive_modified = { - \ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] , - \ } - - -let g:airline#themes#kolor#palette.accents = { - \ 'red': [ '#d96e8a' , '' , 168 , '' ] - \ } - - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#kolor#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#e2e2e2' , '#4a4a4a' , 254 , 238 , '' ], - \ [ '#e2e2e2' , '#242322' , 254 , 234 , '' ], - \ [ '#e2e2e2' , '#4f3598' , 254 , 56 , 'bold' ]) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/laederon.vim b/sources_non_forked/vim-airline/autoload/airline/themes/laederon.vim deleted file mode 100644 index 115c1079..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/laederon.vim +++ /dev/null @@ -1,62 +0,0 @@ -" vim-airline companion theme of Laederon -" (https://github.com/Donearm/Laederon) - -" Normal mode -let s:N1 = [ '#1a1a18' , '#ffffff' , 232 , 255 ] " blackestgravel & snow -let s:N2 = [ '#ffffff' , '#44403a' , 255, 238 ] " snow & deepgravel -let s:N3 = [ '#90a680' , '#2e2d2a' , 64, 235 ] " dilutedpaint & darkgravel -let s:N4 = [ '#777470' , 240 ] " gravel - -" Insert mode -let s:I1 = [ '#1a1a18' , '#1693a5' , 232 , 62 ] " blackestgravel & crystallake -let s:I2 = [ '#515744' , '#44403a' , 101 , 238 ] " lichen & deepgravel -let s:I3 = [ '#1693a5' , '#2e2d2a' , 39 , 235 ] " crystallake & darkgravel - -" Visual mode -let s:V1 = [ '#1a1a18' , '#ab3e5d' , 232 , 161 ] " blackestgravel & raspberry -let s:V2 = [ '#000000' , '#908571' , 16 , 252 ] " coal & winterterrain -let s:V3 = [ '#ab3e5d' , '#8c7f77' , 161 , 245 ] " raspberry & wetcoldterrain -let s:V4 = [ '#515744' , 101 ] " lichen - -" Replace mode -let s:RE = [ '#233e09' , 22 ] " oakleaf - -" Paste mode -let s:PA = [ '#ab3e5d' , 161 ] " raspberry - -let s:IA = [ s:N2[1] , s:N3[1] , s:N2[3], s:N3[3] , '' ] - - -let g:airline#themes#laederon#palette = {} - -let g:airline#themes#laederon#palette.accents = { - \ 'red': [ '#ef393d' , '' , 196 , '' , '' ] - \ } - -let g:airline#themes#laederon#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#laederon#palette.normal_modified = { - \ 'airline_a' : [ s:N2[0] , s:N4[0] , s:N2[2] , s:N4[1] , '' ] , - \ 'airline_c' : [ s:V1[1] , s:N2[1] , s:V1[3] , s:N2[3] , '' ] } - - -let g:airline#themes#laederon#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#laederon#palette.insert_modified = { - \ 'airline_c' : [ s:V2[1] , s:N2[1] , s:V2[3] , s:N2[3] , '' ] } -let g:airline#themes#laederon#palette.insert_paste = { - \ 'airline_a' : [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] } - - -let g:airline#themes#laederon#palette.replace = copy(airline#themes#laederon#palette.insert) -let g:airline#themes#laederon#palette.replace.airline_a = [ s:I1[0] , s:RE[0] , s:I1[2] , s:RE[1] , '' ] -let g:airline#themes#laederon#palette.replace_modified = g:airline#themes#laederon#palette.insert_modified - - -let g:airline#themes#laederon#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#laederon#palette.visual_modified = { - \ 'airline_c' : [ s:V3[0] , s:V4[0] , s:V3[2] , s:V4[1] , '' ] } - - -let g:airline#themes#laederon#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#laederon#palette.inactive_modified = { - \ 'airline_c' : [ s:V1[1] , '' , s:V1[3] , '' , '' ] } - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/light.vim b/sources_non_forked/vim-airline/autoload/airline/themes/light.vim deleted file mode 100644 index d9fe8441..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/light.vim +++ /dev/null @@ -1,45 +0,0 @@ -let g:airline#themes#light#palette = {} - -let s:N1 = [ '#ffffff' , '#005fff' , 255 , 27 ] -let s:N2 = [ '#000087' , '#00dfff' , 18 , 45 ] -let s:N3 = [ '#005fff' , '#afffff' , 27 , 159 ] -let g:airline#themes#light#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#light#palette.normal_modified = { - \ 'airline_c': [ '#df0000' , '#ffdfdf' , 160 , 224 , '' ] , - \ } - - -let s:I1 = [ '#ffffff' , '#00875f' , 255 , 29 ] -let s:I2 = [ '#005f00' , '#00df87' , 22 , 42 ] -let s:I3 = [ '#005f5f' , '#afff87' , 23 , 156 ] -let g:airline#themes#light#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#light#palette.insert_modified = { - \ 'airline_c': [ '#df0000' , '#ffdfdf' , 160 , 224 , '' ] , - \ } -let g:airline#themes#light#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , - \ } - - -let g:airline#themes#light#palette.replace = copy(g:airline#themes#light#palette.insert) -let g:airline#themes#light#palette.replace.airline_a = [ s:I2[0] , '#ff0000' , s:I1[2] , 196 , '' ] -let g:airline#themes#light#palette.replace_modified = g:airline#themes#light#palette.insert_modified - - -let s:V1 = [ '#ffffff' , '#ff5f00' , 255 , 202 ] -let s:V2 = [ '#5f0000' , '#ffaf00' , 52 , 214 ] -let s:V3 = [ '#df5f00' , '#ffff87' , 166 , 228 ] -let g:airline#themes#light#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#light#palette.visual_modified = { - \ 'airline_c': [ '#df0000' , '#ffdfdf' , 160 , 224 , '' ] , - \ } - - -let s:IA1 = [ '#666666' , '#b2b2b2' , 242 , 249 , '' ] -let s:IA2 = [ '#8a8a8a' , '#d0d0d0' , 245 , 252 , '' ] -let s:IA3 = [ '#a8a8a8' , '#ffffff' , 248 , 255 , '' ] -let g:airline#themes#light#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) -let g:airline#themes#light#palette.inactive_modified = { - \ 'airline_c': [ '#df0000' , '' , 160 , '' , '' ] , - \ } - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/lucius.vim b/sources_non_forked/vim-airline/autoload/airline/themes/lucius.vim deleted file mode 100644 index e3869007..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/lucius.vim +++ /dev/null @@ -1,56 +0,0 @@ -let g:airline#themes#lucius#palette = {} - -function! airline#themes#lucius#refresh() - - let s:N1 = airline#themes#get_highlight('StatusLine') - let s:N2 = airline#themes#get_highlight('Folded') - let s:N3 = airline#themes#get_highlight('CursorLine') - let g:airline#themes#lucius#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - - let modified_group = airline#themes#get_highlight('Statement') - let g:airline#themes#lucius#palette.normal_modified = { - \ 'airline_c': [modified_group[0], '', modified_group[2], '', ''] - \ } - - let warning_group = airline#themes#get_highlight('DiffDelete') - let g:airline#themes#lucius#palette.normal.airline_warning = warning_group - let g:airline#themes#lucius#palette.normal_modified.airline_warning = warning_group - - let s:I1 = airline#themes#get_highlight('DiffAdd') - let s:I2 = s:N2 - let s:I3 = s:N3 - let g:airline#themes#lucius#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#lucius#palette.insert_modified = g:airline#themes#lucius#palette.normal_modified - let g:airline#themes#lucius#palette.insert.airline_warning = g:airline#themes#lucius#palette.normal.airline_warning - let g:airline#themes#lucius#palette.insert_modified.airline_warning = g:airline#themes#lucius#palette.normal_modified.airline_warning - - let s:R1 = airline#themes#get_highlight('DiffChange') - let s:R2 = s:N2 - let s:R3 = s:N3 - let g:airline#themes#lucius#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#lucius#palette.replace_modified = g:airline#themes#lucius#palette.normal_modified - let g:airline#themes#lucius#palette.replace.airline_warning = g:airline#themes#lucius#palette.normal.airline_warning - let g:airline#themes#lucius#palette.replace_modified.airline_warning = g:airline#themes#lucius#palette.normal_modified.airline_warning - - let s:V1 = airline#themes#get_highlight('Cursor') - let s:V2 = s:N2 - let s:V3 = s:N3 - let g:airline#themes#lucius#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#lucius#palette.visual_modified = g:airline#themes#lucius#palette.normal_modified - let g:airline#themes#lucius#palette.visual.airline_warning = g:airline#themes#lucius#palette.normal.airline_warning - let g:airline#themes#lucius#palette.visual_modified.airline_warning = g:airline#themes#lucius#palette.normal_modified.airline_warning - - let s:IA = airline#themes#get_highlight('StatusLineNC') - let g:airline#themes#lucius#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#lucius#palette.inactive_modified = { - \ 'airline_c': [ modified_group[0], '', modified_group[2], '', '' ] - \ } - - let g:airline#themes#lucius#palette.accents = { - \ 'red': airline#themes#get_highlight('Constant'), - \ } - -endfunction - -call airline#themes#lucius#refresh() - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/luna.vim b/sources_non_forked/vim-airline/autoload/airline/themes/luna.vim deleted file mode 100644 index 879d8623..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/luna.vim +++ /dev/null @@ -1,92 +0,0 @@ -" vim-airline companion theme of Luna -" (https://github.com/Pychimp/vim-luna) - -let g:airline#themes#luna#palette = {} - -let g:airline#themes#luna#palette.accents = { - \ 'red': [ '#ffffff' , '' , 231 , '' , '' ], - \ } - - -let s:N1 = [ '#ffffff' , '#005252' , 231 , 36 ] -let s:N2 = [ '#ffffff' , '#003f3f' , 231 , 29 ] -let s:N3 = [ '#ffffff' , '#002b2b' , 231 , 23 ] -let g:airline#themes#luna#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#luna#palette.normal_modified = { - \ 'airline_c': [ '#ffffff' , '#450000' , 231 , 52 , '' ] , - \ } - - -let s:I1 = [ '#ffffff' , '#789f00' , 231 , 106 ] -let s:I2 = [ '#ffffff' , '#003f3f' , 231 , 29 ] -let s:I3 = [ '#ffffff' , '#002b2b' , 231 , 23 ] -let g:airline#themes#luna#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#luna#palette.insert_modified = { - \ 'airline_c': [ '#ffffff' , '#005e5e' , 255 , 52 , '' ] , - \ } -let g:airline#themes#luna#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#789f00' , s:I1[2] , 106 , '' ] , - \ } - - -let g:airline#themes#luna#palette.replace = copy(g:airline#themes#luna#palette.insert) -let g:airline#themes#luna#palette.replace.airline_a = [ s:I2[0] , '#920000' , s:I2[2] , 88 , '' ] -let g:airline#themes#luna#palette.replace_modified = g:airline#themes#luna#palette.insert_modified - -let s:V1 = [ '#ffff9a' , '#ff8036' , 222 , 208 ] -let s:V2 = [ '#ffffff' , '#003f3f' , 231 , 29 ] -let s:V3 = [ '#ffffff' , '#002b2b' , 231 , 23 ] -let g:airline#themes#luna#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#luna#palette.visual_modified = { - \ 'airline_c': [ '#ffffff' , '#450000' , 231 , 52 , '' ] , - \ } - -let s:IA = [ '#4e4e4e' , '#002b2b' , 59 , 23 , '' ] -let g:airline#themes#luna#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#luna#palette.inactive_modified = { - \ 'airline_c': [ '#e20000' , '' , 166 , '' , '' ] , - \ } - -let g:airline#themes#luna#palette.tabline = { - \ 'airline_tab': ['#2aa198', '#003f3f', 231, 29, ''], - \ 'airline_tabsel': ['#ffffff', '#2e8b57', 231, 36, ''], - \ 'airline_tabtype': ['#ffffff', '#005252', 231, 36, ''], - \ 'airline_tabfill': ['#ffffff', '#002b2b', 231, 23, ''], - \ 'airline_tabmod': ['#ffffff', '#780000', 231, 88, ''], - \ } - -let s:WI = [ '#ffffff', '#5f0000', 231, 88 ] -let g:airline#themes#luna#palette.normal.airline_warning = [ - \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] - \ ] - -let g:airline#themes#luna#palette.normal_modified.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - -let g:airline#themes#luna#palette.insert.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - -let g:airline#themes#luna#palette.insert_modified.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - -let g:airline#themes#luna#palette.visual.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - -let g:airline#themes#luna#palette.visual_modified.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - -let g:airline#themes#luna#palette.replace.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - -let g:airline#themes#luna#palette.replace_modified.airline_warning = - \ g:airline#themes#luna#palette.normal.airline_warning - - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#luna#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#ffffff' , '#002b2b' , 231 , 23 , '' ] , - \ [ '#ffffff' , '#005252' , 231 , 36 , '' ] , - \ [ '#ffffff' , '#973d45' , 231 , 95 , '' ] ) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/molokai.vim b/sources_non_forked/vim-airline/autoload/airline/themes/molokai.vim deleted file mode 100644 index 1998f002..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/molokai.vim +++ /dev/null @@ -1,65 +0,0 @@ -let g:airline#themes#molokai#palette = {} - -let g:airline#themes#molokai#palette.accents = { - \ 'red': [ '#66d9ef' , '' , 81 , '' , '' ], - \ } - - -" Normal mode -let s:N1 = [ '#080808' , '#e6db74' , 232 , 144 ] " mode -let s:N2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] " info -let s:N3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] " statusline - -let g:airline#themes#molokai#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#molokai#palette.normal_modified = { - \ 'airline_c': [ '#080808' , '#e6db74' , 232 , 144 , '' ] , - \ } - - -" Insert mode -let s:I1 = [ '#080808' , '#66d9ef' , 232 , 81 ] -let s:I2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] -let s:I3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] - -let g:airline#themes#molokai#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#molokai#palette.insert_modified = { - \ 'airline_c': [ '#080808' , '#66d9ef' , 232 , 81 , '' ] , - \ } - - -" Replace mode -let g:airline#themes#molokai#palette.replace = copy(g:airline#themes#molokai#palette.insert) -let g:airline#themes#molokai#palette.replace.airline_a = [ s:I1[0] , '#ef5939' , s:I1[2] , 166 , '' ] -let g:airline#themes#molokai#palette.replace_modified = { - \ 'airline_c': [ '#080808' , '#ef5939' , 232 , 166 , '' ] , - \ } - - -" Visual mode -let s:V1 = [ '#080808' , '#fd971f' , 232 , 208 ] -let s:V2 = [ '#f8f8f0' , '#232526' , 253 , 16 ] -let s:V3 = [ '#f8f8f0' , '#465457' , 253 , 67 ] - -let g:airline#themes#molokai#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#molokai#palette.visual_modified = { - \ 'airline_c': [ '#080808' , '#fd971f' , 232 , 208 , '' ] , - \ } - - -" Inactive -let s:IA = [ '#1b1d1e' , '#465457' , 233 , 67 , '' ] -let g:airline#themes#molokai#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#molokai#palette.inactive_modified = { - \ 'airline_c': [ '#f8f8f0' , '' , 253 , '' , '' ] , - \ } - - -" CtrlP -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#molokai#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#f8f8f0' , '#465457' , 253 , 67 , '' ] , - \ [ '#f8f8f0' , '#232526' , 253 , 16 , '' ] , - \ [ '#080808' , '#e6db74' , 232 , 144 , 'bold' ] ) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/monochrome.vim b/sources_non_forked/vim-airline/autoload/airline/themes/monochrome.vim deleted file mode 100644 index 7dd1a173..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/monochrome.vim +++ /dev/null @@ -1,15 +0,0 @@ -let g:airline#themes#monochrome#palette = {} - -function! airline#themes#monochrome#refresh() - let s:SL = airline#themes#get_highlight('StatusLine') - let g:airline#themes#monochrome#palette.normal = airline#themes#generate_color_map(s:SL, s:SL, s:SL) - let g:airline#themes#monochrome#palette.insert = g:airline#themes#monochrome#palette.normal - let g:airline#themes#monochrome#palette.replace = g:airline#themes#monochrome#palette.normal - let g:airline#themes#monochrome#palette.visual = g:airline#themes#monochrome#palette.normal - - let s:SLNC = airline#themes#get_highlight('StatusLineNC') - let g:airline#themes#monochrome#palette.inactive = airline#themes#generate_color_map(s:SLNC, s:SLNC, s:SLNC) -endfunction - -call airline#themes#monochrome#refresh() - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/murmur.vim b/sources_non_forked/vim-airline/autoload/airline/themes/murmur.vim deleted file mode 100644 index 08e47572..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/murmur.vim +++ /dev/null @@ -1,82 +0,0 @@ -let g:airline#themes#murmur#palette = {} - -" Color palette -let s:cterm_termbg = 237 " Background for branch and file format blocks -let s:gui_termbg = '#5F5F5F' -let s:cterm_termfg = 144 " Foreground for branch and file format blocks -let s:gui_termfg = '#AFAF87' - -let s:cterm_termbg2 = 234 " Background for middle block -let s:gui_termbg2 = '#1C1C1C' -let s:cterm_termfg2 = 39 " Foreground for middle block -let s:gui_termfg2 = '#F5F5F5' - -let s:cterm_normalbg = 27 " Background for normal mode and file position blocks -let s:gui_normalbg = '#5F87FF' -let s:cterm_normalfg = 15 " Foreground for normal mode and file position blocks -let s:gui_normalfg = '#FFFFFF' - -let s:cterm_insertbg = 70 " Background for insert mode and file position blocks -let s:gui_insertbg = '#87AF5F' -let s:cterm_insertfg = 15 " Foreground for insert mode and file position blocks -let s:gui_insertfg = '#FFFFFF' - -let s:cterm_visualbg = 166 " Background for visual mode and file position blocks -let s:gui_visualbg = '#ff8c00' -let s:cterm_visualfg = 15 " Foreground for visual mode and file position blocks -let s:gui_visualfg = '#FFFFFF' - -let s:cterm_replacebg = 88 " Background for replace mode and file position blocks -let s:gui_replacebg = '#870000' -let s:cterm_replacefg = 15 " Foreground for replace mode and file position blocks -let s:gui_replacefg = '#FFFFFF' - -let s:cterm_alert = 88 " Modified file alert color -let s:gui_alert = '#870000' - -let s:cterm_inactivebg = 234 " Background for inactive mode -let s:gui_inactivebg = '#1C1C1C' -let s:cterm_inactivefg = 239 " Foreground for inactive mode -let s:gui_inactivefg = '#4E4E4E' - -" Branch and file format -let s:BB = [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg] " Branch and file format blocks - -" Normal mode -let s:N1 = [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg] " Outside blocks in normal mode -let s:N2 = [s:gui_termfg2, s:gui_termbg2, s:cterm_normalbg, s:cterm_termbg2] " Middle block -let g:airline#themes#murmur#palette.normal = airline#themes#generate_color_map(s:N1, s:BB, s:N2) -let g:airline#themes#murmur#palette.normal_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} - -" Insert mode -let s:I1 = [s:gui_insertfg, s:gui_insertbg, s:cterm_insertfg, s:cterm_insertbg] " Outside blocks in insert mode -let s:I2 = [s:gui_insertbg, s:gui_termbg2, s:cterm_insertbg, s:cterm_termbg2] " Middle block -let g:airline#themes#murmur#palette.insert = airline#themes#generate_color_map(s:I1, s:BB, s:I2) -let g:airline#themes#murmur#palette.insert_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} - -" Replace mode -let s:R1 = [s:gui_replacefg, s:gui_replacebg, s:cterm_replacefg, s:cterm_replacebg] " Outside blocks in replace mode -let s:R2 = [s:gui_termfg, s:gui_termbg2, s:cterm_termfg, s:cterm_termbg2] " Middle block -let g:airline#themes#murmur#palette.replace = airline#themes#generate_color_map(s:R1, s:BB, s:R2) -let g:airline#themes#murmur#palette.replace_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} - -" Visual mode -let s:V1 = [s:gui_visualfg, s:gui_visualbg, s:cterm_visualfg, s:cterm_visualbg] " Outside blocks in visual mode -let s:V2 = [s:gui_visualbg, s:gui_termbg2, s:cterm_visualbg, s:cterm_termbg2] " Middle block -let g:airline#themes#murmur#palette.visual = airline#themes#generate_color_map(s:V1, s:BB, s:V2) -let g:airline#themes#murmur#palette.visual_modified = {'airline_c': [s:gui_alert, s:gui_termbg2, s:cterm_alert, s:cterm_termbg2, 'bold'] ,} - -" Inactive mode -let s:IA1 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] -let s:IA2 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] -let s:IA3 = [s:gui_inactivefg, s:gui_inactivebg, s:cterm_inactivefg, s:cterm_inactivebg, ''] -let g:airline#themes#murmur#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) - -" CtrlP plugin colors -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#murmur#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [s:gui_normalfg, s:gui_normalbg, s:cterm_normalfg, s:cterm_normalbg, ''], - \ [s:gui_termfg, s:gui_termbg, s:cterm_termfg, s:cterm_termbg, ''], - \ [s:gui_termfg2, s:gui_termbg2, s:cterm_termfg2, s:cterm_termbg2, 'bold']) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/papercolor.vim b/sources_non_forked/vim-airline/autoload/airline/themes/papercolor.vim deleted file mode 100644 index fb8022ba..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/papercolor.vim +++ /dev/null @@ -1,65 +0,0 @@ -let g:airline#themes#papercolor#palette = {} - -let g:airline#themes#papercolor#palette.accents = { - \ 'red': [ '#66d9ef' , '' , 81 , '' , '' ], - \ } - -" Normal Mode: -let s:N1 = [ '#585858' , '#e4e4e4' , 240 , 254 ] " Mode -let s:N2 = [ '#e4e4e4' , '#0087af' , 254 , 31 ] " Info -let s:N3 = [ '#eeeeee' , '#005f87' , 255 , 24 ] " StatusLine - - -let g:airline#themes#papercolor#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#papercolor#palette.normal_modified = { - \ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] , - \ } - - -" Insert Mode: -let s:I1 = [ '#585858' , '#e4e4e4' , 240 , 254 ] " Mode -let s:I2 = [ '#e4e4e4' , '#0087af' , 254 , 31 ] " Info -let s:I3 = [ '#eeeeee' , '#005f87' , 255 , 24 ] " StatusLine - - -let g:airline#themes#papercolor#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#papercolor#palette.insert_modified = { - \ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] , - \ } - - -" Replace Mode: -let g:airline#themes#papercolor#palette.replace = copy(g:airline#themes#papercolor#palette.insert) -let g:airline#themes#papercolor#palette.replace.airline_a = [ '#d7005f' , '#e4e4e4' , 161 , 254, '' ] -let g:airline#themes#papercolor#palette.replace_modified = { - \ 'airline_c': [ '#eeeeee' , '#005f87' , 255 , 24 , '' ] , - \ } - - -" Visual Mode: -let s:V1 = [ '#005f87', '#e4e4e4', 24, 254 ] -let s:V2 = [ '', '#0087af', '', 31 ] -let s:V3 = [ '#e4e4e4', '#005f87', 254, 24 ] - -let g:airline#themes#papercolor#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#papercolor#palette.visual_modified = { - \ 'airline_c': [ '#e4e4e4', '#005f87', 254, 24 ] , - \ } - -" Inactive: -let s:IA = [ '#585858' , '#e4e4e4' , 240 , 254 , '' ] -let g:airline#themes#papercolor#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#papercolor#palette.inactive_modified = { - \ 'airline_c': [ '#585858' , '#e4e4e4' , 240 , 254 , '' ] , - \ } - - -" CtrlP: -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#papercolor#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#e4e4e4' , '#005f87' , 254 , 24 , '' ] , - \ [ '#e4e4e4' , '#0087af' , 254 , 31 , '' ] , - \ [ '#585858' , '#e4e4e4' , 240 , 254 , 'bold' ] ) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/powerlineish.vim b/sources_non_forked/vim-airline/autoload/airline/themes/powerlineish.vim deleted file mode 100644 index d550e110..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/powerlineish.vim +++ /dev/null @@ -1,46 +0,0 @@ -" Theme to mimic the default colorscheme of powerline -" Not 100% the same so it's powerline... ish. -" -" Differences from default powerline: -" * Paste indicator isn't colored different -" * Far right hand section matches the color of the mode indicator -" -" Differences from other airline themes: -" * No color differences when you're in a modified buffer -" * Visual mode only changes the mode section. Otherwise -" it appears the same as normal mode - -" Normal mode " fg & bg -let s:N1 = [ '#005f00' , '#afd700' , 22 , 148 ] " darkestgreen & brightgreen -let s:N2 = [ '#9e9e9e' , '#303030' , 247 , 236 ] " gray8 & gray2 -let s:N3 = [ '#ffffff' , '#121212' , 231 , 233 ] " white & gray4 - -" Insert mode " fg & bg -let s:I1 = [ '#005f5f' , '#ffffff' , 23 , 231 ] " darkestcyan & white -let s:I2 = [ '#5fafd7' , '#0087af' , 74 , 31 ] " darkcyan & darkblue -let s:I3 = [ '#87d7ff' , '#005f87' , 117 , 24 ] " mediumcyan & darkestblue - -" Visual mode " fg & bg -let s:V1 = [ '#080808' , '#ffaf00' , 232 , 214 ] " gray3 & brightestorange - -" Replace mode " fg & bg -let s:RE = [ '#ffffff' , '#d70000' , 231 , 160 ] " white & brightred - -let g:airline#themes#powerlineish#palette = {} - -let g:airline#themes#powerlineish#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - -let g:airline#themes#powerlineish#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#powerlineish#palette.insert_replace = { - \ 'airline_a': [ s:RE[0] , s:I1[1] , s:RE[1] , s:I1[3] , '' ] } - -let g:airline#themes#powerlineish#palette.visual = { - \ 'airline_a': [ s:V1[0] , s:V1[1] , s:V1[2] , s:V1[3] , '' ] } - -let g:airline#themes#powerlineish#palette.replace = copy(airline#themes#powerlineish#palette.normal) -let g:airline#themes#powerlineish#palette.replace.airline_a = [ s:RE[0] , s:RE[1] , s:RE[2] , s:RE[3] , '' ] - - -let s:IA = [ s:N2[1] , s:N3[1] , s:N2[3] , s:N3[3] , '' ] -let g:airline#themes#powerlineish#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/raven.vim b/sources_non_forked/vim-airline/autoload/airline/themes/raven.vim deleted file mode 100644 index 02bfd73a..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/raven.vim +++ /dev/null @@ -1,85 +0,0 @@ -let g:airline#themes#raven#palette = {} - -let g:airline#themes#raven#palette.accents = { - \ 'red': [ '#ff2121' , '' , 196 , '' , '' ], - \ } - -let s:N1 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] -let s:N2 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] -let s:N3 = [ '#c8c8c8' , '#2e2e2e' , 188 , 235 ] -let g:airline#themes#raven#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#raven#palette.normal_modified = { - \ 'airline_c': [ '#e25000' , '#2e2e2e' , 166 , 235 , '' ] , - \ } - -let s:I1 = [ '#11c279' , '#2e2e2e' , 36 , 235 ] -let s:I2 = [ '#11c279' , '#2e2e2e' , 36 , 235 ] -let s:I3 = [ '#11c279' , '#2e2e2e' , 36 , 235 ] -let g:airline#themes#raven#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#raven#palette.insert_modified = { - \ 'airline_c': [ '#e25000' , '#2e2e2e' , 166 , 235 , '' ] , - \ } -let g:airline#themes#raven#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#2e2e2e' , s:I1[2] , 235 , '' ] , - \ } - -let g:airline#themes#raven#palette.replace = copy(g:airline#themes#raven#palette.insert) -let g:airline#themes#raven#palette.replace.airline_a = [ '#e60000' , s:I1[1] , 160 , s:I1[3] , '' ] -let g:airline#themes#raven#palette.replace.airline_z = [ '#e60000' , s:I1[1] , 160 , s:I1[3] , '' ] -let g:airline#themes#raven#palette.replace_modified = g:airline#themes#raven#palette.insert_modified - -let s:V1 = [ '#6565ff' , '#2e2e2e' , 63 , 235 ] -let s:V2 = [ '#6565ff' , '#2e2e2e' , 63 , 235 ] -let s:V3 = [ '#6565ff' , '#2e2e2e' , 63 , 235 ] -let g:airline#themes#raven#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#raven#palette.visual_modified = { - \ 'airline_c': [ '#e25000' , '#2e2e2e' , 166 , 235 , '' ] , - \ } - -let s:IA = [ '#5e5e5e' , '#222222' , 59 , 235 , '' ] -let g:airline#themes#raven#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#raven#palette.inactive_modified = { - \ 'airline_c': [ '#e25000' , '' , 166 , '' , '' ] , - \ } - -let g:airline#themes#raven#palette.tabline = { - \ 'airline_tab': ['#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ], - \ 'airline_tabsel': ['#2e2e2e' , '#a4c639' , 235 , 149 , '' ], - \ 'airline_tabtype': ['#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ], - \ 'airline_tabfill': ['#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ], - \ 'airline_tabmod': ['#2e2e2e' , '#a4c639' , 235 , 149 , '' ], - \ } - -let s:WI = [ '#ff0000', '#2e2e2e', 196, 235 ] -let g:airline#themes#raven#palette.normal.airline_warning = [ - \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] - \ ] - -let g:airline#themes#raven#palette.normal_modified.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -let g:airline#themes#raven#palette.insert.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -let g:airline#themes#raven#palette.insert_modified.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -let g:airline#themes#raven#palette.visual.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -let g:airline#themes#raven#palette.visual_modified.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -let g:airline#themes#raven#palette.replace.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -let g:airline#themes#raven#palette.replace_modified.airline_warning = - \ g:airline#themes#raven#palette.normal.airline_warning - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#raven#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ] , - \ [ '#c8c8c8' , '#2e2e2e' , 188 , 235 , '' ] , - \ [ '#2e2e2e' , '#a4c639' , 235 , 149 , '' ] ) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/serene.vim b/sources_non_forked/vim-airline/autoload/airline/themes/serene.vim deleted file mode 100644 index 9191c077..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/serene.vim +++ /dev/null @@ -1,41 +0,0 @@ -let g:airline#themes#serene#palette = {} - -let s:guibg = '#080808' -let s:termbg = 232 -let s:termsep = 236 -let s:guisep = '#303030' - -let s:N1 = [ '#00dfff' , s:guibg , 45 , s:termbg ] -let s:N2 = [ '#ff5f00' , s:guibg , 202 , s:termbg ] -let s:N3 = [ '#767676' , s:guibg , 7 , s:termbg ] - -let g:airline#themes#serene#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#serene#palette.normal_modified = { - \ 'airline_c': [ '#df0000' , s:guibg, 160 , s:termbg , '' ] , - \ } - -let s:I1 = [ '#5fff00' , s:guibg , 82 , s:termbg ] -let s:I2 = [ '#ff5f00' , s:guibg , 202 , s:termbg ] -let s:I3 = [ '#767676' , s:guibg , 7 , s:termbg ] -let g:airline#themes#serene#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#serene#palette.insert_modified = copy(g:airline#themes#serene#palette.normal_modified) -let g:airline#themes#serene#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , - \ } - -let g:airline#themes#serene#palette.replace = { - \ 'airline_a': [ s:I1[0] , '#af0000' , s:I1[2] , 124 , '' ] , - \ } -let g:airline#themes#serene#palette.replace_modified = copy(g:airline#themes#serene#palette.normal_modified) - -let s:V1 = [ '#dfdf00' , s:guibg , 184 , s:termbg ] -let s:V2 = [ '#ff5f00' , s:guibg , 202 , s:termbg ] -let s:V3 = [ '#767676' , s:guibg , 7 , s:termbg ] -let g:airline#themes#serene#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#serene#palette.visual_modified = copy(g:airline#themes#serene#palette.normal_modified) - -let s:IA = [ '#4e4e4e' , s:guibg , 239 , s:termbg , '' ] -let s:IA2 = [ '#4e4e4e' , s:guisep , 239 , s:termsep , '' ] -let g:airline#themes#serene#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA2, s:IA2) -let g:airline#themes#serene#palette.inactive_modified = copy(g:airline#themes#serene#palette.normal_modified) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/silver.vim b/sources_non_forked/vim-airline/autoload/airline/themes/silver.vim deleted file mode 100644 index fd85edba..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/silver.vim +++ /dev/null @@ -1,85 +0,0 @@ -let g:airline#themes#silver#palette = {} - -let g:airline#themes#silver#palette.accents = { - \ 'red': [ '#ff2121' , '' , 196 , '' , '' ], - \ } - -let s:N1 = [ '#414141' , '#e1e1e1' , 59 , 188 ] -let s:N2 = [ '#414141' , '#e1e1e1' , 59 , 188 ] -let s:N3 = [ '#414141' , '#e1e1e1' , 59 , 188 ] -let g:airline#themes#silver#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#silver#palette.normal_modified = { - \ 'airline_c': [ '#e25000' , '#e1e1e1' , 166 , 188 , '' ] , - \ } - -let s:I1 = [ '#0d935c' , '#e1e1e1' , 29 , 188 ] -let s:I2 = [ '#0d935c' , '#e1e1e1' , 29 , 188 ] -let s:I3 = [ '#0d935c' , '#e1e1e1' , 29 , 188 ] -let g:airline#themes#silver#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#silver#palette.insert_modified = { - \ 'airline_c': [ '#e25000' , '#e1e1e1' , 166 , 188 , '' ] , - \ } -let g:airline#themes#silver#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#e1e1e1' , s:I1[2] , 188 , '' ] , - \ } - -let g:airline#themes#silver#palette.replace = copy(g:airline#themes#silver#palette.insert) -let g:airline#themes#silver#palette.replace.airline_a = [ '#b30000' , s:I1[1] , 124 , s:I1[3] , '' ] -let g:airline#themes#silver#palette.replace.airline_z = [ '#b30000' , s:I1[1] , 124 , s:I1[3] , '' ] -let g:airline#themes#silver#palette.replace_modified = g:airline#themes#silver#palette.insert_modified - -let s:V1 = [ '#0000b3' , '#e1e1e1' , 19 , 188 ] -let s:V2 = [ '#0000b3' , '#e1e1e1' , 19 , 188 ] -let s:V3 = [ '#0000b3' , '#e1e1e1' , 19 , 188 ] -let g:airline#themes#silver#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#silver#palette.visual_modified = { - \ 'airline_c': [ '#e25000' , '#e1e1e1' , 166 , 188 , '' ] , - \ } - -let s:IA = [ '#a1a1a1' , '#dddddd' , 145 , 188 , '' ] -let g:airline#themes#silver#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#silver#palette.inactive_modified = { - \ 'airline_c': [ '#e25000' , '' , 166 , '' , '' ] , - \ } - -let g:airline#themes#silver#palette.tabline = { - \ 'airline_tab': ['#414141' , '#e1e1e1' , 59 , 188 , '' ], - \ 'airline_tabsel': ['#e1e1e1' , '#007599' , 188 , 30 , '' ], - \ 'airline_tabtype': ['#414141' , '#e1e1e1' , 59 , 188 , '' ], - \ 'airline_tabfill': ['#414141' , '#e1e1e1' , 59 , 188 , '' ], - \ 'airline_tabmod': ['#e1e1e1' , '#007599' , 188 , 30 , '' ], - \ } - -let s:WI = [ '#ff0000', '#e1e1e1', 196, 188 ] -let g:airline#themes#silver#palette.normal.airline_warning = [ - \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] - \ ] - -let g:airline#themes#silver#palette.normal_modified.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -let g:airline#themes#silver#palette.insert.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -let g:airline#themes#silver#palette.insert_modified.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -let g:airline#themes#silver#palette.visual.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -let g:airline#themes#silver#palette.visual_modified.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -let g:airline#themes#silver#palette.replace.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -let g:airline#themes#silver#palette.replace_modified.airline_warning = - \ g:airline#themes#silver#palette.normal.airline_warning - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#silver#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#414141' , '#e1e1e1' , 59 , 188 , '' ] , - \ [ '#414141' , '#e1e1e1' , 59 , 188 , '' ] , - \ [ '#e1e1e1' , '#007599' , 188 , 30 , '' ] ) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/simple.vim b/sources_non_forked/vim-airline/autoload/airline/themes/simple.vim deleted file mode 100644 index a111a1cb..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/simple.vim +++ /dev/null @@ -1,46 +0,0 @@ -let g:airline#themes#simple#palette = {} - -let s:guibg = '#080808' -let s:guibg2 = '#1c1c1c' -let s:termbg = 232 -let s:termbg2= 234 - -let s:N1 = [ s:guibg , '#00dfff' , s:termbg , 45 ] -let s:N2 = [ '#ff5f00' , s:guibg2, 202 , s:termbg2 ] -let s:N3 = [ '#767676' , s:guibg, 243 , s:termbg] -let g:airline#themes#simple#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#simple#palette.normal_modified = { - \ 'airline_c': [ '#df0000' , s:guibg, 160 , s:termbg , '' ] , - \ } - - -let s:I1 = [ s:guibg, '#5fff00' , s:termbg , 82 ] -let s:I2 = [ '#ff5f00' , s:guibg2, 202 , s:termbg2 ] -let s:I3 = [ '#767676' , s:guibg, 243 , s:termbg ] -let g:airline#themes#simple#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#simple#palette.insert_modified = copy(g:airline#themes#simple#palette.normal_modified) -let g:airline#themes#simple#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] , - \ } - - -let g:airline#themes#simple#palette.replace = { - \ 'airline_a': [ s:I1[0] , '#af0000' , s:I1[2] , 124 , '' ] , - \ } -let g:airline#themes#simple#palette.replace_modified = copy(g:airline#themes#simple#palette.normal_modified) - - -let s:V1 = [ s:guibg, '#dfdf00' , s:termbg , 184 ] -let s:V2 = [ '#ff5f00' , s:guibg2, 202 , s:termbg2 ] -let s:V3 = [ '#767676' , s:guibg, 243 , s:termbg ] -let g:airline#themes#simple#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#simple#palette.visual_modified = copy(g:airline#themes#simple#palette.normal_modified) - - -let s:IA = [ '#4e4e4e' , s:guibg , 239 , s:termbg , '' ] -let s:IA2 = [ '#4e4e4e' , s:guibg2 , 239 , s:termbg2 , '' ] -let g:airline#themes#simple#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA2, s:IA2) -let g:airline#themes#simple#palette.inactive_modified = { - \ 'airline_c': [ '#df0000', '', 160, '', '' ] , - \ } - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/sol.vim b/sources_non_forked/vim-airline/autoload/airline/themes/sol.vim deleted file mode 100644 index 89ea5058..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/sol.vim +++ /dev/null @@ -1,90 +0,0 @@ -" vim-airline companion theme of Sol -" (https://github.com/Pychimp/vim-sol) - -let g:airline#themes#sol#palette = {} - -let g:airline#themes#sol#palette.accents = { - \ 'red': [ '#ffffff' , '' , 231 , '' , '' ], - \ } - -let s:N1 = [ '#343434' , '#a0a0a0' , 237 , 248 ] -let s:N2 = [ '#343434' , '#b3b3b3' , 237 , 250 ] -let s:N3 = [ '#343434' , '#c7c7c7' , 237 , 252 ] -let g:airline#themes#sol#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#sol#palette.normal_modified = { - \ 'airline_c': [ '#ffffff' , '#ff6868' , 237 , 209 , '' ] , - \ } - - -let s:I1 = [ '#eeeeee' , '#09643f' , 255 , 30 ] -let s:I2 = [ '#343434' , '#a3a3a3' , 237 , 249 ] -let s:I3 = [ '#343434' , '#b0b0b0' , 237 , 250 ] -let g:airline#themes#sol#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#sol#palette.insert_modified = { - \ 'airline_c': [ '#343434' , '#ffdbc7' , 237 , 216 , '' ] , - \ } -let g:airline#themes#sol#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , '#09643f' , s:I1[2] , 30 , '' ] , - \ } - - -let g:airline#themes#sol#palette.replace = copy(g:airline#themes#sol#palette.insert) -let g:airline#themes#sol#palette.replace.airline_a = [ s:I1[0] , '#ff2121' , s:I1[2] , 196 , '' ] -let g:airline#themes#sol#palette.replace.airline_z = [ s:I1[0] , '#ff2121' , s:I1[2] , 196 , '' ] -let g:airline#themes#sol#palette.replace_modified = g:airline#themes#sol#palette.insert_modified - -let s:V1 = [ '#ffff9a' , '#ff6003' , 222 , 202 ] -let s:V2 = [ '#343434' , '#a3a3a3' , 237 , 249 ] -let s:V3 = [ '#343434' , '#b0b0b0' , 237 , 250 ] -let g:airline#themes#sol#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#sol#palette.visual_modified = { - \ 'airline_c': [ '#343434' , '#ffdbc7' , 237 , 216 , '' ] , - \ } - -let s:IA = [ '#777777' , '#c7c7c7' , 244 , 251 , '' ] -let g:airline#themes#sol#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#sol#palette.inactive_modified = { - \ 'airline_c': [ '#ff3535' , '' , 203 , '' , '' ] , - \ } - -let g:airline#themes#sol#palette.tabline = { - \ 'airline_tab': ['#343434', '#b3b3b3', 237, 250, ''], - \ 'airline_tabsel': ['#ffffff', '#004b9a', 231, 31 , ''], - \ 'airline_tabtype': ['#343434', '#a0a0a0', 237, 248, ''], - \ 'airline_tabfill': ['#343434', '#c7c7c7', 237, 251, ''], - \ 'airline_tabmod': ['#343434', '#ffdbc7', 237, 216, ''], - \ } - -let s:WI = [ '#eeeeee', '#e33900', 255, 166 ] -let g:airline#themes#sol#palette.normal.airline_warning = [ - \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] - \ ] - -let g:airline#themes#sol#palette.normal_modified.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -let g:airline#themes#sol#palette.insert.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -let g:airline#themes#sol#palette.insert_modified.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -let g:airline#themes#sol#palette.visual.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -let g:airline#themes#sol#palette.visual_modified.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -let g:airline#themes#sol#palette.replace.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -let g:airline#themes#sol#palette.replace_modified.airline_warning = - \ g:airline#themes#sol#palette.normal.airline_warning - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#sol#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#343434' , '#c7c7c7' , 237 , 251 , '' ] , - \ [ '#343434' , '#b3b3b3' , 237 , 250 , '' ] , - \ [ '#eeeeee' , '#007fff' , 255 , 27 , '' ] ) diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/solarized.vim b/sources_non_forked/vim-airline/autoload/airline/themes/solarized.vim deleted file mode 100644 index 30ba47e6..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/solarized.vim +++ /dev/null @@ -1,176 +0,0 @@ -let g:airline#themes#solarized#palette = {} - -function! airline#themes#solarized#refresh() - """""""""""""""""""""""""""""""""""""""""""""""" - " Options - """""""""""""""""""""""""""""""""""""""""""""""" - let s:background = get(g:, 'airline_solarized_bg', &background) - let s:ansi_colors = get(g:, 'solarized_termcolors', 16) != 256 && &t_Co >= 16 ? 1 : 0 - let s:tty = &t_Co == 8 - - """""""""""""""""""""""""""""""""""""""""""""""" - " Colors - """""""""""""""""""""""""""""""""""""""""""""""" - " Base colors - let s:base03 = {'t': s:ansi_colors ? 8 : (s:tty ? '0' : 234), 'g': '#002b36'} - let s:base02 = {'t': s:ansi_colors ? '0' : (s:tty ? '0' : 235), 'g': '#073642'} - let s:base01 = {'t': s:ansi_colors ? 10 : (s:tty ? '0' : 240), 'g': '#586e75'} - let s:base00 = {'t': s:ansi_colors ? 11 : (s:tty ? '7' : 241), 'g': '#657b83'} - let s:base0 = {'t': s:ansi_colors ? 12 : (s:tty ? '7' : 244), 'g': '#839496'} - let s:base1 = {'t': s:ansi_colors ? 14 : (s:tty ? '7' : 245), 'g': '#93a1a1'} - let s:base2 = {'t': s:ansi_colors ? 7 : (s:tty ? '7' : 254), 'g': '#eee8d5'} - let s:base3 = {'t': s:ansi_colors ? 15 : (s:tty ? '7' : 230), 'g': '#fdf6e3'} - let s:yellow = {'t': s:ansi_colors ? 3 : (s:tty ? '3' : 136), 'g': '#b58900'} - let s:orange = {'t': s:ansi_colors ? 9 : (s:tty ? '1' : 166), 'g': '#cb4b16'} - let s:red = {'t': s:ansi_colors ? 1 : (s:tty ? '1' : 160), 'g': '#dc322f'} - let s:magenta = {'t': s:ansi_colors ? 5 : (s:tty ? '5' : 125), 'g': '#d33682'} - let s:violet = {'t': s:ansi_colors ? 13 : (s:tty ? '5' : 61 ), 'g': '#6c71c4'} - let s:blue = {'t': s:ansi_colors ? 4 : (s:tty ? '4' : 33 ), 'g': '#268bd2'} - let s:cyan = {'t': s:ansi_colors ? 6 : (s:tty ? '6' : 37 ), 'g': '#2aa198'} - let s:green = {'t': s:ansi_colors ? 2 : (s:tty ? '2' : 64 ), 'g': '#859900'} - - """""""""""""""""""""""""""""""""""""""""""""""" - " Simple mappings - " NOTE: These are easily tweakable mappings. The actual mappings get - " the specific gui and terminal colors from the base color dicts. - """""""""""""""""""""""""""""""""""""""""""""""" - " Normal mode - if s:background == 'dark' - let s:N1 = [s:base3, s:base1, 'bold'] - let s:N2 = [s:base2, (s:tty ? s:base01 : s:base00), ''] - let s:N3 = [s:base01, s:base02, ''] - else - let s:N1 = [s:base2, s:base00, 'bold'] - let s:N2 = [(s:tty ? s:base01 : s:base2), s:base1, ''] - let s:N3 = [s:base1, s:base2, ''] - endif - let s:NF = [s:orange, s:N3[1], ''] - let s:NW = [s:base3, s:orange, ''] - if s:background == 'dark' - let s:NM = [s:base1, s:N3[1], ''] - let s:NMi = [s:base2, s:N3[1], ''] - else - let s:NM = [s:base01, s:N3[1], ''] - let s:NMi = [s:base02, s:N3[1], ''] - endif - - " Insert mode - let s:I1 = [s:N1[0], s:yellow, 'bold'] - let s:I2 = s:N2 - let s:I3 = s:N3 - let s:IF = s:NF - let s:IM = s:NM - - " Visual mode - let s:V1 = [s:N1[0], s:magenta, 'bold'] - let s:V2 = s:N2 - let s:V3 = s:N3 - let s:VF = s:NF - let s:VM = s:NM - - " Replace mode - let s:R1 = [s:N1[0], s:red, ''] - let s:R2 = s:N2 - let s:R3 = s:N3 - let s:RM = s:NM - let s:RF = s:NF - - " Inactive, according to VertSplit in solarized - " (bg dark: base00; bg light: base0) - if s:background == 'dark' - let s:IA = [s:base02, s:base00, ''] - else - let s:IA = [s:base2, s:base0, ''] - endif - - """""""""""""""""""""""""""""""""""""""""""""""" - " Actual mappings - " WARNING: Don't modify this section unless necessary. - """""""""""""""""""""""""""""""""""""""""""""""" - let s:NFa = [s:NF[0].g, s:NF[1].g, s:NF[0].t, s:NF[1].t, s:NF[2]] - let s:IFa = [s:IF[0].g, s:IF[1].g, s:IF[0].t, s:IF[1].t, s:IF[2]] - let s:VFa = [s:VF[0].g, s:VF[1].g, s:VF[0].t, s:VF[1].t, s:VF[2]] - let s:RFa = [s:RF[0].g, s:RF[1].g, s:RF[0].t, s:RF[1].t, s:RF[2]] - - let g:airline#themes#solarized#palette.accents = { - \ 'red': s:NFa, - \ } - - let g:airline#themes#solarized#palette.inactive = airline#themes#generate_color_map( - \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]], - \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]], - \ [s:IA[0].g, s:IA[1].g, s:IA[0].t, s:IA[1].t, s:IA[2]]) - let g:airline#themes#solarized#palette.inactive_modified = { - \ 'airline_c': [s:NMi[0].g, '', s:NMi[0].t, '', s:NMi[2]]} - - let g:airline#themes#solarized#palette.normal = airline#themes#generate_color_map( - \ [s:N1[0].g, s:N1[1].g, s:N1[0].t, s:N1[1].t, s:N1[2]], - \ [s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]], - \ [s:N3[0].g, s:N3[1].g, s:N3[0].t, s:N3[1].t, s:N3[2]]) - - let g:airline#themes#solarized#palette.normal.airline_warning = [ - \ s:NW[0].g, s:NW[1].g, s:NW[0].t, s:NW[1].t, s:NW[2]] - - let g:airline#themes#solarized#palette.normal_modified = { - \ 'airline_c': [s:NM[0].g, s:NM[1].g, - \ s:NM[0].t, s:NM[1].t, s:NM[2]]} - - let g:airline#themes#solarized#palette.normal_modified.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.insert = airline#themes#generate_color_map( - \ [s:I1[0].g, s:I1[1].g, s:I1[0].t, s:I1[1].t, s:I1[2]], - \ [s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]], - \ [s:I3[0].g, s:I3[1].g, s:I3[0].t, s:I3[1].t, s:I3[2]]) - - let g:airline#themes#solarized#palette.insert.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.insert_modified = { - \ 'airline_c': [s:IM[0].g, s:IM[1].g, - \ s:IM[0].t, s:IM[1].t, s:IM[2]]} - - let g:airline#themes#solarized#palette.insert_modified.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.visual = airline#themes#generate_color_map( - \ [s:V1[0].g, s:V1[1].g, s:V1[0].t, s:V1[1].t, s:V1[2]], - \ [s:V2[0].g, s:V2[1].g, s:V2[0].t, s:V2[1].t, s:V2[2]], - \ [s:V3[0].g, s:V3[1].g, s:V3[0].t, s:V3[1].t, s:V3[2]]) - - let g:airline#themes#solarized#palette.visual.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.visual_modified = { - \ 'airline_c': [s:VM[0].g, s:VM[1].g, - \ s:VM[0].t, s:VM[1].t, s:VM[2]]} - - let g:airline#themes#solarized#palette.visual_modified.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.replace = airline#themes#generate_color_map( - \ [s:R1[0].g, s:R1[1].g, s:R1[0].t, s:R1[1].t, s:R1[2]], - \ [s:R2[0].g, s:R2[1].g, s:R2[0].t, s:R2[1].t, s:R2[2]], - \ [s:R3[0].g, s:R3[1].g, s:R3[0].t, s:R3[1].t, s:R3[2]]) - - let g:airline#themes#solarized#palette.replace.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.replace_modified = { - \ 'airline_c': [s:RM[0].g, s:RM[1].g, - \ s:RM[0].t, s:RM[1].t, s:RM[2]]} - - let g:airline#themes#solarized#palette.replace_modified.airline_warning = - \ g:airline#themes#solarized#palette.normal.airline_warning - - let g:airline#themes#solarized#palette.tabline = {} - - let g:airline#themes#solarized#palette.tabline.airline_tab = [ - \ s:I2[0].g, s:I2[1].g, s:I2[0].t, s:I2[1].t, s:I2[2]] - - let g:airline#themes#solarized#palette.tabline.airline_tabtype = [ - \ s:N2[0].g, s:N2[1].g, s:N2[0].t, s:N2[1].t, s:N2[2]] -endfunction - -call airline#themes#solarized#refresh() - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/term.vim b/sources_non_forked/vim-airline/autoload/airline/themes/term.vim deleted file mode 100644 index 288ca6ac..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/term.vim +++ /dev/null @@ -1,92 +0,0 @@ - -" vim-airline 'term' theme -" it is using current terminal colorscheme -" and in gvim i left colors from 'wombat' theme but i am not using it anyway - -" Normal mode -" [ guifg, guibg, ctermfg, ctermbg, opts ] -let s:N1 = [ '#141413' , '#CAE682' , 232 , 2 ] " mode -let s:N2 = [ '#CAE682' , '#32322F' , 2 , 'black' ] " info -let s:N3 = [ '#CAE682' , '#242424' , 2 , 233 ] " statusline -let s:N4 = [ '#86CD74' , 10 ] " mode modified - -" Insert mode -let s:I1 = [ '#141413' , '#FDE76E' , 232 , 3 ] -let s:I2 = [ '#FDE76E' , '#32322F' , 3 , 'black' ] -let s:I3 = [ '#FDE76E' , '#242424' , 3 , 233 ] -let s:I4 = [ '#FADE3E' , 11 ] - -" Visual mode -let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 4 ] -let s:V2 = [ '#B5D3F3' , '#32322F' , 4 , 'black' ] -let s:V3 = [ '#B5D3F3' , '#242424' , 4 , 233 ] -let s:V4 = [ '#7CB0E6' , 12 ] - -" Replace mode -let s:R1 = [ '#141413' , '#E5786D' , 232 , 1 ] -let s:R2 = [ '#E5786D' , '#32322F' , 1 , 'black' ] -let s:R3 = [ '#E5786D' , '#242424' , 1 , 233 ] -let s:R4 = [ '#E55345' , 9 ] - -" Paste mode -let s:PA = [ '#94E42C' , 6 ] - -" Info modified -let s:IM = [ '#40403C' , 238 ] - -" Inactive mode -let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ] - -let g:airline#themes#term#palette = {} - -let g:airline#themes#term#palette.accents = { - \ 'red': [ '#E5786D' , '' , 203 , '' , '' ], - \ } - -let g:airline#themes#term#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#term#palette.normal_modified = { - \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , - \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#term#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#term#palette.insert_modified = { - \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , - \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#term#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#term#palette.visual_modified = { - \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , - \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#term#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) -let g:airline#themes#term#palette.replace_modified = { - \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , - \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#term#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , - \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } - - -let g:airline#themes#term#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#term#palette.inactive_modified = { - \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } - - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#term#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#DADADA' , '#242424' , 253 , 234 , '' ] , - \ [ '#DADADA' , '#40403C' , 253 , 238 , '' ] , - \ [ '#141413' , '#DADADA' , 232 , 253 , 'bold' ] ) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/tomorrow.vim b/sources_non_forked/vim-airline/autoload/airline/themes/tomorrow.vim deleted file mode 100644 index f382fc14..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/tomorrow.vim +++ /dev/null @@ -1,44 +0,0 @@ -let g:airline#themes#tomorrow#palette = {} - -function! airline#themes#tomorrow#refresh() - let g:airline#themes#tomorrow#palette.accents = { - \ 'red': airline#themes#get_highlight('Constant'), - \ } - - let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Directory', 'fg'], 'bold') - let s:N2 = airline#themes#get_highlight('Pmenu') - let s:N3 = airline#themes#get_highlight('CursorLine') - let g:airline#themes#tomorrow#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - - let group = airline#themes#get_highlight('vimCommand') - let g:airline#themes#tomorrow#palette.normal_modified = { - \ 'airline_c': [ group[0], '', group[2], '', '' ] - \ } - - let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['MoreMsg', 'fg'], 'bold') - let s:I2 = airline#themes#get_highlight2(['MoreMsg', 'fg'], ['Normal', 'bg']) - let s:I3 = s:N3 - let g:airline#themes#tomorrow#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#tomorrow#palette.insert_modified = g:airline#themes#tomorrow#palette.normal_modified - - let s:R1 = airline#themes#get_highlight('Error', 'bold') - let s:R2 = s:N2 - let s:R3 = s:N3 - let g:airline#themes#tomorrow#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#tomorrow#palette.replace_modified = g:airline#themes#tomorrow#palette.normal_modified - - let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Constant', 'fg'], 'bold') - let s:V2 = airline#themes#get_highlight2(['Constant', 'fg'], ['Normal', 'bg']) - let s:V3 = s:N3 - let g:airline#themes#tomorrow#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#tomorrow#palette.visual_modified = g:airline#themes#tomorrow#palette.normal_modified - - let s:IA = airline#themes#get_highlight2(['NonText', 'fg'], ['CursorLine', 'bg']) - let g:airline#themes#tomorrow#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#tomorrow#palette.inactive_modified = { - \ 'airline_c': [ group[0], '', group[2], '', '' ] - \ } -endfunction - -call airline#themes#tomorrow#refresh() - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/ubaryd.vim b/sources_non_forked/vim-airline/autoload/airline/themes/ubaryd.vim deleted file mode 100644 index 70232ef8..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/ubaryd.vim +++ /dev/null @@ -1,64 +0,0 @@ -" vim-airline companion theme of Ubaryd -" (https://github.com/Donearm/Ubaryd) - -" Normal mode -let s:N1 = [ '#141413' , '#c7b386' , 232 , 252 ] " blackestgravel & bleaksand -let s:N2 = [ '#c7b386' , '#45413b' , 252, 238 ] " bleaksand & deepgravel -let s:N3 = [ '#b88853' , '#242321' , 137, 235 ] " toffee & darkgravel -let s:N4 = [ '#857f78' , 243 ] " gravel - -" Insert mode -let s:I1 = [ '#1a1a18' , '#fade3e' , 232 , 221 ] " blackestgravel & warmcorn -let s:I2 = [ '#c7b386' , '#45413b' , 252 , 238 ] " bleaksand & deepgravel -let s:I3 = [ '#f4cf86' , '#242321' , 222 , 235 ] " lighttannedskin & darkgravel - -" Visual mode -let s:V1 = [ '#1c1b1a' , '#9a4820' , 233 , 88 ] " blackgravel & warmadobe -let s:V2 = [ '#000000' , '#88633f' , 16 , 95 ] " coal & cappuccino -let s:V3 = [ '#88633f' , '#c7b386' , 95 , 252 ] " cappuccino & bleaksand -let s:V4 = [ '#c14c3d' , 160 ] " tannedumbrella - -" Replace mode -let s:RE = [ '#c7915b' , 173 ] " nut - -" Paste mode -let s:PA = [ '#f9ef6d' , 154 ] " bleaklemon - -let s:IA = [ s:N2[1], s:N3[1], s:N2[3], s:N3[3], '' ] - -let g:airline#themes#ubaryd#palette = {} - -let g:airline#themes#ubaryd#palette.accents = { - \ 'red': [ '#ff7400' , '' , 196 , '' , '' ], - \ } - -let g:airline#themes#ubaryd#palette.inactive = { - \ 'airline_a' : [ s:N2[1] , s:N3[1] , s:N2[3] , s:N3[3] , '' ] } - - -let g:airline#themes#ubaryd#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#ubaryd#palette.normal_modified = { - \ 'airline_a' : [ s:N2[0] , s:N4[0] , s:N2[2] , s:N4[1] , '' ] , - \ 'airline_c' : [ s:V1[1] , s:N2[1] , s:V1[3] , s:N2[3] , '' ] } - - -let g:airline#themes#ubaryd#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#ubaryd#palette.insert_modified = { - \ 'airline_c' : [ s:V2[1] , s:N2[1] , s:V2[3] , s:N2[3] , '' ] } -let g:airline#themes#ubaryd#palette.insert_paste = { - \ 'airline_a' : [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] } - - -let g:airline#themes#ubaryd#palette.replace = copy(airline#themes#ubaryd#palette.insert) -let g:airline#themes#ubaryd#palette.replace.airline_a = [ s:I1[0] , s:RE[0] , s:I1[2] , s:RE[1] , '' ] -let g:airline#themes#ubaryd#palette.replace_modified = g:airline#themes#ubaryd#palette.insert_modified - - -let g:airline#themes#ubaryd#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#ubaryd#palette.visual_modified = { - \ 'airline_c' : [ s:V3[0] , s:V4[0] , s:V3[2] , s:V4[1] , '' ] } - -let g:airline#themes#ubaryd#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#ubaryd#palette.inactive_modified = { - \ 'airline_c' : [ s:V1[1] , '' , s:V1[3] , '' , '' ] } - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/understated.vim b/sources_non_forked/vim-airline/autoload/airline/themes/understated.vim deleted file mode 100644 index b3e79179..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/understated.vim +++ /dev/null @@ -1,43 +0,0 @@ -let g:airline#themes#understated#palette = {} - -let s:N1 = ['#FFFFFF', '#5F87FF', 15, 69] " Outside blocks in normal mode (mode and file position) -let s:N2 = ['#AFAF87', '#5F5F5F', 144, 59] " Next blocks inside (branch and file format) -let s:N3 = ['#AFAF87', '#5F5F5F', 144, 59] " The middle block - -let g:airline#themes#understated#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#understated#palette.normal_modified = {'airline_c': ['#ffffff', '#5f005f', 144, 59, 'bold'] ,} - -let s:I1 = ['#FFFFFF', '#87AF5F', 15, 107] " Outside blocks in normal mode (mode and file position) -let s:I2 = ['#AFAF87', '#5F5F5F', 144, 59] " Next blocks inside (branch and file format) -let s:I3 = ['#AFAF87', '#5F5F5F', 144, 59] " The middle block -let g:airline#themes#understated#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#understated#palette.insert_modified = {'airline_c': ['#AFAF87', '#5F5F5F', 144, 59, 'bold'] ,} -let g:airline#themes#understated#palette.insert_paste = {'airline_c': ['#AFAF87', '#5F5F5F', 144, 59, ''] ,} - -let g:airline#themes#understated#palette.replace = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#understated#palette.replace.airline_a = ['#FFFFFF', '#870000', 15, 88, ''] -let g:airline#themes#understated#palette.replace_modified = {'airline_c': ['#AFAF87', '#5F5F5F', 144, 59, 'bold'] ,} - -let s:V1 = ['#FFFFFF', '#AF5F00', 15, 130] -let s:V2 = ['#AFAF87', '#5F5F5F', 144, 59] -let s:V3 = ['#AFAF87', '#5F5F5F', 144, 59] -let g:airline#themes#understated#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#understated#palette.visual_modified = {'airline_c': [ '#AFAF87', '#5f005f', 144, 59, 'bold'] ,} - -let s:V1 = ['#080808', '#FFAF00', 232, 214] -let s:IA1 = ['#4E4E4E', '#1C1C1C', 239, 234, ''] -let s:IA2 = ['#4E4E4E', '#1C1C1C', 239, 234, ''] -let s:IA3 = ['#4E4E4E', '#1C1C1C', 239, 234, ''] -let g:airline#themes#understated#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) -let g:airline#themes#understated#palette.inactive_modified = {'airline_c': ['#4E4E4E', '', 239, '', 'bold'] ,} - -let g:airline#themes#understated#palette.accents = {'red': ['#FF0000', '', 88, '']} - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#understated#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ ['#FFFFFF', '#1C1C1C', 15, 234, '' ], - \ ['#FFFFFF', '#262626', 15, 235, '' ], - \ ['#FFFFFF', '#303030', 15, 236, 'bold']) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/wombat.vim b/sources_non_forked/vim-airline/autoload/airline/themes/wombat.vim deleted file mode 100644 index 39fdc4c1..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/wombat.vim +++ /dev/null @@ -1,90 +0,0 @@ -" vim-airline companion theme of Wombat -" looks great with wombat256 vim colorscheme - -" Normal mode -" [ guifg, guibg, ctermfg, ctermbg, opts ] -let s:N1 = [ '#141413' , '#CAE682' , 232 , 192 ] " mode -let s:N2 = [ '#CAE682' , '#32322F' , 192 , 236 ] " info -let s:N3 = [ '#CAE682' , '#242424' , 192 , 234 ] " statusline -let s:N4 = [ '#86CD74' , 113 ] " mode modified - -" Insert mode -let s:I1 = [ '#141413' , '#FDE76E' , 232 , 227 ] -let s:I2 = [ '#FDE76E' , '#32322F' , 227 , 236 ] -let s:I3 = [ '#FDE76E' , '#242424' , 227 , 234 ] -let s:I4 = [ '#FADE3E' , 221 ] - -" Visual mode -let s:V1 = [ '#141413' , '#B5D3F3' , 232 , 153 ] -let s:V2 = [ '#B5D3F3' , '#32322F' , 153 , 236 ] -let s:V3 = [ '#B5D3F3' , '#242424' , 153 , 234 ] -let s:V4 = [ '#7CB0E6' , 111 ] - -" Replace mode -let s:R1 = [ '#141413' , '#E5786D' , 232 , 173 ] -let s:R2 = [ '#E5786D' , '#32322F' , 173 , 236 ] -let s:R3 = [ '#E5786D' , '#242424' , 173 , 234 ] -let s:R4 = [ '#E55345' , 203 ] - -" Paste mode -let s:PA = [ '#94E42C' , 47 ] - -" Info modified -let s:IM = [ '#40403C' , 238 ] - -" Inactive mode -let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ] - -let g:airline#themes#wombat#palette = {} - -let g:airline#themes#wombat#palette.accents = { - \ 'red': [ '#E5786D' , '' , 203 , '' , '' ], - \ } - -let g:airline#themes#wombat#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) -let g:airline#themes#wombat#palette.normal_modified = { - \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] , - \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#wombat#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) -let g:airline#themes#wombat#palette.insert_modified = { - \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] , - \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#wombat#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) -let g:airline#themes#wombat#palette.visual_modified = { - \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] , - \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#wombat#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) -let g:airline#themes#wombat#palette.replace_modified = { - \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] , - \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] } - - -let g:airline#themes#wombat#palette.insert_paste = { - \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] , - \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] , - \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] } - - -let g:airline#themes#wombat#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) -let g:airline#themes#wombat#palette.inactive_modified = { - \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] } - - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif -let g:airline#themes#wombat#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( - \ [ '#DADADA' , '#242424' , 253 , 234 , '' ] , - \ [ '#DADADA' , '#40403C' , 253 , 238 , '' ] , - \ [ '#141413' , '#DADADA' , 232 , 253 , 'bold' ] ) - diff --git a/sources_non_forked/vim-airline/autoload/airline/themes/zenburn.vim b/sources_non_forked/vim-airline/autoload/airline/themes/zenburn.vim deleted file mode 100644 index 9883c213..00000000 --- a/sources_non_forked/vim-airline/autoload/airline/themes/zenburn.vim +++ /dev/null @@ -1,44 +0,0 @@ -let g:airline#themes#zenburn#palette = {} - -function! airline#themes#zenburn#refresh() - let g:airline#themes#zenburn#palette.accents = { - \ 'red': airline#themes#get_highlight('Constant'), - \ } - - let s:N1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Folded', 'fg'], 'bold') - let s:N2 = airline#themes#get_highlight('Folded') - let s:N3 = airline#themes#get_highlight('NonText') - - let g:airline#themes#zenburn#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let s:Nmod = airline#themes#get_highlight('Comment') - let g:airline#themes#zenburn#palette.normal_modified = { - \ 'airline_c': s:Nmod - \ } - - let s:I1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['String', 'fg'], 'bold') - let s:I2 = airline#themes#get_highlight2(['String', 'fg'], ['Folded', 'bg']) - let s:I3 = s:N3 - let g:airline#themes#zenburn#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#zenburn#palette.insert_modified = g:airline#themes#zenburn#palette.normal_modified - - let s:R1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Comment', 'fg'], 'bold') - let s:R2 = airline#themes#get_highlight2(['Comment', 'fg'], ['Folded', 'bg']) - let s:R3 = s:N3 - let g:airline#themes#zenburn#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#zenburn#palette.replace_modified = g:airline#themes#zenburn#palette.normal_modified - - let s:V1 = airline#themes#get_highlight2(['DbgCurrent', 'bg'], ['Identifier', 'fg'], 'bold') - let s:V2 = airline#themes#get_highlight2(['Identifier', 'fg'], ['Folded', 'bg']) - let s:V3 = s:N3 - let g:airline#themes#zenburn#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#zenburn#palette.visual_modified = g:airline#themes#zenburn#palette.normal_modified - - let s:IA = airline#themes#get_highlight('NonText') - let g:airline#themes#zenburn#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#zenburn#palette.inactive_modified = { - \ 'airline_c': s:Nmod - \ } -endfunction - -call airline#themes#zenburn#refresh() - diff --git a/sources_non_forked/vim-airline/autoload/airline/util.vim b/sources_non_forked/vim-airline/autoload/airline/util.vim index 10aac5cb..65cf9068 100644 --- a/sources_non_forked/vim-airline/autoload/airline/util.vim +++ b/sources_non_forked/vim-airline/autoload/airline/util.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 call airline#init#bootstrap() diff --git a/sources_non_forked/vim-airline/doc/airline.txt b/sources_non_forked/vim-airline/doc/airline.txt index 7911a69f..79e10122 100644 --- a/sources_non_forked/vim-airline/doc/airline.txt +++ b/sources_non_forked/vim-airline/doc/airline.txt @@ -82,8 +82,12 @@ values): < * themes are automatically selected based on the matching colorscheme. this can be overridden by defining a value. > - let g:airline_theme= + let g:airline_theme='dark' < + Note: Only the dark theme is distributed with vim-airline. For more themes, + checkout the vim-airline-themes repository + (github.com/vim-airline/vim-airline-themes) + * if you want to patch the airline theme before it gets applied, you can supply the name of a function where you can modify the palette. > let g:airline_theme_patch_func = 'AirlineThemePatch' @@ -187,6 +191,7 @@ its contents. > let g:airline_symbols.paste = 'ρ' let g:airline_symbols.paste = 'Þ' let g:airline_symbols.paste = '∥' + let g:airline_symbols.notexists = '∄' let g:airline_symbols.whitespace = 'Ξ' " powerline symbols @@ -225,7 +230,8 @@ section. let g:airline_section_x (tagbar, filetype, virtualenv) let g:airline_section_y (fileencoding, fileformat) let g:airline_section_z (percentage, line number, column number) - let g:airline_section_warning (syntastic, whitespace) + let g:airline_section_error (ycm_error_count, syntastic, eclim) + let g:airline_section_warning (ycm_warning_count, whitespace) " here is an example of how you could replace the branch indicator with " the current working directory, followed by the filename. @@ -266,6 +272,8 @@ configuration values that you can use. \ 'x': 60, \ 'y': 88, \ 'z': 45, + \ 'warning': 80, + \ 'error': 80, \ } " Note: set to an empty dictionary to disable truncation. @@ -275,9 +283,13 @@ configuration values that you can use. (first array is the left side, second array is the right side). > let g:airline#extensions#default#layout = [ \ [ 'a', 'b', 'c' ], - \ [ 'x', 'y', 'z', 'warning' ] + \ [ 'x', 'y', 'z', 'error', 'warning' ] \ ] < +* configure the layout to not use %(%) grouping items in the statusline. + Try setting this to zero, if you notice bleeding color artifacts > + let airline#extensions#default#section_use_groupitems = 1 +< ------------------------------------- *airline-quickfix* The quickfix extension is a simple built-in extension which determines whether the buffer is a quickfix or location list buffer, and adjusts the @@ -310,6 +322,10 @@ vcscommand * change the text for when no branch is detected > let g:airline#extensions#branch#empty_message = '' < +* define the order in which the branches of different vcs systems will be + displayed on the statusline (currently only for fugitive and lawrencium) > + let g:airline#extensions#branch#vcs_priority = ["git", "mercurial"] +< * use vcscommand.vim if available > let g:airline#extensions#branch#use_vcscommand = 0 < @@ -413,6 +429,22 @@ eclim " the default value matches filetypes typically used for documentation " such as markdown and help files. let g:airline#extensions#wordcount#filetypes = ... + (default: markdown,rst,org,help,text) + +* defines the name of a formatter for word count will be displayed: > + " The default will try to guess LC_NUMERIC and format number accordingly + " e.g. 1,042 in English and 1.042 in German locale + let g:airline#extensions#wordcount#formatter = 'default' + + " here is how you can define a 'foo' formatter: + " create a file in the dir autoload/airline/extensions/wordcount/formatters/ + " called foo.vim + " this example needs at least Vim > 7.4.1042 + function! airline#extensions#wordcount#formatters#foo#format() + return (wordcount()['words'] == 0 ? 'NONE' : + \ wordcount()['words'] > 100 ? 'okay' : 'not enough') + endfunction + let g:airline#extensions#wordline#formatter = 'foo' < ------------------------------------- *airline-whitespace* * enable/disable detection of whitespace errors. > @@ -435,7 +467,11 @@ eclim let g:airline#extensions#whitespace#symbol = '!' < * configure which whitespace checks to enable. > - let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'long' ] + " indent: mixed indent within a line + " long: overlong lines + " trailing: trailing whitespace + " mixed-indent-file: different indentation in different lines + let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'long', 'mixed-indent-file' ] < * configure the maximum number of lines where whitespace checking is enabled. > let g:airline#extensions#whitespace#max_lines = 20000 @@ -447,6 +483,10 @@ eclim let g:airline#extensions#whitespace#trailing_format = 'trailing[%s]' let g:airline#extensions#whitespace#mixed_indent_format = 'mixed-indent[%s]' let g:airline#extensions#whitespace#long_format = 'long[%s]' + let g:airline#extensions#whitespace#mixed_indent_file_format = 'mix-indent-file[%s]' + +* configure custom trailing whitespace regexp rule > + let g:airline#extensions#whitespace#trailing_regexp = '\s$' < ------------------------------------- *airline-tabline* * enable/disable enhanced tabline. > @@ -461,7 +501,7 @@ eclim * configure filename match rules to exclude from the tabline. > let g:airline#extensions#tabline#excludes = [] -* enable/disable display preview window buffer in the tabline. +* enable/disable display preview window buffer in the tabline. > let g:airline#extensions#tabline#exclude_preview = 1 * configure how numbers are displayed in tab mode. > @@ -472,14 +512,18 @@ eclim * enable/disable displaying tab number in tabs mode. > let g:airline#extensions#tabline#show_tab_nr = 1 -* enable/disable displaying tab type (far right) +* enable/disable displaying tab type (far right) > let g:airline#extensions#tabline#show_tab_type = 1 * enable/disable displaying index of the buffer. -When enabled, numbers will be displayed in the tabline and mappings will be -exposed to allow you to select a buffer directly. Up to 9 mappings will be -exposed. + Note: If you're using ctrlspace the tabline shows your tabs on the right and + buffer on the left. Also none of the tabline switches is currently + supported! + + When enabled, numbers will be displayed in the tabline and mappings will be + exposed to allow you to select a buffer directly. Up to 9 mappings will be + exposed. > let g:airline#extensions#tabline#buffer_idx_mode = 1 nmap 1 AirlineSelectTab1 @@ -491,14 +535,23 @@ exposed. nmap 7 AirlineSelectTab7 nmap 8 AirlineSelectTab8 nmap 9 AirlineSelectTab9 + nmap - AirlineSelectPrevTab + nmap + AirlineSelectNextTab Note: Mappings will be ignored within a NERDTree buffer. + Note: In buffer_idx_mode these mappings won't change the + current tab, but switch to the buffer visible in that tab. + Use |gt| for switching tabs. + In tabmode, those mappings will switch to the specified tab. + * defines the name of a formatter for how buffer names are displayed. > let g:airline#extensions#tabline#formatter = 'default' " here is how you can define a 'foo' formatter: - function! airline#extensions#tabline#foo#format(bufnr, buffers) + " create a file in the dir autoload/airline/extensions/tabline/formatters/ + " called foo.vim + function! airline#extensions#tabline#formatters#foo#format(bufnr, buffers) return fnamemodify(bufname(a:bufnr), ':t') endfunction let g:airline#extensions#tabline#formatter = 'foo' @@ -550,12 +603,17 @@ exposed. let g:airline#extensions#tabline#right_sep = '' let g:airline#extensions#tabline#right_alt_sep = '' -* configure whether close button should be shown +* configure whether close button should be shown: > let g:airline#extensions#tabline#show_close_button = 1 -* configure symbol used to represent close button +* configure symbol used to represent close button > let g:airline#extensions#tabline#close_symbol = 'X' +* configure pattern to be ignored on BufAdd autocommand > + " fixes unneccessary redraw, when e.g. opening Gundo window + let airline#extensions#tabline#ignore_bufadd_pat = + \ '\c\vgundo|undotree|vimfiler|tagbar|nerd_tree' + < Note: Enabling this extension will modify 'showtabline' and 'guioptions'. @@ -628,6 +686,26 @@ vim-ctrlspace * enable/disable vim-ctrlspace integration > let g:airline#extensions#ctrlspace#enabled = 1 + + To make the vim-ctrlspace integration work you will need to make the + ctrlspace statusline function call the correct airline function. Therefore + add the following line into your .vimrc: + + let g:CtrlSpaceStatuslineFunction = "airline#extensions#ctrlspace#statusline()" +< +------------------------------------- *airline-ycm* +YouCompleteMe + +Shows number of errors and warnings in the current file detected by YCM. + +* enable/disable YCM integration > + let g:airline#extensions#ycm#enabled = 1 + +* set error count prefix > + let g:airline#extensions#ycm#error_symbol = 'E:' + +* set warning count prefix > + let g:airline#extensions#ycm#warning_symbol = 'W:' < ============================================================================== ADVANCED CUSTOMIZATION *airline-advanced-customization* @@ -653,6 +731,10 @@ greater than a minimum width. > Parts can be configured to be visible conditionally. > call airline#parts#define_condition('foo', 'getcwd() =~ "work_dir"') < + +Now add part "foo" to section section airline_section_y: > + let g:airline_section_y = airline#section#create_right(['ffenc','foo']) +< Note: Part definitions are combinative; e.g. the two examples above modify the same `foo` part. @@ -664,7 +746,7 @@ Before is a list of parts that are predefined by vim-airline. * `mode` displays the current mode * `iminsert` displays the current insert method * `paste` displays the paste indicator -* crypt displays the crypted indicator +* `crypt` displays the crypted indicator * `filetype` displays the file type * `readonly` displays the read only indicator * `file` displays the filename and modified indicator @@ -832,9 +914,12 @@ VimL syntax to write a theme, but if you've written in any programming language before it will be easy to pick up. The |dark.vim| theme fully documents this procedure and will guide you through -the process. The |jellybeans.vim| theme is another example of how to write a -theme, but instead of manually declaring colors, it extracts the values from -highlight groups. +the process. + +For other examples, you can visit the official themes repository at +. It also includes +examples such as |jellybeans.vim| which define colors by extracting highlight +groups from the underlying colorscheme. ============================================================================== TROUBLESHOOTING *airline-troubleshooting* @@ -866,9 +951,14 @@ A. Certain themes are derived from the active colorscheme by extracting colors their intended matching colorschemes, but will be hit or miss when loaded with other colorschemes. +Q. Themes are missing +A. Themes have been extracted into the vim-airlines-themes repository. Simply + clone https://github.com/vim-airline/vim-airline-themes and everything + should work again. + Solutions to other common problems can be found in the Wiki: - + ============================================================================== CONTRIBUTIONS *airline-contributions* @@ -878,7 +968,6 @@ Contributions and pull requests are welcome. ============================================================================== LICENSE *airline-license* -MIT License. Copyright © 2013-2015 Bailey Ling. - +MIT License. Copyright © 2013-2016 Bailey Ling. vim:tw=78:ts=8:ft=help:norl: diff --git a/sources_non_forked/vim-airline/plugin/airline.vim b/sources_non_forked/vim-airline/plugin/airline.vim index 847eaed1..fc8e975b 100644 --- a/sources_non_forked/vim-airline/plugin/airline.vim +++ b/sources_non_forked/vim-airline/plugin/airline.vim @@ -1,4 +1,4 @@ -" MIT License. Copyright (c) 2013-2015 Bailey Ling. +" MIT License. Copyright (c) 2013-2016 Bailey Ling. " vim: et ts=2 sts=2 sw=2 if &cp || v:version < 702 || (exists('g:loaded_airline') && g:loaded_airline) @@ -7,7 +7,6 @@ endif let g:loaded_airline = 1 let s:airline_initialized = 0 -let s:airline_theme_defined = 0 function! s:init() if s:airline_initialized return @@ -17,17 +16,25 @@ function! s:init() call airline#extensions#load() call airline#init#sections() - let s:airline_theme_defined = exists('g:airline_theme') - if s:airline_theme_defined || !airline#switch_matching_theme() - let g:airline_theme = get(g:, 'airline_theme', 'dark') - call airline#switch_theme(g:airline_theme) + let s:theme_in_vimrc = exists('g:airline_theme') + if s:theme_in_vimrc + try + let palette = g:airline#themes#{g:airline_theme}#palette + catch + echom 'Could not resolve airline theme "' . g:airline_theme . '". Themes have been migrated to github.com/vim-airline/vim-airline-themes.' + let g:airline_theme = 'dark' + endtry + silent call airline#switch_theme(g:airline_theme) + else + let g:airline_theme = 'dark' + silent call s:on_colorscheme_changed() endif silent doautocmd User AirlineAfterInit endfunction function! s:on_window_changed() - if pumvisible() + if pumvisible() && (!&previewwindow || g:airline_exclude_preview) return endif call s:init() @@ -36,10 +43,9 @@ endfunction function! s:on_colorscheme_changed() call s:init() - if !s:airline_theme_defined - if airline#switch_matching_theme() - return - endif + let g:airline_gui_mode = airline#init#gui_mode() + if !s:theme_in_vimrc + call airline#switch_matching_theme() endif " couldn't find a match, or theme was defined, just refresh @@ -72,10 +78,11 @@ function! s:airline_toggle() \ | call on_window_changed() autocmd CmdwinLeave * call airline#remove_statusline_func('airline#cmdwinenter') - autocmd ColorScheme * call on_colorscheme_changed() + autocmd GUIEnter,ColorScheme * call on_colorscheme_changed() autocmd VimEnter,WinEnter,BufWinEnter,FileType,BufUnload,VimResized * \ call on_window_changed() + autocmd TabEnter * :unlet! w:airline_lastmode autocmd BufWritePost */autoload/airline/themes/*.vim \ exec 'source '.split(globpath(&rtp, 'autoload/airline/themes/'.g:airline_theme.'.vim', 1), "\n")[0] \ | call airline#load_theme() @@ -102,13 +109,16 @@ function! s:airline_theme(...) endif endfunction +function! s:airline_refresh() + silent doautocmd User AirlineBeforeRefresh + call airline#load_theme() + call airline#update_statusline() +endfunction + command! -bar -nargs=? -complete=customlist,get_airline_themes AirlineTheme call airline_theme() command! -bar AirlineToggleWhitespace call airline#extensions#whitespace#toggle() command! -bar AirlineToggle call s:airline_toggle() -command! -bar AirlineRefresh call airline#load_theme() | call airline#update_statusline() +command! -bar AirlineRefresh call s:airline_refresh() call airline#init#bootstrap() call s:airline_toggle() - -autocmd VimEnter * call airline#deprecation#check() - diff --git a/sources_non_forked/vim-airline/t/commands.vim b/sources_non_forked/vim-airline/t/commands.vim index 4e23d5dd..0f4bcb62 100644 --- a/sources_non_forked/vim-airline/t/commands.vim +++ b/sources_non_forked/vim-airline/t/commands.vim @@ -22,6 +22,10 @@ describe 'commands' Expect g:airline_theme == 'simple' execute 'AirlineTheme dark' Expect g:airline_theme == 'dark' + execute 'AirlineTheme doesnotexist' + Expect g:airline_theme == 'dark' + colors molokai + Expect g:airline_theme == 'molokai' end it 'should have a refresh command' diff --git a/sources_non_forked/vim-airline/t/themes.vim b/sources_non_forked/vim-airline/t/themes.vim index d735229e..5a13993e 100644 --- a/sources_non_forked/vim-airline/t/themes.vim +++ b/sources_non_forked/vim-airline/t/themes.vim @@ -28,10 +28,10 @@ describe 'themes' it 'should pass args through correctly' let hl = airline#themes#get_highlight('Foo', 'bold', 'italic') - Expect hl == ['', '', 0, 1, 'bold,italic'] + Expect hl == ['', '', 'NONE', 'NONE', 'bold,italic'] let hl = airline#themes#get_highlight2(['Foo','bg'], ['Foo','fg'], 'italic', 'bold') - Expect hl == ['', '', 1, 0, 'italic,bold'] + Expect hl == ['', '', 'NONE', 'NONE', 'italic,bold'] end it 'should generate color map with mirroring' diff --git a/sources_non_forked/vim-colorschemes b/sources_non_forked/vim-colorschemes new file mode 160000 index 00000000..28a989b2 --- /dev/null +++ b/sources_non_forked/vim-colorschemes @@ -0,0 +1 @@ +Subproject commit 28a989b28457e38df620e4c7ab23e224aff70efe diff --git a/sources_non_forked/vim-commentary/doc/commentary.txt b/sources_non_forked/vim-commentary/doc/commentary.txt index d6deed05..b0485694 100644 --- a/sources_non_forked/vim-commentary/doc/commentary.txt +++ b/sources_non_forked/vim-commentary/doc/commentary.txt @@ -6,9 +6,6 @@ License: Same terms as Vim itself (see |license|) Comment stuff out. Then uncomment it later. Relies on 'commentstring' to be correctly set, or uses b:commentary_format if it is set. -The gc mappings are preferred, while the \\ mappings are provided for -backwards compatibility. - *gc* gc{motion} Comment or uncomment lines that {motion} moves over. diff --git a/sources_non_forked/vim-commentary/plugin/commentary.vim b/sources_non_forked/vim-commentary/plugin/commentary.vim index 2fc7db7e..3aedd8d5 100644 --- a/sources_non_forked/vim-commentary/plugin/commentary.vim +++ b/sources_non_forked/vim-commentary/plugin/commentary.vim @@ -1,6 +1,6 @@ " commentary.vim - Comment stuff out " Maintainer: Tim Pope -" Version: 1.2 +" Version: 1.3 " GetLatestVimScripts: 3695 1 :AutoInstall: commentary.vim if exists("g:loaded_commentary") || &cp || v:version < 700 @@ -100,11 +100,4 @@ if !hasmapto('Commentary') || maparg('gc','n') ==# '' nmap gcu CommentaryCommentary endif -if maparg('\\','n') ==# '' && maparg('\','n') ==# '' && get(g:, 'commentary_map_backslash', 1) - xmap \\ Commentary:echomsg '\\ is deprecated. Use gc' - nmap \\ :echomsg '\\ is deprecated. Use gc'Commentary - nmap \\\ CommentaryLine:echomsg '\\ is deprecated. Use gc' - nmap \\u CommentaryUndo:echomsg '\\ is deprecated. Use gc' -endif - " vim:set et sw=2: diff --git a/sources_non_forked/vim-fugitive/plugin/fugitive.vim b/sources_non_forked/vim-fugitive/plugin/fugitive.vim index 046bd174..0886b458 100644 --- a/sources_non_forked/vim-fugitive/plugin/fugitive.vim +++ b/sources_non_forked/vim-fugitive/plugin/fugitive.vim @@ -2180,7 +2180,7 @@ call s:command("-bar -bang -range=0 -nargs=* -complete=customlist,s:EditComplete function! s:Browse(bang,line1,count,...) abort try - let validremote = '\.\|\.\=/.*\|[[:alnum:]_-]\+\%(://.\{-\}\)' + let validremote = '\.\|\.\=/.*\|[[:alnum:]_-]\+\%(://.\{-\}\)\=' if a:0 let remote = matchstr(join(a:000, ' '),'@\zs\%('.validremote.'\)$') let rev = substitute(join(a:000, ' '),'@\%('.validremote.'\)$','','') @@ -2547,6 +2547,8 @@ function! s:BufReadIndex() abort nnoremap dv :execute StageDiff('Gvdiff') nnoremap p :execute StagePatch(line('.'),line('.')+v:count1-1) xnoremap p :execute StagePatch(line("'<"),line("'>")) + nnoremap P :execute StagePatch(line('.'),line('.')+v:count1-1) + xnoremap P :execute StagePatch(line("'<"),line("'>")) nnoremap q :if bufnr('$') == 1quitelsebdeleteendif nnoremap r :edit nnoremap R :edit @@ -2980,7 +2982,11 @@ function! fugitive#cfile() abort let pre = '' let results = s:cfile() if empty(results) - return expand('') + let cfile = expand('') + if &includeexpr =~# '\' + sandbox let cfile = eval(substitute(&includeexpr, '\C\', '\=string(cfile)', 'g')) + endif + return cfile elseif len(results) > 1 let pre = '+' . join(map(results[1:-1], 'escape(v:val, " ")'), '\|') . ' ' endif diff --git a/sources_non_forked/vim-go/README.md b/sources_non_forked/vim-go/README.md index e75c3271..1394c393 100644 --- a/sources_non_forked/vim-go/README.md +++ b/sources_non_forked/vim-go/README.md @@ -39,10 +39,15 @@ disabled/enabled easily. * Share your current code to [play.golang.org](http://play.golang.org) with `:GoPlay` * On-the-fly type information about the word under the cursor. Plug it into your custom vim function. +* Go asm formatting on save * Tagbar support to show tags of the source code in a sidebar with `gotags` * Custom vim text objects such as `a function` or `inner function` -* All commands support collecting and displaying errors in Vim's location list. +* A async launcher for the go command is implemented for Neovim, fully async + building and testing (beta). +* Integrated with the Neovim terminal, launch `:GoRun` and other go commands + in their own new terminal. (beta) +* Alternate between implementation and test code with `:GoAlternate` ## Install @@ -73,15 +78,18 @@ installed binaries. * Autocompletion is enabled by default via ``. To get real-time completion (completion by type) install: -[YCM](https://github.com/Valloric/YouCompleteMe) or -[neocomplete](https://github.com/Shougo/neocomplete.vim). +[neocomplete](https://github.com/Shougo/neocomplete.vim) for Vim or +[deoplete](https://github.com/Shougo/deoplete.nvim) and +[deoplete-go](https://github.com/zchee/deoplete-go) for NeoVim * To display source code tag information on a sidebar install [tagbar](https://github.com/majutsushi/tagbar). * For snippet features install: -[ultisnips](https://github.com/SirVer/ultisnips) or -[neosnippet](https://github.com/Shougo/neosnippet.vim). -* Screenshot color scheme is a slightly modified molokai: [fatih/molokai](https://github.com/fatih/molokai). -* For a better documentation viewer checkout: [go-explorer](https://github.com/garyburd/go-explorer). +[neosnippet](https://github.com/Shougo/neosnippet.vim) or +[ultisnips](https://github.com/SirVer/ultisnips). +* Screenshot color scheme is a slightly modified molokai: + [fatih/molokai](https://github.com/fatih/molokai). +* For a better documentation viewer checkout: + [go-explorer](https://github.com/garyburd/go-explorer). ## Usage @@ -99,9 +107,9 @@ vim-go has several `` mappings which can be used to create custom mappings. Below are some examples you might find useful: Run commands such as `go run` for the current file with `r` or `go -build` and `go test` for the current package with `b` and `t` respectively. -Display beautifully annotated source code to see which functions are covered -with `c`. +build` and `go test` for the current package with `b` and `t` +respectively. Display beautifully annotated source code to see which functions +are covered with `c`. ```vim au FileType go nmap r (go-run) @@ -159,7 +167,8 @@ recommendations, you are free to create more advanced mappings or functions based on `:he go-commands`. ## Settings -Below are some settings you might find useful. For the full list see `:he go-settings`. +Below are some settings you might find useful. For the full list see `:he +go-settings`. By default syntax-highlighting for Functions, Methods and Structs is disabled. To change it: @@ -167,6 +176,7 @@ To change it: let g:go_highlight_functions = 1 let g:go_highlight_methods = 1 let g:go_highlight_structs = 1 +let g:go_highlight_interfaces = 1 let g:go_highlight_operators = 1 let g:go_highlight_build_constraints = 1 ``` @@ -203,23 +213,39 @@ let g:go_bin_path = expand("~/.gotools") let g:go_bin_path = "/home/fatih/.mypath" "or give absolute path ``` -### Location list navigation +### Using with Neovim (beta) -All commands support collecting and displaying errors in Vim's location - list. +Note: Neovim currently is not a first class citizen for vim-go. You are free +to open bugs but I'm not going to look at them. Even though I'm using Neovim +myself, Neovim itself is still alpha. So vim-go might not work well as good as +in Vim. I'm happy to accept pull requests or very detailed bug reports. -Quickly navigate through these location lists with `:lne` for next error and `:lp` -for previous. You can also bind these to keys, for example: + +Run `:GoRun` in a new tab, horizontal split or vertical split terminal ```vim -map :lne -map :lp +au FileType go nmap rt (go-run-tab) +au FileType go nmap rs (go-run-split) +au FileType go nmap rv (go-run-vertical) ``` +By default new terminals are opened in a vertical split. To change it + +```vim +let g:go_term_mode = "split" +``` + +By default the testing commands run asynchronously in the background and +display results with `go#jobcontrol#Statusline()`. To make them run in a new +terminal + +```vim +let g:go_term_enabled = 1 +``` ### Using with Syntastic -Sometimes when using both `vim-go` and `syntastic` Vim will start lagging while saving and opening -files. The following fixes this: +Sometimes when using both `vim-go` and `syntastic` Vim will start lagging while +saving and opening files. The following fixes this: ```vim let g:syntastic_go_checkers = ['golint', 'govet', 'errcheck'] @@ -228,13 +254,17 @@ let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['go'] } ## More info -Check out the [Wiki](https://github.com/fatih/vim-go/wiki) page for more information. It includes [Screencasts](https://github.com/fatih/vim-go/wiki/Screencasts), an [FAQ -section](https://github.com/fatih/vim-go/wiki/FAQ-Troubleshooting), and many other [various pieces](https://github.com/fatih/vim-go/wiki) of information. +Check out the [Wiki](https://github.com/fatih/vim-go/wiki) page for more +information. It includes +[Screencasts](https://github.com/fatih/vim-go/wiki/Screencasts), an [FAQ +section](https://github.com/fatih/vim-go/wiki/FAQ-Troubleshooting), and many +other [various pieces](https://github.com/fatih/vim-go/wiki) of information. ## Credits * Go Authors for official vim plugins -* Gocode, Godef, Golint, Oracle, Goimports, Gotags, Errcheck projects and authors of those projects. +* Gocode, Godef, Golint, Oracle, Goimports, Gotags, Errcheck projects and + authors of those projects. * Other vim-plugins, thanks for inspiration (vim-golang, go.vim, vim-gocode, vim-godef) * [Contributors](https://github.com/fatih/vim-go/graphs/contributors) of vim-go diff --git a/sources_non_forked/vim-go/autoload/go/alternate.vim b/sources_non_forked/vim-go/autoload/go/alternate.vim new file mode 100644 index 00000000..83951cf0 --- /dev/null +++ b/sources_non_forked/vim-go/autoload/go/alternate.vim @@ -0,0 +1,30 @@ +" By default use edit (current buffer view) to switch +if !exists("g:go_alternate_mode") + let g:go_alternate_mode = "edit" +endif + +" Test alternates between the implementation of code and the test code. +function! go#alternate#Switch(bang, cmd) + let l:file = go#alternate#Filename(fnameescape(expand("%"))) + if !filereadable(l:file) && !bufexists(l:file) && !a:bang + redraws! | echon "vim-go: " | echohl ErrorMsg | echon "couldn't find ".file | echohl None + return + elseif empty(a:cmd) + execute ":" . g:go_alternate_mode . " " . file + else + execute ":" . a:cmd . " " . file + endif +endfunction + +" Filename returns the name of the test file or implementation file +" depending on the arguments +function! go#alternate#Filename(path) + if empty(matchstr(a:path, "_test")) + let l:root = split(a:path, ".go$")[0] + let l:file = l:root . "_test.go" + else + let l:root = split(a:path, "_test.go$")[0] + let l:file = l:root . ".go" + endif + return l:file +endfunction diff --git a/sources_non_forked/vim-go/autoload/go/asmfmt.vim b/sources_non_forked/vim-go/autoload/go/asmfmt.vim new file mode 100644 index 00000000..0b427944 --- /dev/null +++ b/sources_non_forked/vim-go/autoload/go/asmfmt.vim @@ -0,0 +1,52 @@ +" asmfmt.vim: Vim command to format Go asm files with asmfmt +" (github.com/klauspost/asmfmt). +" +" This filetype plugin adds new commands for asm buffers: +" +" :Fmt +" +" Filter the current asm buffer through asmfmt. +" It tries to preserve cursor position and avoids +" replacing the buffer with stderr output. +" +" Options: +" +" g:go_asmfmt_autosave [default=1] +" +" Flag to automatically call :Fmt when file is saved. + +let s:got_fmt_error = 0 + +" This is a trimmed-down version of the logic in fmt.vim. + +function! go#asmfmt#Format() + " Save state. + let l:curw = winsaveview() + + " Write the current buffer to a tempfile. + let l:tmpname = tempname() + call writefile(getline(1, '$'), l:tmpname) + + " Run asmfmt. + let path = go#path#CheckBinPath("asmfmt") + if empty(path) + return + endif + let out = system(path . ' -w ' . l:tmpname) + + " If there's no error, replace the current file with the output. + if v:shell_error == 0 + " Remove undo point caused by BufWritePre. + try | silent undojoin | catch | endtry + + " Replace the current file with the temp file; then reload the buffer. + let old_fileformat = &fileformat + call rename(l:tmpname, expand('%')) + silent edit! + let &fileformat = old_fileformat + let &syntax = &syntax + endif + + " Restore the cursor/window positions. + call winrestview(l:curw) +endfunction diff --git a/sources_non_forked/vim-go/autoload/go/cmd.vim b/sources_non_forked/vim-go/autoload/go/cmd.vim index 1b6f9f14..d99bc01e 100644 --- a/sources_non_forked/vim-go/autoload/go/cmd.vim +++ b/sources_non_forked/vim-go/autoload/go/cmd.vim @@ -9,7 +9,7 @@ function! go#cmd#autowrite() endfunction -" Build buils the source code without producting any output binary. We live in +" Build builds the source code without producting any output binary. We live in " an editor so the best is to build it to catch errors and fix them. By " default it tries to call simply 'go build', but it first tries to get all " dependent files for the current folder and passes it to go build. @@ -27,6 +27,7 @@ function! go#cmd#Build(bang, ...) " if we have nvim, call it asynchronously and return early ;) if has('nvim') + call go#util#EchoProgress("building dispatched ...") call go#jobcontrol#Spawn(a:bang, "build", args) return endif @@ -36,29 +37,32 @@ function! go#cmd#Build(bang, ...) let default_makeprg = &makeprg let &makeprg = "go " . join(args, ' ') + let l:listtype = go#list#Type("quickfix") " execute make inside the source folder so we can parse the errors " correctly let cd = exists('*haslocaldir') && haslocaldir() ? 'lcd ' : 'cd ' let dir = getcwd() try - execute cd . fnameescape(expand("%:p:h")) - if g:go_dispatch_enabled && exists(':Make') == 2 - call go#util#EchoProgress("building dispatched ...") - silent! exe 'Make' - else - silent! exe 'lmake!' - endif - redraw! + execute cd . fnameescape(expand("%:p:h")) + if g:go_dispatch_enabled && exists(':Make') == 2 + call go#util#EchoProgress("building dispatched ...") + silent! exe 'Make' + elseif l:listtype == "locationlist" + silent! exe 'lmake!' + else + silent! exe 'make!' + endif + redraw! finally - execute cd . fnameescape(dir) + execute cd . fnameescape(dir) endtry - let errors = go#list#Get() - call go#list#Window(len(errors)) + let errors = go#list#Get(l:listtype) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) if !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif else call go#util#EchoSuccess("[build] SUCCESS") @@ -108,19 +112,23 @@ function! go#cmd#Run(bang, ...) let &makeprg = "go run " . go#util#Shelljoin(map(copy(a:000), "expand(v:val)"), 1) endif + let l:listtype = go#list#Type("quickfix") + if g:go_dispatch_enabled && exists(':Make') == 2 silent! exe 'Make' + elseif l:listtype == "locationlist" + silent! exe 'lmake!' else - exe 'lmake!' + silent! exe 'make!' endif - let items = go#list#Get() + let items = go#list#Get(l:listtype) let errors = go#tool#FilterValids(items) - call go#list#Populate(errors) - call go#list#Window(len(errors)) + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) && !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif let $GOPATH = old_gopath @@ -128,26 +136,46 @@ function! go#cmd#Run(bang, ...) endfunction " Install installs the package by simple calling 'go install'. If any argument -" is given(which are passed directly to 'go instal') it tries to install those +" is given(which are passed directly to 'go install') it tries to install those " packages. Errors are populated in the location window. function! go#cmd#Install(bang, ...) - let command = 'go install ' . go#util#Shelljoin(a:000) - call go#cmd#autowrite() - let out = go#tool#ExecuteInDir(command) - if v:shell_error - let errors = go#tool#ParseErrors(split(out, '\n')) - call go#list#Populate(errors) - call go#list#Window(len(errors)) - if !empty(errors) && !a:bang - call go#list#JumpToFirst() + let default_makeprg = &makeprg + + " :make expands '%' and '#' wildcards, so they must also be escaped + let goargs = go#util#Shelljoin(map(copy(a:000), "expand(v:val)"), 1) + let &makeprg = "go install " . goargs + + let l:listtype = go#list#Type("quickfix") + " execute make inside the source folder so we can parse the errors + " correctly + let cd = exists('*haslocaldir') && haslocaldir() ? 'lcd ' : 'cd ' + let dir = getcwd() + try + execute cd . fnameescape(expand("%:p:h")) + if g:go_dispatch_enabled && exists(':Make') == 2 + call go#util#EchoProgress("building dispatched ...") + silent! exe 'Make' + elseif l:listtype == "locationlist" + silent! exe 'lmake!' + else + silent! exe 'make!' + endif + redraw! + finally + execute cd . fnameescape(dir) + endtry + + let errors = go#list#Get(l:listtype) + call go#list#Window(l:listtype, len(errors)) + if !empty(errors) + if !a:bang + call go#list#JumpToFirst(l:listtype) endif - return else - call go#list#Clean() - call go#list#Window() + redraws! | echon "vim-go: " | echohl Function | echon "installed to ". $GOPATH | echohl None endif - echon "vim-go: " | echohl Function | echon "installed to ". $GOPATH | echohl None + let &makeprg = default_makeprg endfunction " Test runs `go test` in the current directory. If compile is true, it'll @@ -166,14 +194,19 @@ function! go#cmd#Test(bang, compile, ...) " expand all wildcards(i.e: '%' to the current file name) let goargs = map(copy(a:000), "expand(v:val)") - " escape all shell arguments before we pass it to test - call extend(args, go#util#Shelllist(goargs, 1)) + call extend(args, goargs, 1) else " only add this if no custom flags are passed let timeout = get(g:, 'go_test_timeout', '10s') call add(args, printf("-timeout=%s", timeout)) endif + if a:compile + echon "vim-go: " | echohl Identifier | echon "compiling tests ..." | echohl None + else + echon "vim-go: " | echohl Identifier | echon "testing ..." | echohl None + endif + if has('nvim') if get(g:, 'go_term_enabled', 0) call go#term#new(a:bang, ["go"] + args) @@ -183,34 +216,38 @@ function! go#cmd#Test(bang, compile, ...) return endif - if a:compile - echon "vim-go: " | echohl Identifier | echon "compiling tests ..." | echohl None - else - echon "vim-go: " | echohl Identifier | echon "testing ..." | echohl None - endif - call go#cmd#autowrite() redraw let command = "go " . join(args, ' ') let out = go#tool#ExecuteInDir(command) - if v:shell_error - let errors = go#tool#ParseErrors(split(out, '\n')) - let errors = go#tool#FilterValids(errors) - call go#list#Populate(errors) - call go#list#Window(len(errors)) + let l:listtype = "quickfix" + + if v:shell_error + let cd = exists('*haslocaldir') && haslocaldir() ? 'lcd ' : 'cd ' + let dir = getcwd() + try + execute cd fnameescape(expand("%:p:h")) + let errors = go#tool#ParseErrors(split(out, '\n')) + let errors = go#tool#FilterValids(errors) + finally + execute cd . fnameescape(dir) + endtry + + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) && !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) elseif empty(errors) " failed to parse errors, output the original content call go#util#EchoError(out) endif echon "vim-go: " | echohl ErrorMsg | echon "[test] FAIL" | echohl None else - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) if a:compile echon "vim-go: " | echohl Function | echon "[test] SUCCESS" | echohl None @@ -256,19 +293,21 @@ function! go#cmd#Coverage(bang, ...) let command = "go test -coverprofile=" . l:tmpname . ' ' . go#util#Shelljoin(a:000) + + let l:listtype = "quickfix" call go#cmd#autowrite() let out = go#tool#ExecuteInDir(command) if v:shell_error let errors = go#tool#ParseErrors(split(out, '\n')) - call go#list#Populate(errors) - call go#list#Window(len(errors)) + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) && !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif else " clear previous location list - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) let openHTML = 'go tool cover -html='.l:tmpname call go#tool#ExecuteInDir(openHTML) @@ -293,19 +332,23 @@ function! go#cmd#Generate(bang, ...) let &makeprg = "go generate " . goargs . ' ' . gofiles endif + let l:listtype = go#list#Type("quickfix") + echon "vim-go: " | echohl Identifier | echon "generating ..."| echohl None if g:go_dispatch_enabled && exists(':Make') == 2 silent! exe 'Make' - else + elseif l:listtype == "locationlist" silent! exe 'lmake!' + else + silent! exe 'make!' endif redraw! - let errors = go#list#Get() - call go#list#Window(len(errors)) + let errors = go#list#Get(l:listtype) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) if !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif else redraws! | echon "vim-go: " | echohl Function | echon "[generate] SUCCESS"| echohl None diff --git a/sources_non_forked/vim-go/autoload/go/complete.vim b/sources_non_forked/vim-go/autoload/go/complete.vim index 7f405d9d..d295257a 100644 --- a/sources_non_forked/vim-go/autoload/go/complete.vim +++ b/sources_non_forked/vim-go/autoload/go/complete.vim @@ -87,7 +87,7 @@ fu! s:gocodeCurrentBufferOpt(filename) return '-in=' . a:filename endf -fu! s:gocodeCursor() +fu! go#complete#gocodeCursor() if &encoding != 'utf-8' let sep = &l:fileformat == 'dos' ? "\r\n" : "\n" let c = col('.') @@ -95,6 +95,7 @@ fu! s:gocodeCursor() let buf .= c == 1 ? "" : getline('.')[:c-2] return printf('%d', len(iconv(buf, &encoding, "utf-8"))) endif + return printf('%d', line2byte(line('.')) + (col('.')-2)) endf @@ -102,16 +103,16 @@ fu! s:gocodeAutocomplete() let filename = s:gocodeCurrentBuffer() let result = s:gocodeCommand('autocomplete', \ [s:gocodeCurrentBufferOpt(filename), '-f=vim'], - \ [expand('%:p'), s:gocodeCursor()]) + \ [expand('%:p'), go#complete#gocodeCursor()]) call delete(filename) return result endf -function! go#complete#GetInfo() +function! go#complete#GetInfoFromOffset(offset) let filename = s:gocodeCurrentBuffer() let result = s:gocodeCommand('autocomplete', \ [s:gocodeCurrentBufferOpt(filename), '-f=godit'], - \ [expand('%:p'), s:gocodeCursor()]) + \ [expand('%:p'), a:offset]) call delete(filename) " first line is: Charcount,,NumberOfCandidates, i.e: 8,,1 @@ -147,6 +148,11 @@ function! go#complete#GetInfo() return "" endfunction +function! go#complete#GetInfo() + let offset = go#complete#gocodeCursor() + return go#complete#GetInfoFromOffset(offset) +endfunction + function! go#complete#Info() let result = go#complete#GetInfo() if !empty(result) diff --git a/sources_non_forked/vim-go/autoload/go/def.vim b/sources_non_forked/vim-go/autoload/go/def.vim index 6b1c7168..ae9bf11e 100644 --- a/sources_non_forked/vim-go/autoload/go/def.vim +++ b/sources_non_forked/vim-go/autoload/go/def.vim @@ -2,6 +2,15 @@ if !exists("g:go_godef_bin") let g:go_godef_bin = "godef" endif +if go#vimproc#has_vimproc() + let s:vim_system = get(g:, 'gocomplete#system_function', 'vimproc#system2') +else + let s:vim_system = get(g:, 'gocomplete#system_function', 'system') +endif + +fu! s:system(str, ...) + return call(s:vim_system, [a:str] + a:000) +endf " modified and improved version of vim-godef function! go#def#Jump(...) @@ -21,10 +30,11 @@ function! go#def#Jump(...) let old_gopath = $GOPATH let $GOPATH = go#path#Detect() - let command = bin_path . " -f=" . shellescape(expand("%:p")) . " -i " . shellescape(arg) + let fname = fnamemodify(expand("%"), ':p:gs?\\?/?') + let command = bin_path . " -f=" . shellescape(fname) . " -i " . shellescape(arg) " get output of godef - let out=system(command, join(getbufline(bufnr('%'), 1, '$'), go#util#LineEnding())) + let out = s:system(command, join(getbufline(bufnr('%'), 1, '$'), go#util#LineEnding())) " jump to it call s:godefJump(out, "") @@ -43,10 +53,11 @@ function! go#def#JumpMode(mode) let old_gopath = $GOPATH let $GOPATH = go#path#Detect() - let command = bin_path . " -f=" . shellescape(expand("%:p")) . " -i " . shellescape(arg) + let fname = fnamemodify(expand("%"), ':p:gs?\\?/?') + let command = bin_path . " -f=" . shellescape(fname) . " -i " . shellescape(arg) " get output of godef - let out=system(command, join(getbufline(bufnr('%'), 1, '$'), go#util#LineEnding())) + let out = s:system(command, join(getbufline(bufnr('%'), 1, '$'), go#util#LineEnding())) call s:godefJump(out, a:mode) let $GOPATH = old_gopath @@ -74,7 +85,7 @@ function! s:godefJump(out, mode) let &errorformat = "%f:%l:%c" if a:out =~ 'godef: ' - let out=substitute(a:out, go#util#LineEnding() . '$', '', '') + let out = substitute(a:out, go#util#LineEnding() . '$', '', '') echom out else let parts = split(a:out, ':') diff --git a/sources_non_forked/vim-go/autoload/go/fmt.vim b/sources_non_forked/vim-go/autoload/go/fmt.vim index 9ef9a2eb..6d474b31 100644 --- a/sources_non_forked/vim-go/autoload/go/fmt.vim +++ b/sources_non_forked/vim-go/autoload/go/fmt.vim @@ -43,8 +43,6 @@ if !exists("g:go_fmt_experimental") let g:go_fmt_experimental = 0 endif -let s:got_fmt_error = 0 - " we have those problems : " http://stackoverflow.com/questions/12741977/prevent-vim-from-updating-its-undo-tree " http://stackoverflow.com/questions/18532692/golang-formatter-and-vim-how-to-destroy-history-record?rq=1 @@ -54,8 +52,13 @@ let s:got_fmt_error = 0 " this and have VimL experience, please look at the function for " improvements, patches are welcome :) function! go#fmt#Format(withGoimport) - " save cursor position and many other things - let l:curw=winsaveview() + " save cursor position, folds and many other things + let l:curw = {} + try + mkview! + catch + let l:curw=winsaveview() + endtry " Write current unsaved buffer to a temp file let l:tmpname = tempname() @@ -105,6 +108,7 @@ function! go#fmt#Format(withGoimport) let $GOPATH = old_gopath endif + let l:listtype = "locationlist" "if there is no error on the temp file replace the output with the current "file (if this fails, we can always check the outputs first line with: "splitted =~ 'package \w\+') @@ -119,13 +123,13 @@ function! go#fmt#Format(withGoimport) let &fileformat = old_fileformat let &syntax = &syntax - " clean up previous location list, but only if it's due fmt - if s:got_fmt_error - let s:got_fmt_error = 0 - call go#list#Clean() - call go#list#Window() + " clean up previous location list, but only if it's due to fmt + if exists('b:got_fmt_error') && b:got_fmt_error + let b:got_fmt_error = 0 + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) endif - elseif g:go_fmt_fail_silently == 0 + elseif g:go_fmt_fail_silently == 0 let splitted = split(out, '\n') "otherwise get the errors and put them to location list let errors = [] @@ -142,12 +146,12 @@ function! go#fmt#Format(withGoimport) % | " Couldn't detect gofmt error format, output errors endif if !empty(errors) - call go#list#Populate(errors) + call go#list#Populate(l:listtype, errors) echohl Error | echomsg "Gofmt returned error" | echohl None endif - let s:got_fmt_error = 1 - call go#list#Window(len(errors)) + let b:got_fmt_error = 1 + call go#list#Window(l:listtype, len(errors)) " We didn't use the temp file, so clean up call delete(l:tmpname) @@ -159,8 +163,12 @@ function! go#fmt#Format(withGoimport) call delete(tmpundofile) endif - " restore our cursor/windows positions - call winrestview(l:curw) + " restore our cursor/windows positions, folds, etc.. + if empty(l:curw) + silent! loadview + else + call winrestview(l:curw) + endif endfunction diff --git a/sources_non_forked/vim-go/autoload/go/jobcontrol.vim b/sources_non_forked/vim-go/autoload/go/jobcontrol.vim index 3dedd5c8..777b054a 100644 --- a/sources_non_forked/vim-go/autoload/go/jobcontrol.vim +++ b/sources_non_forked/vim-go/autoload/go/jobcontrol.vim @@ -96,14 +96,16 @@ endfunction function! s:on_exit(job_id, exit_status) let std_combined = self.stderr + self.stdout if a:exit_status == 0 - call go#list#Clean() - call go#list#Window() + call go#list#Clean(0) + call go#list#Window(0) let self.state = "SUCCESS" + call go#util#EchoSuccess("SUCCESS") return endif let self.state = "FAILED" + call go#util#EchoError("FAILED") let cd = exists('*haslocaldir') && haslocaldir() ? 'lcd ' : 'cd ' let dir = getcwd() @@ -123,10 +125,11 @@ function! s:on_exit(job_id, exit_status) " if we are still in the same windows show the list if self.winnr == winnr() - call go#list#Populate(errors) - call go#list#Window(len(errors)) + let l:listtype = "locationlist" + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) && !self.bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif endif endfunction diff --git a/sources_non_forked/vim-go/autoload/go/lint.vim b/sources_non_forked/vim-go/autoload/go/lint.vim index 96765764..91247ad1 100644 --- a/sources_non_forked/vim-go/autoload/go/lint.vim +++ b/sources_non_forked/vim-go/autoload/go/lint.vim @@ -63,10 +63,11 @@ function! go#lint#Gometa(autosave, ...) abort let out = go#tool#ExecuteInDir(meta_command) + let l:listtype = "quickfix" if v:shell_error == 0 redraw | echo - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) echon "vim-go: " | echohl Function | echon "[metalinter] PASS" | echohl None else " GoMetaLinter can output one of the two, so we look for both: @@ -76,13 +77,13 @@ function! go#lint#Gometa(autosave, ...) abort let errformat = "%f:%l:%c:%t%*[^:]:\ %m,%f:%l::%t%*[^:]:\ %m" " Parse and populate our location list - call go#list#ParseFormat(errformat, split(out, "\n")) + call go#list#ParseFormat(l:listtype, errformat, split(out, "\n")) - let errors = go#list#Get() - call go#list#Window(len(errors)) + let errors = go#list#Get(l:listtype) + call go#list#Window(l:listtype, len(errors)) if !a:autosave - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif endif endfunction @@ -107,10 +108,11 @@ function! go#lint#Golint(...) abort return endif - call go#list#Parse(out) - let errors = go#list#Get() - call go#list#Window(len(errors)) - call go#list#JumpToFirst() + let l:listtype = "quickfix" + call go#list#Parse(l:listtype, out) + let errors = go#list#Get(l:listtype) + call go#list#Window(l:listtype, len(errors)) + call go#list#JumpToFirst(l:listtype) endfunction " Vet calls 'go vet' on the current directory. Any warnings are populated in @@ -123,17 +125,19 @@ function! go#lint#Vet(bang, ...) else let out = go#tool#ExecuteInDir('go tool vet ' . go#util#Shelljoin(a:000)) endif + + let l:listtype = "quickfix" if v:shell_error let errors = go#tool#ParseErrors(split(out, '\n')) - call go#list#Populate(errors) - call go#list#Window(len(errors)) + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) && !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif echon "vim-go: " | echohl ErrorMsg | echon "[vet] FAIL" | echohl None else - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) redraw | echon "vim-go: " | echohl Function | echon "[vet] PASS" | echohl None endif endfunction @@ -159,21 +163,17 @@ function! go#lint#Errcheck(...) abort echon "vim-go: " | echohl Identifier | echon "errcheck analysing ..." | echohl None redraw - let command = bin_path . ' ' . goargs + let command = bin_path . ' -abspath ' . goargs let out = go#tool#ExecuteInDir(command) + let l:listtype = "quickfix" if v:shell_error - let errors = [] - let mx = '^\(.\{-}\):\(\d\+\):\(\d\+\)\s*\(.*\)' - for line in split(out, '\n') - let tokens = matchlist(line, mx) - if !empty(tokens) - call add(errors, {"filename": expand(go#path#Default() . "/src/" . tokens[1]), - \"lnum": tokens[2], - \"col": tokens[3], - \"text": tokens[4]}) - endif - endfor + let errformat = "%f:%l:%c:\ %m, %f:%l:%c\ %#%m" + + " Parse and populate our location list + call go#list#ParseFormat(l:listtype, errformat, split(out, "\n")) + + let errors = go#list#Get(l:listtype) if empty(errors) echohl Error | echomsg "GoErrCheck returned error" | echohl None @@ -182,15 +182,15 @@ function! go#lint#Errcheck(...) abort endif if !empty(errors) - call go#list#Populate(errors) - call go#list#Window(len(errors)) + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif endif else - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) echon "vim-go: " | echohl Function | echon "[errcheck] PASS" | echohl None endif diff --git a/sources_non_forked/vim-go/autoload/go/list.vim b/sources_non_forked/vim-go/autoload/go/list.vim index 9582d788..d91cfb12 100644 --- a/sources_non_forked/vim-go/autoload/go/list.vim +++ b/sources_non_forked/vim-go/autoload/go/list.vim @@ -1,18 +1,27 @@ -" Window opens the location list with the given height up to 10 lines maximum. +if !exists("g:go_list_type") + let g:go_list_type = "" +endif + +" Window opens the list with the given height up to 10 lines maximum. " Otherwise g:go_loclist_height is used. If no or zero height is given it " closes the window -function! go#list#Window(...) +function! go#list#Window(listtype, ...) + let l:listtype = go#list#Type(a:listtype) " we don't use lwindow to close the location list as we need also the - " ability to resize the window. So, we are going to use lopen and cclose + " ability to resize the window. So, we are going to use lopen and lclose " for a better user experience. If the number of errors in a current " location list increases/decreases, cwindow will not resize when a new " updated height is passed. lopen in the other hand resizes the screen. if !a:0 || a:1 == 0 - lclose + if l:listtype == "locationlist" + lclose + else + cclose + endif return endif - let height = get(g:, "go_loclist_height", 0) + let height = get(g:, "go_list_height", 0) if height == 0 " prevent creating a large location height for a large set of numbers if a:1 > 10 @@ -22,50 +31,96 @@ function! go#list#Window(...) endif endif - exe 'lopen '. height + if l:listtype == "locationlist" + exe 'lopen ' . height + else + exe 'copen ' . height + endif endfunction " Get returns the current list of items from the location list -function! go#list#Get() - return getloclist(0) +function! go#list#Get(listtype) + let l:listtype = go#list#Type(a:listtype) + if l:listtype == "locationlist" + return getloclist(0) + else + return getqflist() + endif endfunction " Populate populate the location list with the given items -function! go#list#Populate(items) - call setloclist(0, a:items, 'r') +function! go#list#Populate(listtype, items) + let l:listtype = go#list#Type(a:listtype) + if l:listtype == "locationlist" + call setloclist(0, a:items, 'r') + else + call setqflist(a:items, 'r') + endif endfunction function! go#list#PopulateWin(winnr, items) - call setloclist(a:winnr, a:items, 'r') + call setloclist(a:winnr, a:items, 'r') endfunction " Parse parses the given items based on the specified errorformat nad " populates the location list. -function! go#list#ParseFormat(errformat, items) - " backup users errorformat, will be restored once we are finished - let old_errorformat = &errorformat +function! go#list#ParseFormat(listtype, errformat, items) + let l:listtype = go#list#Type(a:listtype) + " backup users errorformat, will be restored once we are finished + let old_errorformat = &errorformat - " parse and populate the location list - let &errorformat = a:errformat - lgetexpr a:items + " parse and populate the location list + let &errorformat = a:errformat + if l:listtype == "locationlist" + lgetexpr a:items + else + cgetexpr a:items + endif - "restore back - let &errorformat = old_errorformat + "restore back + let &errorformat = old_errorformat endfunction -" Parse parses the given items based on the global errorformat nad +" Parse parses the given items based on the global errorformat and " populates the location list. -function! go#list#Parse(items) - lgetexpr a:items +function! go#list#Parse(listtype, items) + let l:listtype = go#list#Type(a:listtype) + if l:listtype == "locationlist" + lgetexpr a:items + else + cgetexpr a:items + endif endfunction " JumpToFirst jumps to the first item in the location list -function! go#list#JumpToFirst() - ll 1 +function! go#list#JumpToFirst(listtype) + let l:listtype = go#list#Type(a:listtype) + if l:listtype == "locationlist" + ll 1 + else + cc 1 + endif endfunction " Clean cleans the location list -function! go#list#Clean() - lex [] +function! go#list#Clean(listtype) + let l:listtype = go#list#Type(a:listtype) + if l:listtype == "locationlist" + lex [] + else + cex [] + endif endfunction + +function! go#list#Type(listtype) + if g:go_list_type == "locationlist" + return "locationlist" + elseif g:go_list_type == "quickfix" + return "quickfix" + else + return a:listtype + endif +endfunction + +" vim:ts=4:sw=4:et diff --git a/sources_non_forked/vim-go/autoload/go/oracle.vim b/sources_non_forked/vim-go/autoload/go/oracle.vim index 19efd773..9b2ec1cd 100644 --- a/sources_non_forked/vim-go/autoload/go/oracle.vim +++ b/sources_non_forked/vim-go/autoload/go/oracle.vim @@ -35,8 +35,8 @@ func! s:loclist(output) endif call add(llist, item) endfor - call go#list#Populate(llist) - call go#list#Window(len(llist)) + call go#list#Populate("locationlist", llist) + call go#list#Window("locationlist", len(llist)) endfun " This uses Vim's errorformat to parse the output from Oracle's 'plain output @@ -56,10 +56,10 @@ func! s:loclistSecond(output) " useful and location only has the ability to show one line and column " number let errformat = "%f:%l.%c-%[%^:]%#:\ %m,%f:%l:%c:\ %m" - call go#list#ParseFormat(errformat, split(a:output, "\n")) + call go#list#ParseFormat("locationlist", errformat, split(a:output, "\n")) - let errors = go#list#Get() - call go#list#Window(len(errors)) + let errors = go#list#Get("locationlist") + call go#list#Window("locationlist", len(errors)) endfun func! s:getpos(l, c) diff --git a/sources_non_forked/vim-go/autoload/go/package.vim b/sources_non_forked/vim-go/autoload/go/package.vim index 6bdacb45..32b38ae3 100644 --- a/sources_non_forked/vim-go/autoload/go/package.vim +++ b/sources_non_forked/vim-go/autoload/go/package.vim @@ -31,17 +31,19 @@ endif function! go#package#Paths() let dirs = [] - if executable('go') - let goroot = substitute(system('go env GOROOT'), '\n', '', 'g') - if v:shell_error - echomsg '''go env GOROOT'' failed' + if !exists("s:goroot") + if executable('go') + let s:goroot = substitute(system('go env GOROOT'), '\n', '', 'g') + if v:shell_error + echomsg '''go env GOROOT'' failed' + endif + else + let s:goroot = $GOROOT endif - else - let goroot = $GOROOT endif - if len(goroot) != 0 && isdirectory(goroot) - let dirs += [goroot] + if len(s:goroot) != 0 && isdirectory(s:goroot) + let dirs += [s:goroot] endif let workspaces = split($GOPATH, go#util#PathListSep()) diff --git a/sources_non_forked/vim-go/autoload/go/path.vim b/sources_non_forked/vim-go/autoload/go/path.vim index f4724210..7b4b7689 100644 --- a/sources_non_forked/vim-go/autoload/go/path.vim +++ b/sources_non_forked/vim-go/autoload/go/path.vim @@ -91,7 +91,7 @@ function! go#path#Detect() " gb vendor plugin " (https://github.com/constabulary/gb/tree/master/cmd/gb-vendor) let gb_vendor_root = src_path . "vendor" . go#util#PathSep() - if !empty(gb_vendor_root) && !go#path#HasPath(gb_vendor_root) + if isdirectory(gb_vendor_root) && !go#path#HasPath(gb_vendor_root) let gopath = gb_vendor_root . go#util#PathListSep() . gopath endif diff --git a/sources_non_forked/vim-go/autoload/go/rename.vim b/sources_non_forked/vim-go/autoload/go/rename.vim index 3212f076..f5afef60 100644 --- a/sources_non_forked/vim-go/autoload/go/rename.vim +++ b/sources_non_forked/vim-go/autoload/go/rename.vim @@ -2,21 +2,32 @@ if !exists("g:go_gorename_bin") let g:go_gorename_bin = "gorename" endif +if !exists("g:go_gorename_prefill") + let g:go_gorename_prefill = 1 +endif + function! go#rename#Rename(bang, ...) let to = "" if a:0 == 0 let from = expand("") let ask = printf("vim-go: rename '%s' to: ", from) - let to = input(ask, from) - redraw + if g:go_gorename_prefill + let to = input(ask, from) + else + let to = input(ask) + endif + redraw! + if empty(to) + return + endif else let to = a:1 endif "return with a warning if the bin doesn't exist - let bin_path = go#path#CheckBinPath(g:go_gorename_bin) - if empty(bin_path) - return + let bin_path = go#path#CheckBinPath(g:go_gorename_bin) + if empty(bin_path) + return endif let fname = expand('%:p') @@ -29,20 +40,21 @@ function! go#rename#Rename(bang, ...) " will trigger the 'Hit ENTER to continue' prompt let clean = split(out, '\n') + let l:listtype = "quickfix" if v:shell_error let errors = go#tool#ParseErrors(split(out, '\n')) - call go#list#Populate(errors) - call go#list#Window(len(errors)) + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !empty(errors) && !a:bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) elseif empty(errors) " failed to parse errors, output the original content call go#util#EchoError(out) endif return else - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) redraw | echon "vim-go: " | echohl Function | echon clean[0] | echohl None endif diff --git a/sources_non_forked/vim-go/autoload/go/term.vim b/sources_non_forked/vim-go/autoload/go/term.vim index eaca0f5c..693041ee 100644 --- a/sources_non_forked/vim-go/autoload/go/term.vim +++ b/sources_non_forked/vim-go/autoload/go/term.vim @@ -8,7 +8,7 @@ let s:jobs = {} " new creates a new terminal with the given command. Mode is set based on the " global variable g:go_term_mode, which is by default set to :vsplit function! go#term#new(bang, cmd) - call go#term#newmode(a:bang, a:cmd, g:go_term_mode) + return go#term#newmode(a:bang, a:cmd, g:go_term_mode) endfunction " new creates a new terminal with the given command and window mode. @@ -98,10 +98,11 @@ function! s:on_exit(job_id, data) endif let job = s:jobs[a:job_id] + let l:listtype = "locationlist" " usually there is always output so never branch into this clause if empty(job.stdout) - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) else let errors = go#tool#ParseErrors(job.stdout) let errors = go#tool#FilterValids(errors) @@ -109,14 +110,14 @@ function! s:on_exit(job_id, data) " close terminal we don't need it close - call go#list#Populate(errors) - call go#list#Window(len(errors)) + call go#list#Populate(l:listtype, errors) + call go#list#Window(l:listtype, len(errors)) if !self.bang - call go#list#JumpToFirst() + call go#list#JumpToFirst(l:listtype) endif else - call go#list#Clean() - call go#list#Window() + call go#list#Clean(l:listtype) + call go#list#Window(l:listtype) endif endif diff --git a/sources_non_forked/vim-go/autoload/go/util.vim b/sources_non_forked/vim-go/autoload/go/util.vim index 85ab9331..3808044f 100644 --- a/sources_non_forked/vim-go/autoload/go/util.vim +++ b/sources_non_forked/vim-go/autoload/go/util.vim @@ -1,70 +1,82 @@ " PathSep returns the appropriate OS specific path separator. function! go#util#PathSep() - if go#util#IsWin() - return '\' - endif - return '/' + if go#util#IsWin() + return '\' + endif + return '/' endfunction " PathListSep returns the appropriate OS specific path list separator. function! go#util#PathListSep() - if go#util#IsWin() - return ";" - endif - return ":" + if go#util#IsWin() + return ";" + endif + return ":" endfunction " LineEnding returns the correct line ending, based on the current fileformat function! go#util#LineEnding() - if &fileformat == 'dos' - return "\r\n" - elseif &fileformat == 'mac' - return "\r" - endif + if &fileformat == 'dos' + return "\r\n" + elseif &fileformat == 'mac' + return "\r" + endif - return "\n" + return "\n" endfunction " IsWin returns 1 if current OS is Windows or 0 otherwise function! go#util#IsWin() - let win = ['win16', 'win32', 'win64', 'win95'] - for w in win - if (has(w)) - return 1 - endif - endfor + let win = ['win16', 'win32', 'win64', 'win95'] + for w in win + if (has(w)) + return 1 + endif + endfor - return 0 + return 0 endfunction " StripPath strips the path's last character if it's a path separator. " example: '/foo/bar/' -> '/foo/bar' function! go#util#StripPathSep(path) - let last_char = strlen(a:path) - 1 - if a:path[last_char] == go#util#PathSep() - return strpart(a:path, 0, last_char) - endif + let last_char = strlen(a:path) - 1 + if a:path[last_char] == go#util#PathSep() + return strpart(a:path, 0, last_char) + endif - return a:path + return a:path endfunction " Shelljoin returns a shell-safe string representation of arglist. The " {special} argument of shellescape() may optionally be passed. function! go#util#Shelljoin(arglist, ...) - if a:0 - return join(map(copy(a:arglist), 'shellescape(v:val, ' . a:1 . ')'), ' ') - endif + try + let ssl_save = &shellslash + set noshellslash + if a:0 + return join(map(copy(a:arglist), 'shellescape(v:val, ' . a:1 . ')'), ' ') + endif - return join(map(copy(a:arglist), 'shellescape(v:val)'), ' ') + return join(map(copy(a:arglist), 'shellescape(v:val)'), ' ') + finally + let &shellslash = ssl_save + endtry endfunction -" Shelljoin returns a shell-safe representation of the items in the given +" Shelllist returns a shell-safe representation of the items in the given " arglist. The {special} argument of shellescape() may optionally be passed. function! go#util#Shelllist(arglist, ...) - if a:0 - return map(copy(a:arglist), 'shellescape(v:val, ' . a:1 . ')') - endif - return map(copy(a:arglist), 'shellescape(v:val)') + try + let ssl_save = &shellslash + set noshellslash + if a:0 + return map(copy(a:arglist), 'shellescape(v:val, ' . a:1 . ')') + endif + return map(copy(a:arglist), 'shellescape(v:val)') + finally + let &shellslash = ssl_save + endtry endfunction " TODO(arslan): I couldn't parameterize the highlight types. Check if we can diff --git a/sources_non_forked/vim-go/doc/vim-go.txt b/sources_non_forked/vim-go/doc/vim-go.txt index 2786208c..40423d9a 100644 --- a/sources_non_forked/vim-go/doc/vim-go.txt +++ b/sources_non_forked/vim-go/doc/vim-go.txt @@ -14,14 +14,15 @@ =============================================================================== CONTENTS *go-contents* - 1. Intro........................................|go-intro| - 2. Install......................................|go-install| - 3. Commands.....................................|go-commands| - 4. Mappings.....................................|go-mappings| - 5. Text Objects.................................|go-text-objects| - 6. Settings.....................................|go-settings| - 7. Troubleshooting..............................|go-troubleshooting| - 8. Credits......................................|go-credits| + 1. Intro........................................|go-intro| + 2. Install......................................|go-install| + 3. Commands.....................................|go-commands| + 4. Mappings.....................................|go-mappings| + 5. Text Objects.................................|go-text-objects| + 6. Functions....................................|go-functions| + 7. Settings.....................................|go-settings| + 8. Troubleshooting..............................|go-troubleshooting| + 9. Credits......................................|go-credits| =============================================================================== INTRO *go-intro* @@ -61,10 +62,14 @@ easily. * Share your current code to [play.golang.org](http://play.golang.org) with `:GoPlay` * On-the-fly type information about the word under the cursor. Plug it into your custom vim function. + * Go asm formatting on save * Tagbar support to show tags of the source code in a sidebar with `gotags` * Custom vim text objects such as `a function` or `inner function` - * All commands support collecting and displaying errors in Vim's location - list. + * A async launcher for the go command is implemented for neovim, fully async + building and testing. + * Integrated with the neovim terminal, launch `:GoRun` and other go commands + in their own new terminal. + * Alternate between implementation and test code with `:GoAlternate` =============================================================================== INSTALL *go-install* @@ -108,13 +113,15 @@ packages. * Autocompletion is enabled by default via ``, to get real-time completion (completion by type) install: -https://github.com/Valloric/YouCompleteMe or -https://github.com/Shougo/neocomplete.vim +https://github.com/Shougo/neocomplete.vim for Vim or +https://github.com/Shougo/deoplete.nvim and +https://github.com/zchee/deoplete-go for Neovim * To get displayed source code tag informations on a sidebar install https://github.com/majutsushi/tagbar. * For snippet feature install: -https://github.com/SirVer/ultisnips or -https://github.com/Shougo/neosnippet.vim. +https://github.com/Shougo/neosnippet.vim or +https://github.com/SirVer/ultisnips. +* For a better documentation viewer checkout: https://github.com/garyburd/go-explorer =============================================================================== COMMANDS *go-commands* @@ -222,11 +229,15 @@ COMMANDS *go-commands* If [!] is not given the first error is jumped to. + If using neovim then `:GoRun` will run in a new terminal according to + |g:go_term_mode|. + *:GoBuild* :GoBuild[!] [expand] - Build your package with `go build`. It automatically builds only the files - that depends on the current file. GoBuild doesn't produce a result file. + Build your package with `go build`. Errors are populated in the quickfix + window. It automatically builds only the files that depends on the current + file. `:GoBuild` doesn't produce a result file. Use 'make' to create a result file. You may optionally pass any valid go build flags/options. For a full list @@ -234,6 +245,9 @@ COMMANDS *go-commands* If [!] is not given the first error is jumped to. + If using neovim then this command is fully async, it does not block the + UI. + *:GoGenerate* :GoGenerate[!] [expand] @@ -266,8 +280,8 @@ COMMANDS *go-commands* :GoTest[!] [expand] Run the tests on your _test.go files via in your current directory. Errors - are populated in location list. If an argument is passed, 'expand' is - used as file selector (useful for cases like `:GoTest ./...`). + are populated in the quickfix window. If an argument is passed, 'expand' + is used as file selector (useful for cases like `:GoTest ./...`). You may optionally pass any valid go test flags/options. For a full list please see `go help test`. @@ -278,6 +292,10 @@ COMMANDS *go-commands* If [!] is not given the first error is jumped to. + If using neovim `:GoTest` will run in a new terminal or run asynchronously + in the background according to |g:go_term_enabled|. You can set the mode of + the new terminal with |g:go_term_mode|. + *:GoTestFunc* :GoTestFunc[!] [expand] @@ -290,17 +308,25 @@ COMMANDS *go-commands* If [!] is not given the first error is jumped to. + If using neovim `:GoTestFunc` will run in a new terminal or run asynchronously + in the background according to |g:go_term_enabled|. You can set the mode of + the new terminal with |g:go_term_mode|. + *:GoTestCompile* :GoTestCompile[!] [expand] Compile your _test.go files via in your current directory. Errors are - populated in location list. If an argument is passed, 'expand' is used - as file selector (useful for cases like `:GoTest ./...`). Useful to not - run the tests and capture/fix errors before running the tests or to + populated in the quickfix window. If an argument is passed, 'expand' is + used as file selector (useful for cases like `:GoTest ./...`). Useful to + not run the tests and capture/fix errors before running the tests or to create test binary. If [!] is not given the first error is jumped to. + If using neovim `:GoTestCompile` will run in a new terminal or run asynchronously + in the background according to |g:go_term_enabled|. You can set the mode of + the new terminal with |g:go_term_mode|. + *:GoCoverage* :GoCoverage[!] [options] @@ -316,7 +342,7 @@ COMMANDS *go-commands* :GoErrCheck [options] Check for unchecked errors in you current package. Errors are populated in - location list. + the quickfix window. You may optionally pass any valid errcheck flags/options. For a full list please see `errcheck -h`. @@ -349,7 +375,7 @@ COMMANDS *go-commands* Show 'implements' relation for a selected package. A list of interfaces for the type that implements an interface under the cursor (or selected - package) is shown location list. + package) is shown in a location list. *:GoRename* :GoRename[!] [to] @@ -394,7 +420,7 @@ COMMANDS *go-commands* :GoCallstack Shows 'callstack' relation for the selected function. An arbitrary path - from the root of the callgraph to the selected function is showed in a + from the root of the callgraph to the selected function is shown in a location list. This may be useful to understand how the function is reached in a given program. @@ -435,8 +461,8 @@ COMMANDS *go-commands* :GoMetaLinter [path] Calls the underlying `gometalinter` tool and displays all warnings and - errors in a location list. By default the following linters are enabled: - "'vet', 'golint', 'errcheck'". This can be changed with the + errors in the quickfix window. By default the following linters are + enabled: "'vet', 'golint', 'errcheck'". This can be changed with the |g:go_metalinter_enabled| variable. To override the command completely use the variable |g:go_metalinter_command|. To override the maximum linters execution time use |g:go_metalinter_deadline| variable. @@ -445,12 +471,38 @@ COMMANDS *go-commands* :GoOracleTags [tags] Changes the custom |g:go_oracle_tags| setting and overrides it with the - given build tags. This command cooperate with GoReferrers command when - there exist mulitiple build tags in your project,then you can set one + given build tags. This command cooperate with GoReferrers command when + there exist mulitiple build tags in your project, then you can set one of the build tags for GoReferrers to find more accurate. The custom build tags is cleared (unset) if `""` is given. If no arguments is given it prints the current custom build tags. + *:AsmFmt* +:AsmFmt + + Filter the current Go asm buffer through asmfmt. It tries to preserve cursor + position and avoids replacing the buffer with stderr output. + + + *:GoAlternate* +:GoAlternate[!] + + Alternates between the implementation and test code. For example if in main.go, + switch to main_test.go. Uses the |g:go_alternate_mode| setting as the command + to open the file. + + If [!] is given then it switches to the new file even if it does not exist. + + If you would like to override the traditional commands for alternating, add + the following to your .vimrc: +> + augroup go + autocmd! + autocmd Filetype go command! -bang A call go#alternate#Switch(0, 'edit') + autocmd Filetype go command! -bang AV call go#alternate#Switch(0, 'vsplit') + autocmd Filetype go command! -bang AS call go#alternate#Switch(0, 'split') + augroup END +< =============================================================================== MAPPINGS *go-mappings* @@ -469,6 +521,21 @@ documentation in the |go-commands| section. Available keys are: Calls `go run` for the current file + *(go-run-tab)* + +Calls `go run` for the current file in a new terminal tab +This option is neovim only. + + *(go-run-split)* + +Calls `go run` for the current file in a new terminal horizontal split +This option is neovim only. + + *(go-run-vertical)* + +Calls `go run` for the current file in a new terminal vertical split +This option is neovim only. + *(go-build)* @@ -604,6 +671,18 @@ Show all refs to entity denoted by selected identifier Calls `go-metalinter` for the current directory + *(go-alternate-edit)* + +Alternates between the implementation and test code in the current window + + *(go-alternate-split)* + +Alternates between the implementation and test code in a new horizontal split + + *(go-alternate-vertical)* + +Alternates between the implementation and test code in a new vertical split + =============================================================================== TEXT OBJECTS *go-text-objects* @@ -620,6 +699,22 @@ if "inside a function", select contents of a function, +=============================================================================== +FUNCTIONS *go-functions* + + *go#jobcontrol#Statusline()* + +Shows the status of a job running asynchronously. Can be used to plug into the +statusline. It works to show the status per package instead of per +file. Assume you have three files open, all belonging to the same package, +if the package build (`:GoBuild`) is successful, all statusline's will be empty +(means SUCCESS), if you it fails all file's statusline will show FAILED. + + *go#complete#GetInfo()* + +Returns the description of the identifer under the cursor. Can be used to plug +into the statusline. This function is also used for |g:go_auto_type_info|. + =============================================================================== SETTINGS *go-settings* @@ -691,7 +786,7 @@ is empty. > *'g:go_fmt_fail_silently'* Use this option to disable showing a location list when |g:go_fmt_command| -fails. By default it's disabled. > +fails. By default the location list is shown. > let g:go_fmt_fail_silently = 0 < @@ -707,26 +802,24 @@ it's causing problems on some Vim versions. By default it's disabled. > < *'g:go_doc_keywordprg_enabled'* -Use this option to change the enable GoDoc to run on words under the cursor -with the default K , keywordprg shortcut. This shortcut is by default set to -use the program man. However in go using godoc is more idiomatic. Default is -enabled. > +Use this option to run `godoc` on words under the cursor with the default +K , keywordprg shortcut. Usually this shortcut is set to use the program `man`. +In Go, using `godoc` is more idiomatic. Default is enabled. > let g:go_doc_keywordprg_enabled = 1 < *'g:go_def_mapping_enabled'* -Use this option to enabled/ disable the default mapping (`gd`) for GoDef -enabled. Disabling it allows you to map something else to the mapping `gd`. -Default is enabled. > +Use this option to enable/disable the default mapping of (`gd`) for GoDef. +Disabling it allows you to map something else to `gd`. Default is enabled. > let g:go_def_mapping_enabled = 1 < *'g:go_dispatch_enabled'* Use this option to enable/disable the use of Dispatch to execute the -`:GoRun`, `:GoBuild` and `:GoGenerate` commands. More information about Dispatch is -available at https://github.com/tpope/vim-dispatch. Default is disabled. > +`:GoRun`, `:GoBuild` and `:GoGenerate` commands. More information about Dispatch +is available at https://github.com/tpope/vim-dispatch. Default is disabled. > let g:go_dispatch_enabled = 0 < @@ -762,13 +855,12 @@ is used. Use "neosnippet" for neosnippet.vim: > *'g:go_oracle_scope'* -Use this option to define the scope of the analysis to be passed for Oracle -related commands, such as |GoImplements|, |GoCallers|, etc.. By default it's -not set, so only the current packages go files are passed as scope. You can -change it on-the-fly with |GoOracleScope|. For more -info please have look at Oracle's User Manual: -https://docs.google.com/document/d/1SLk36YRjjMgKqe490mSRzOPYEDe0Y_WQNRv-EiFYUyw/view#heading=h.nwso96pj07q8 -> +Use this option to define the scope of the analysis to be passed for oracle +related commands, such as |GoImplements|, |GoCallers|, etc. By default it's +not set, so only the current package's go files are passed as scope. You can +change it on-the-fly with |GoOracleScope|. For more info, please have a look +at oracle's user manual: +https://golang.org/s/oracle-user-manual#heading=h.nwso96pj07q8 > let g:go_oracle_scope = '' < @@ -782,8 +874,8 @@ Highlights white space after "[]". > *'g:go_highlight_chan_whitespace_error'* -Highlights white space around the communications operator that don't follow -the standard style. > +Highlights white space around the communications operator (`<-`) that doesn't +follow the standard style. > let g:go_highlight_chan_whitespace_error = 1 < @@ -810,7 +902,7 @@ Highlights trailing white space. > < *'g:go_highlight_operators'* -Highlights operators such as `:=` , `==`, `-=`, etc ...By default it's +Highlights operators such as `:=` , `==`, `-=`, etc. By default it's disabled. > let g:go_highlight_operators = 0 @@ -832,6 +924,12 @@ Highlights method names. By default it's disabled. > Highlights struct names. By default it's disabled. > let g:go_highlight_structs = 0 +< + *'g:go_highlight_interfaces'* + +Highlights interface names. By default it's disabled. > + + let g:go_highlight_interfaces = 0 < *'g:go_highlight_build_constraints'* @@ -841,8 +939,8 @@ Highlights build constraints. By default it's disabled. > < *'g:go_highlight_string_spellcheck* -Specifies spell checking enabled for strings. Spelling errors are highlighted -if |spell| is enabled. By default it's enabled. > +Use this option to highlight spelling errors in strings when |spell| is +also enabled. By default it's enabled. > let g:go_highlight_string_spellcheck = 1 < @@ -850,7 +948,7 @@ if |spell| is enabled. By default it's enabled. > *'g:go_autodetect_gopath'* Automatically modifies GOPATH for certain directory structures, such as for -the tool godep which has his own dependencies via the `Godeps` folder. What +the tool `godep` which has his own dependencies via the `Godeps` folder. What this means is that all tools are now working with the newly modified GOPATH. So |GoDef| for example jumps to the source inside the `Godeps` (vendored) source. Currently `godep` and `gb` is supported, in the near future more tool @@ -874,14 +972,14 @@ the active buffer will be shown. By default it's disabled > *'g:go_metalinter_autosave_enabled'* Specifies the enabled linters for auto |GoMetaLinter| on save. By -default it's using `vet` and `golint` +default it's using `vet` and `golint`. > let g:go_metalinter_autosave_enabled = ['vet', 'golint'] < *'g:go_metalinter_enabled'* Specifies the currently enabled linters for the |GoMetaLinter| command. By -default it's using `vet`, `golint` and `errcheck` +default it's using `vet`, `golint` and `errcheck`. > let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck'] < @@ -889,7 +987,7 @@ default it's using `vet`, `golint` and `errcheck` Overrides the command to be executed when |GoMetaLinter| is called. This is an advanced settings and is for users who want to have a complete control -over of how `gometalinter` should be executed. By default it's empty. +over how `gometalinter` should be executed. By default it's empty. > let g:go_metalinter_command = "" < @@ -900,14 +998,75 @@ seconds. > let g:go_metalinter_deadline = "5s" < - *'g:go_loclist_height'* + *'g:go_list_height'* -Specifies the current location list height for all location lists. The default -value (empty) sets automatically the height to the number of errors (maximum -up to 10 errors to prevent large heights). Setting the value explicitly -overrides this behavior. To get default Vim behavior set it to 10. +Specifies the window height for the quickfix and location list windows. The +default value (empty) automatically sets the height to the number of items +(maximum up to 10 items to prevent large heights). Setting the value +explicitly overrides this behavior. For standard Vim behavior, set it to 10. > - let g:go_loclist_height = 0 + let g:go_list_height = 0 +< + *'g:go_list_type'* + +Specifies the type of list to use. The default value (empty) will use the +appropriate kind of list for the command that was called. Supported values are +"", "quickfix", and "locationlist". > + + let g:go_list_type = "" +< + *'g:go_asmfmt_autosave'* + +Use this option to auto |:AsmFmt| on save. By default it's enabled. > + + let g:go_asmfmt_autosave = 1 +< + *g:go_term_mode* + +This option is Neovim only. Use it to change the default command used to +open a new terminal for go commands such as |:GoRun|. +The default is vsplit. +> + let g:go_term_mode = "vsplit" +< + *g:go_term_height* + *g:go_term_width* + +These options are Neovim only. Use them to control the height and width of +a terminal split. By default these are not set, meaning that the height and +width are set automatically by Neovim. The height only applies to a +horizontal split and width only applies to a vertical split. + +For example here is how to set each to 30. +> + let g:go_term_height = 30 + let g:go_term_width = 30 +< + *g:go_term_enabled* + +This option is Neovim only. Use it to change the behavior of the test +commands. If set to 1 it opens the test commands inside a new terminal +according to |g:go_term_mode|, otherwise it will run them in the background +just like `:GoBuild` and then display the status with |go#jobcontrol#Statusline()|. +By default it is disabled. +> + let g:go_term_enabled = 0 +< + *g:go_alternate_mode* + +Specifies the command that |:GoAlternate| uses to open the alternate file. +By default it is set to edit. +> + let g:go_alternate_mode = "edit" +< + *g:go_gorename_prefill* + +Specifies whether |:GoRename| prefills the new identifier name with the +word under the cursor. By default is is enabled. +> + let g:go_gorename_prefill = 1 +< + =============================================================================== TROUBLESHOOTING *go-troubleshooting* diff --git a/sources_non_forked/vim-go/ftdetect/gofiletype.vim b/sources_non_forked/vim-go/ftdetect/gofiletype.vim index 573dbb01..b5578a6e 100644 --- a/sources_non_forked/vim-go/ftdetect/gofiletype.vim +++ b/sources_non_forked/vim-go/ftdetect/gofiletype.vim @@ -5,11 +5,11 @@ let s:current_fileformats = '' let s:current_fileencodings = '' " define fileencodings to open as utf-8 encoding even if it's ascii. -function! s:gofiletype_pre() +function! s:gofiletype_pre(type) let s:current_fileformats = &g:fileformats let s:current_fileencodings = &g:fileencodings set fileencodings=utf-8 fileformats=unix - setlocal filetype=go + let &l:filetype = a:type endfunction " restore fileencodings as others @@ -19,9 +19,13 @@ function! s:gofiletype_post() endfunction au BufNewFile *.go setfiletype go | setlocal fileencoding=utf-8 fileformat=unix -au BufRead *.go call s:gofiletype_pre() +au BufRead *.go call s:gofiletype_pre("go") au BufReadPost *.go call s:gofiletype_post() +au BufNewFile *.s setfiletype asm | setlocal fileencoding=utf-8 fileformat=unix +au BufRead *.s call s:gofiletype_pre("asm") +au BufReadPost *.s call s:gofiletype_post() + au BufRead,BufNewFile *.tmpl set filetype=gohtmltmpl " vim:ts=4:sw=4:et diff --git a/sources_non_forked/vim-go/ftplugin/asm.vim b/sources_non_forked/vim-go/ftplugin/asm.vim new file mode 100644 index 00000000..0ac3594b --- /dev/null +++ b/sources_non_forked/vim-go/ftplugin/asm.vim @@ -0,0 +1,17 @@ +" asm.vim: Vim filetype plugin for Go assembler. + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl fo< com< cms<" + +setlocal formatoptions-=t + +setlocal comments=s1:/*,mb:*,ex:*/,:// +setlocal commentstring=//\ %s + +setlocal noexpandtab + +command! -nargs=0 AsmFmt call go#asmfmt#Format() diff --git a/sources_non_forked/vim-go/ftplugin/go/commands.vim b/sources_non_forked/vim-go/ftplugin/go/commands.vim index a821e929..4c6ddba2 100644 --- a/sources_non_forked/vim-go/ftplugin/go/commands.vim +++ b/sources_non_forked/vim-go/ftplugin/go/commands.vim @@ -53,4 +53,7 @@ command! -nargs=* GoLint call go#lint#Golint() command! -nargs=* -bang GoVet call go#lint#Vet(0, ) command! -nargs=* -complete=customlist,go#package#Complete GoErrCheck call go#lint#Errcheck() +" -- alternate +command! -bang GoAlternate call go#alternate#Switch(0, '') + " vim:ts=4:sw=4:et diff --git a/sources_non_forked/vim-go/ftplugin/go/mappings.vim b/sources_non_forked/vim-go/ftplugin/go/mappings.vim index 9e243543..4ce38d02 100644 --- a/sources_non_forked/vim-go/ftplugin/go/mappings.vim +++ b/sources_non_forked/vim-go/ftplugin/go/mappings.vim @@ -5,17 +5,16 @@ " which by default is enabled. For commands the user has the ability to pass " the '!', such as :GoBuild or :GoBuild! if !exists("g:go_jump_to_error") - let g:go_jump_to_error = 1 + let g:go_jump_to_error = 1 endif - " Some handy plug mappings -nnoremap (go-run) :call go#cmd#Run(!g:go_jump_to_error, '%') +nnoremap (go-run) :call go#cmd#Run(!g:go_jump_to_error) if has("nvim") - nnoremap (go-run-vertical) :call go#cmd#RunTerm('vsplit') - nnoremap (go-run-split) :call go#cmd#RunTerm('split') - nnoremap (go-run-tab) :call go#cmd#RunTerm('tab') + nnoremap (go-run-vertical) :call go#cmd#RunTerm(!g:go_jump_to_error, 'vsplit') + nnoremap (go-run-split) :call go#cmd#RunTerm(!g:go_jump_to_error, 'split') + nnoremap (go-run-tab) :call go#cmd#RunTerm(!g:go_jump_to_error, 'tabe') endif nnoremap (go-build) :call go#cmd#Build(!g:go_jump_to_error) @@ -56,4 +55,6 @@ nnoremap (go-doc-browser) :call go#doc#OpenBrowser() nnoremap (go-metalinter) :call go#lint#Gometa(0) nnoremap (go-vet) :call go#lint#Vet(!g:go_jump_to_error) - +nnoremap (go-alternate-edit) :call go#alternate#Switch(0, "edit") +nnoremap (go-alternate-vertical) :call go#alternate#Switch(0, "vsplit") +nnoremap (go-alternate-split) :call go#alternate#Switch(0, "split") diff --git a/sources_non_forked/vim-go/gosnippets/snippets/go.snip b/sources_non_forked/vim-go/gosnippets/snippets/go.snip index f7f23363..f60aeb57 100644 --- a/sources_non_forked/vim-go/gosnippets/snippets/go.snip +++ b/sources_non_forked/vim-go/gosnippets/snippets/go.snip @@ -124,6 +124,7 @@ abbr if err != nil { ... } if err != nil { return err } + ${0} # error snippet in TestFunc snippet errt abbr if err != nil { ... } @@ -135,11 +136,10 @@ abbr if err != nil { ... } snippet errn, abbr if err != nil { return [...], err } if err != nil { - return ${2}$1, err + return ${1:nil}, err } ${0} - # error snippet handle and return snippet errh abbr if err != nil { return } @@ -153,6 +153,7 @@ abbr if err != nil { return } snippet json abbr \`json:key\` \`json:"${1:keyName}"\` + # fallthrough snippet ft abbr fallthrough diff --git a/sources_non_forked/vim-go/indent/gohtmltmpl.vim b/sources_non_forked/vim-go/indent/gohtmltmpl.vim index 50399f2b..94ea135a 100644 --- a/sources_non_forked/vim-go/indent/gohtmltmpl.vim +++ b/sources_non_forked/vim-go/indent/gohtmltmpl.vim @@ -3,3 +3,42 @@ if exists("b:did_indent") endif runtime! indent/html.vim + +" Indent Golang HTML templates +setlocal indentexpr=GetGoHTMLTmplIndent(v:lnum) +setlocal indentkeys+==else,=end + +" Only define the function once. +if exists("*GetGoHTMLTmplIndent") + finish +endif + +function! GetGoHTMLTmplIndent(lnum) + " Get HTML indent + if exists('*HtmlIndent') + let ind = HtmlIndent() + else + let ind = HtmlIndentGet(a:lnum) + endif + + " The value of a single shift-width + if exists('*shiftwidth') + let sw = shiftwidth() + else + let sw = &sw + endif + + " If need to indent based on last line + let last_line = getline(a:lnum-1) + if last_line =~ '^\s*{{\s*\%(if\|else\|range\|with\|define\|block\).*}}' + let ind += sw + endif + + " End of FuncMap block + let current_line = getline(a:lnum) + if current_line =~ '^\s*{{\s*\%(else\|end\).*}}' + let ind -= sw + endif + + return ind +endfunction diff --git a/sources_non_forked/vim-go/plugin/go.vim b/sources_non_forked/vim-go/plugin/go.vim index 43295ad7..63b42ceb 100644 --- a/sources_non_forked/vim-go/plugin/go.vim +++ b/sources_non_forked/vim-go/plugin/go.vim @@ -17,6 +17,7 @@ let s:packages = [ \ "github.com/golang/lint/golint", \ "github.com/kisielk/errcheck", \ "github.com/jstemmer/gotags", + \ "github.com/klauspost/asmfmt/cmd/asmfmt", \ ] " These commands are available on any filetypes @@ -119,6 +120,23 @@ endfunction " Autocommands " ============================================================================ +" +function! s:echo_go_info() + if !exists('v:completed_item') || empty(v:completed_item) + return + endif + let item = v:completed_item + + if !has_key(item, "info") + return + endif + + if empty(item.info) + return + endif + + redraws! | echo "vim-go: " | echohl Function | echon item.info | echohl None +endfunction augroup vim-go autocmd! @@ -128,11 +146,22 @@ augroup vim-go autocmd CursorHold *.go nested call go#complete#Info() endif - " code formatting on save + " Echo the identifier information when completion is done. Useful to see + " the signature of a function, etc... + if exists('##CompleteDone') + autocmd CompleteDone *.go nested call s:echo_go_info() + endif + + " Go code formatting on save if get(g:, "go_fmt_autosave", 1) autocmd BufWritePre *.go call go#fmt#Format(-1) endif + " Go asm formatting on save + if get(g:, "go_asmfmt_autosave", 1) + autocmd BufWritePre *.s call go#asmfmt#Format() + endif + " run gometalinter on save if get(g:, "go_metalinter_autosave", 0) autocmd BufWritePost *.go call go#lint#Gometa(1) diff --git a/sources_non_forked/vim-go/syntax/go.vim b/sources_non_forked/vim-go/syntax/go.vim index e4ecaf08..56722a19 100644 --- a/sources_non_forked/vim-go/syntax/go.vim +++ b/sources_non_forked/vim-go/syntax/go.vim @@ -12,7 +12,7 @@ " let OPTION_NAME = 1 " to enable particular options. " At present, all options default to on, except highlight of: -" functions, methods and structs. +" functions, methods, structs, operators, build constraints and interfaces. " " - go_highlight_array_whitespace_error " Highlights white space after "[]". @@ -69,6 +69,10 @@ if !exists("g:go_highlight_structs") let g:go_highlight_structs = 0 endif +if !exists("g:go_highlight_interfaces") + let g:go_highlight_interfaces = 0 +endif + if !exists("g:go_highlight_build_constraints") let g:go_highlight_build_constraints = 0 endif @@ -291,6 +295,14 @@ endif hi def link goStruct Function hi def link goStructDef Function +" Interfaces; +if g:go_highlight_interfaces != 0 + syn match goInterface /\(.\)\@<=\w\+\({\)\@=/ + syn match goInterfaceDef /\(type\s\+\)\@<=\w\+\(\s\+interface\s\+{\)\@=/ +endif +hi def link goInterface Function +hi def link goInterfaceDef Function + " Build Constraints if g:go_highlight_build_constraints != 0 syn match goBuildKeyword display contained "+build" diff --git a/sources_non_forked/vim-jade/README.markdown b/sources_non_forked/vim-jade/README.markdown deleted file mode 100644 index 2c2222ed..00000000 --- a/sources_non_forked/vim-jade/README.markdown +++ /dev/null @@ -1,19 +0,0 @@ -# vim-jade # - -Vim syntax highlighting for Jade templates. - -Installation ------------- - -I prefer to install plugins using Tim Pope's -[pathogen.vim](https://github.com/tpope/vim-pathogen). Installation using -pathogen is quite simple. - - cd ~/.vim/bundle - git clone git://github.com/digitaltoad/vim-jade.git - -If you do not want to use pathogen. You can always install vim-jade in the -normal manner by copying each directory to your ~/.vim directory. Make sure -not to overwrite any existing directory of the same name and instead copy only -the contents of the source directory to the directory of the same name in your -~/.vim directory. diff --git a/sources_non_forked/vim-jade/ftdetect/jade.vim b/sources_non_forked/vim-jade/ftdetect/jade.vim deleted file mode 100644 index c21dcff7..00000000 --- a/sources_non_forked/vim-jade/ftdetect/jade.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Jade -autocmd BufNewFile,BufReadPost *.jade set filetype=jade diff --git a/sources_non_forked/vim-jade/ftplugin/jade.vim b/sources_non_forked/vim-jade/ftplugin/jade.vim deleted file mode 100644 index 577f5547..00000000 --- a/sources_non_forked/vim-jade/ftplugin/jade.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim filetype plugin -" Language: Jade -" Maintainer: Joshua Borton -" Credits: Tim Pope - -" Only do this when not done yet for this buffer -if exists("b:did_ftplugin") - finish -endif - -let s:save_cpo = &cpo -set cpo-=C - -setlocal iskeyword+=- - -" Define some defaults in case the included ftplugins don't set them. -let s:undo_ftplugin = "" -let s:browsefilter = "All Files (*.*)\t*.*\n" -let s:match_words = "" - -runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim -unlet! b:did_ftplugin - -" Override our defaults if these were set by an included ftplugin. -if exists("b:undo_ftplugin") - let s:undo_ftplugin = b:undo_ftplugin - unlet b:undo_ftplugin -endif -if exists("b:browsefilter") - let s:browsefilter = b:browsefilter - unlet b:browsefilter -endif -if exists("b:match_words") - let s:match_words = b:match_words - unlet b:match_words -endif - -" Change the browse dialog on Win32 to show mainly Haml-related files -if has("gui_win32") - let b:browsefilter="Jade Files (*.jade)\t*.jade\n" . s:browsefilter -endif - -" Load the combined list of match_words for matchit.vim -if exists("loaded_matchit") - let b:match_words = s:match_words -endif - -setlocal comments=://-,:// commentstring=//\ %s - -setlocal suffixesadd+=.jade - -let b:undo_ftplugin = "setl cms< com< " - \ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin - -let &cpo = s:save_cpo - -" vim:set sw=2: diff --git a/sources_non_forked/vim-jade/indent/jade.vim b/sources_non_forked/vim-jade/indent/jade.vim deleted file mode 100644 index 8cfa656d..00000000 --- a/sources_non_forked/vim-jade/indent/jade.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim indent file -" Language: Jade -" Maintainer: Joshua Borton -" Credits: Tim Pope (vim-jade) -" Last Change: 2010 Sep 22 - -if exists("b:did_indent") - finish -endif - -unlet! b:did_indent -let b:did_indent = 1 - -setlocal autoindent -setlocal indentexpr=GetJadeIndent() -setlocal indentkeys=o,O,*,},],0),!^F - -" Only define the function once. -if exists("*GetJadeIndent") - finish -endif - -let s:attributes = '\%((.\{-\})\)' -let s:tag = '\([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*' - -if !exists('g:jade_self_closing_tags') - let g:jade_self_closing_tags = 'meta|link|img|hr|br|input' -endif - -setlocal formatoptions+=r -setlocal comments+=n:\| - -function! GetJadeIndent() - let lnum = prevnonblank(v:lnum-1) - if lnum == 0 - return 0 - endif - let line = substitute(getline(lnum),'\s\+$','','') - let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') - let lastcol = strlen(line) - let line = substitute(line,'^\s\+','','') - let indent = indent(lnum) - let cindent = indent(v:lnum) - let increase = indent + &sw - if indent == indent(lnum) - let indent = cindent <= indent ? -1 : increase - endif - - let group = synIDattr(synID(lnum,lastcol,1),'name') - - if line =~ '^!!!' - return indent - elseif line =~ '^/\%(\[[^]]*\]\)\=$' - return increase - elseif line =~ '^\%(if\|else\|unless\|for\|each\|block\|mixin\|append\|case\|when\)' - return increase - elseif line =~ '^'.s:tag.'[&!]\=[=~-].*,\s*$' - return increase - elseif line == '-#' - return increase - elseif line =~? '^\v%('.g:jade_self_closing_tags.')>' - return indent - elseif group =~? '\v^%(jadeAttributesDelimiter|jadeClass|jadeId|htmlTagName|htmlSpecialTagName|jadeFilter|jadeTagBlockChar)$' - return increase - else - return indent - endif -endfunction - -" vim:set sw=2: diff --git a/sources_non_forked/vim-jade/syntax/jade.vim b/sources_non_forked/vim-jade/syntax/jade.vim deleted file mode 100644 index ed88e071..00000000 --- a/sources_non_forked/vim-jade/syntax/jade.vim +++ /dev/null @@ -1,104 +0,0 @@ -" Vim syntax file -" Language: Jade -" Maintainer: Joshua Borton -" Credits: Tim Pope -" Filenames: *.jade - -if exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'jade' -endif - -silent! syntax include @htmlCoffeescript syntax/coffee.vim -unlet! b:current_syntax -silent! syntax include @htmlStylus syntax/stylus.vim -unlet! b:current_syntax -silent! syntax include @htmlCss syntax/css.vim -unlet! b:current_syntax -silent! syntax include @htmlMarkdown syntax/markdown.vim -unlet! b:current_syntax - -syn case match - -syn region javascriptParenthesisBlock start="(" end=")" contains=@htmlJavascript contained keepend -syn cluster htmlJavascript add=javascriptParenthesisBlock - -syn region jadeJavascript matchgroup=jadeJavascriptOutputChar start="[!&]\==\|\~" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend -syn region jadeJavascript matchgroup=jadeJavascriptChar start="-" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend -syn cluster jadeTop contains=jadeBegin,jadeComment,jadeHtmlComment,jadeJavascript -syn match jadeBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=jadeTag,jadeClassChar,jadeIdChar,jadePlainChar,jadeJavascript,jadeScriptConditional,jadeScriptStatement,jadePipedText -syn match jadeTag "+\?\w\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@jadeComponent -syn cluster jadeComponent contains=jadeAttributes,jadeIdChar,jadeBlockExpansionChar,jadeClassChar,jadePlainChar,jadeJavascript,jadeTagBlockChar,jadeTagInlineText -syn match jadeComment '\s*\/\/.*$' -syn region jadeCommentBlock start="\z(\s*\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" keepend -syn region jadeHtmlConditionalComment start="" -syn region jadeAttributes matchgroup=jadeAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,jadeHtmlArg,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@jadeComponent -syn match jadeClassChar "\." contained nextgroup=jadeClass -syn match jadeBlockExpansionChar ":\s\+" contained nextgroup=jadeTag,jadeClassChar,jadeIdChar -syn match jadeIdChar "#[[{]\@!" contained nextgroup=jadeId -syn match jadeClass "\%(\w\|-\)\+" contained nextgroup=@jadeComponent -syn match jadeId "\%(\w\|-\)\+" contained nextgroup=@jadeComponent -syn region jadeDocType start="^\s*\(!!!\|doctype\)" end="$" -" Unless I'm mistaken, syntax/html.vim requires -" that the = sign be present for these matches. -" This adds the matches back for jade. -syn keyword jadeHtmlArg contained href title - -syn match jadePlainChar "\\" contained -syn region jadeInterpolation matchgroup=jadeInterpolationDelimiter start="[#!]{" end="}" contains=@htmlJavascript -syn match jadeInterpolationEscape "\\\@[?!]\@!" -syn match jadeScriptStatement "^\s*\<\%(each\|for\|block\|prepend\|append\|mixin\|extends\|include\)\>[?!]\@!" -syn region jadeScriptLoopRegion start="^\s*\(for \)" end="$" contains=jadeScriptLoopKeywords -syn keyword jadeScriptLoopKeywords for in contained - -syn region jadeJavascript start="^\z(\s*\)script\%(:\w\+\)\=" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlJavascript,jadeJavascriptTag,jadeCoffeescriptFilter keepend - -syn region jadeCoffeescriptFilter matchgroup=jadeFilter start="^\z(\s*\):coffee-\?script\s*$" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlCoffeescript contained -syn region jadeJavascriptTag contained start="^\z(\s*\)script\%(:\w\+\)\=" end="$" contains=jadeBegin,jadeTag -syn region jadeCssBlock start="^\z(\s*\)style" nextgroup=@jadeComponent,jadeError end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlCss keepend - -syn match jadeError "\$" contained - -hi def link jadePlainChar Special -hi def link jadeScriptConditional PreProc -hi def link jadeScriptLoopKeywords PreProc -hi def link jadeScriptStatement PreProc -hi def link jadeHtmlArg htmlArg -hi def link jadeAttributeString String -hi def link jadeAttributesDelimiter Identifier -hi def link jadeIdChar Special -hi def link jadeClassChar Special -hi def link jadeBlockExpansionChar Special -hi def link jadePipeChar Special -hi def link jadeTagBlockChar Special -hi def link jadeId Identifier -hi def link jadeClass Type -hi def link jadeInterpolationDelimiter Delimiter -hi def link jadeInlineDelimiter Delimiter -hi def link jadeFilter PreProc -hi def link jadeDocType PreProc -hi def link jadeComment Comment -hi def link jadeCommentBlock Comment -hi def link jadeHtmlConditionalComment jadeComment - -let b:current_syntax = "jade" - -if main_syntax == "jade" - unlet main_syntax -endif diff --git a/sources_non_forked/vim-markdown/syntax/markdown.vim b/sources_non_forked/vim-markdown/syntax/markdown.vim index 925f9069..6aff90ae 100644 --- a/sources_non_forked/vim-markdown/syntax/markdown.vim +++ b/sources_non_forked/vim-markdown/syntax/markdown.vim @@ -18,14 +18,20 @@ unlet! b:current_syntax if !exists('g:markdown_fenced_languages') let g:markdown_fenced_languages = [] endif +let s:done_include = {} for s:type in map(copy(g:markdown_fenced_languages),'matchstr(v:val,"[^=]*$")') + if has_key(s:done_include, matchstr(s:type,'[^.]*')) + continue + endif if s:type =~ '\.' let b:{matchstr(s:type,'[^.]*')}_subtype = matchstr(s:type,'\.\zs.*') endif exe 'syn include @markdownHighlight'.substitute(s:type,'\.','','g').' syntax/'.matchstr(s:type,'[^.]*').'.vim' unlet! b:current_syntax + let s:done_include[matchstr(s:type,'[^.]*')] = 1 endfor unlet! s:type +unlet! s:done_include syn sync minlines=10 syn case ignore @@ -91,10 +97,16 @@ syn match markdownFootnote "\[^[^\]]\+\]" syn match markdownFootnoteDefinition "^\[^[^\]]\+\]:" if main_syntax ==# 'markdown' + let s:done_include = {} for s:type in g:markdown_fenced_languages + if has_key(s:done_include, matchstr(s:type,'[^.]*')) + continue + endif exe 'syn region markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' matchgroup=markdownCodeDelimiter start="^\s*```*\s*'.matchstr(s:type,'[^=]*').'\>.*$" end="^\s*```*\ze\s*$" keepend contains=@markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g') + let s:done_include[matchstr(s:type,'[^.]*')] = 1 endfor unlet! s:type + unlet! s:done_include endif syn match markdownEscape "\\[][\\`*_{}()<>#+.!-]" diff --git a/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md b/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md new file mode 100644 index 00000000..878aa59b --- /dev/null +++ b/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md @@ -0,0 +1,23 @@ +# Problems summary + +## Expected + +## Environment Information + * OS: + * Neovim/Vim/Gvim version: + +## Provide a minimal .vimrc with less than 50 lines + + " Your minimal.vimrc + +## Generate a logfile if appropriate + + 1. export NVIM_PYTHON_LOG_FILE=/tmp/log + 2. export NVIM_PYTHON_LOG_LEVEL=DEBUG + 3. nvim -u minimal.vimrc + 4. recreate your issue + 5. cat /tmp/log_{PID} + +## Screen shot (if possible) + +## Upload the log file diff --git a/sources_non_forked/vim-multiple-cursors/README.md b/sources_non_forked/vim-multiple-cursors/README.md index 3c22687f..95722924 100644 --- a/sources_non_forked/vim-multiple-cursors/README.md +++ b/sources_non_forked/vim-multiple-cursors/README.md @@ -1,5 +1,7 @@ -# vim-multiple-cursors [![Build Status](https://travis-ci.org/terryma/vim-multiple-cursors.svg)](https://travis-ci.org/terryma/vim-multiple-cursors) - +# vim-multiple-cursors +[![Build Status](https://travis-ci.org/terryma/vim-multiple-cursors.svg)](https://travis-ci.org/terryma/vim-multiple-cursors) +[![Issue Stats](http://issuestats.com/github/terryma/vim-multiple-cursors/badge/pr?style=flat)](http://issuestats.com/github/terryma/vim-multiple-cursors) +[![Issue Stats](http://issuestats.com/github/terryma/vim-multiple-cursors/badge/issue?style=flat)](http://issuestats.com/github/terryma/vim-multiple-cursors) ## Contents - [About](#about) - [Features](#features) @@ -10,7 +12,8 @@ - [Interactions with other plugins](#interactions-with-other-plugins) - [Highlight](#highlight) - *[FAQ](#faq)* - - *[Known Issues](#known-issues)* + - *[Known issues](#known-issues)* + - *[Issue creation requirements](#issue-creation-requirements)* - [Changelog](#changelog) - [Contributing](#contributing) - [Credit](#credit) @@ -42,7 +45,7 @@ Vim command sequence: `2Gdf[$r,0f,vc 0 + " Position the cursor at the end of the previous match so it'll be on a + " virtual cursor when multicursor mode is started. The `winrestview()` + " call below 'undoes' unnecessary repositionings + call search(a:pattern, 'be') break endif call s:cm.add(right, [left, right]) @@ -510,7 +530,7 @@ function! s:CursorManager.update_current() dict " adjust other cursor locations if vdelta != 0 if self.current_index != self.size() - 1 - let cur_line_length = len(getline(cur.line())) + let cur_column_offset = (cur.column() - col('.')) * -1 let new_line_length = len(getline('.')) for i in range(self.current_index+1, self.size()-1) let hdelta = 0 @@ -522,7 +542,7 @@ function! s:CursorManager.update_current() dict if cur.line() == c.line() if vdelta > 0 " Added a line - let hdelta = cur_line_length * -1 + let hdelta = cur_column_offset else " Removed a line let hdelta = new_line_length diff --git a/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb b/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb index 07efba50..9f83c219 100644 --- a/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb +++ b/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb @@ -191,7 +191,7 @@ end describe "Multiple Cursors" do let(:filename) { 'test.txt' } - let(:options) { [] } + let(:options) { ['set autoindent'] } specify "#paste buffer normal x then p" do before <<-EOF @@ -350,6 +350,38 @@ describe "Multiple Cursors" do EOF end + specify "#multiple new lines on one line in insert mode" do + before <<-EOF + 'a','b','c','d','e' + EOF + + type 'f,vc' + + after <<-EOF + 'a' + 'b' + 'c' + 'd' + 'e' + EOF + end + + specify "#multiple new lines on one line in insert mode with indents" do + before <<-EOF + 'a','b','c','d','e' + EOF + + type '4if,vc:%s/^/^' + + after <<-EOF + ^ 'a' + ^ 'b' + ^ 'c' + ^ 'd' + ^ 'e' + EOF + end + specify "#normal mode 'o'" do before <<-EOF hello @@ -397,6 +429,48 @@ describe "Multiple Cursors" do EOF end + specify "#find command start-of-line" do + before <<-EOF + hello + world + + hello + world + EOF + + vim.normal ':MultipleCursorsFind ^' + type 'Ibegin' + + after <<-EOF + beginhello + beginworld + begin + beginhello + beginworld + EOF + end + + specify "#find command end-of-line" do + before <<-EOF + hello + world + + hello + world + EOF + + vim.normal ':MultipleCursorsFind $' + type 'Iend' + + after <<-EOF + helloend + worldend + end + helloend + worldend + EOF + end + specify "#visual line mode replacement" do before <<-EOF hello world diff --git a/sources_non_forked/vim-racer/.gitignore b/sources_non_forked/vim-racer/.gitignore new file mode 100644 index 00000000..0d20b648 --- /dev/null +++ b/sources_non_forked/vim-racer/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/sources_non_forked/vim-racer/README.md b/sources_non_forked/vim-racer/README.md new file mode 100644 index 00000000..ef47c0c6 --- /dev/null +++ b/sources_non_forked/vim-racer/README.md @@ -0,0 +1,36 @@ +# Vim Racer Plugin + +This plugin allows vim to use [Racer](http://github.com/phildawes/racer) for Rust code completion and navigation. + +## Installation + +1. Build / Install [Racer](http://github.com/phildawes/racer) + +1. Install using Pathogen, Vundle or NeoBundle. Or, copy `plugin/racer.vim` into your `~/.vim/plugin` directory. + + Vundle users: + ``` + Plugin 'racer-rust/vim-racer' + ``` + + NeoBundle users: + ``` + NeoBundle 'racer-rust/vim-racer' + ``` + + vim-plug users: + ``` + Plug 'racer-rust/vim-racer' + ``` + +2. Add `g:racer_cmd` and `$RUST_SRC_PATH` variables to your `.vimrc`. Also it's worth turning on 'hidden' mode for buffers otherwise you need to save the current buffer every time you do a goto-definition. E.g.: + + ``` + set hidden + let g:racer_cmd = "/target/release/racer" + let $RUST_SRC_PATH="/src/" + ``` + +3. In insert mode use `C-x-C-o` to search for completions + +4. In normal mode type `gd` to go to a definition diff --git a/sources_non_forked/vim-racer/plugin/racer.vim b/sources_non_forked/vim-racer/plugin/racer.vim new file mode 100644 index 00000000..c42fb3d5 --- /dev/null +++ b/sources_non_forked/vim-racer/plugin/racer.vim @@ -0,0 +1,196 @@ +" Vim plugin for Racer +" (by Phil Dawes) +" +" 1. Edit the variables below (or override in .vimrc) +" 2. copy this file into .vim/plugin/ +" 3. - now in insert mode do 'C-x C-o' to autocomplete the thing at the cursor +" - in normal mode do 'gd' to go to definition +" - 'gD' goes to the definition in a new vertical split +" +" (This plugin is best used with the 'hidden' option enabled so that switching buffers doesn't force you to save) + +if exists('g:loaded_racer') + finish +endif + +let g:loaded_racer = 1 + +let s:save_cpo = &cpo +set cpo&vim + +if !exists('g:racer_cmd') + let path = escape(expand(':p:h'), '\') . '/../target/release/' + if isdirectory(path) + let s:pathsep = has("win32") ? ';' : ':' + let $PATH .= s:pathsep . path + endif + let g:racer_cmd = 'racer' + + if !(executable(g:racer_cmd)) + echohl WarningMsg | echomsg "No racer executable found in $PATH (" . $PATH . ")" + endif +endif + +if !exists('$RUST_SRC_PATH') + let s:rust_src_default = 1 + if isdirectory("/usr/local/src/rust/src") + let $RUST_SRC_PATH="/usr/local/src/rust/src" + endif + if isdirectory("/usr/src/rust/src") + let $RUST_SRC_PATH="/usr/src/rust/src" + endif + if isdirectory("C:\\rust\\src") + let $RUST_SRC_PATH="C:\\rust\\src" + endif +endif +if !isdirectory($RUST_SRC_PATH) + if exists('s:rust_src_default') + echohl WarningMsg | echomsg "No RUST_SRC_PATH environment variable present, nor could default installation be found at: " . $RUST_SRC_PATH + else + echohl WarningMsg | echomsg "No directory was found at provided RUST_SRC_PATH: " . $RUST_SRC_PATH + endif +endif + +if !exists('g:racer_experimental_completer') + let g:racer_experimental_completer = 0 +endif + +if !exists('g:racer_insert_paren') + let g:racer_insert_paren = 1 +endif + +function! RacerGetPrefixCol(base) + let col = col(".")-1 + let b:racer_col = col + let b:tmpfname = tempname() + call writefile(RacerGetBufferContents(a:base), b:tmpfname) + let cmd = g:racer_cmd." prefix ".line(".")." ".col." ".b:tmpfname + let res = system(cmd) + let prefixline = split(res, "\\n")[0] + let startcol = split(prefixline[7:], ",")[0] + return startcol +endfunction + +function! RacerGetExpCompletions(base) + let col = strlen(getline('.')) + strlen(a:base) " use the column from the previous RacerGetPrefixCol() call, since vim ammends it afterwards + call writefile(RacerGetBufferContents(a:base), b:tmpfname) + let fname = expand("%:p") + let cmd = g:racer_cmd." complete ".line(".")." ".col." ".fname." ".b:tmpfname + let res = system(cmd) + + let typeMap = { + \ 'Struct' : 's', 'Module' : 'M', 'Function' : 'f', + \ 'Crate' : 'C', 'Let' : 'v', 'StructField' : 'm', + \ 'Impl' : 'i', 'Enum' : 'e', 'EnumVariant' : 'E', + \ 'Type' : 't', 'FnArg' : 'v', 'Trait' : 'T' + \ } + + let lines = split(res, "\\n") + let out = [] + + for line in lines + if line =~ "^MATCH" + let completions = split(line[6:], ",") + let kind = get(typeMap, completions[4]) + let completion = {'kind' : kind, 'word' : completions[0], 'dup':1 } + + if kind ==# 'f' " function + let completion['menu'] = substitute(substitute(substitute(join(completions[5:], ','), '\(pub\|fn\) ',"","g"), '{*$', "", ""), ' where\s\?.*$', "", "") + if g:racer_insert_paren == 1 + let completion['abbr'] = completions[0] + let completion['word'] .= "(" + endif + let completion['info'] = join(completions[5:], ',') + elseif kind ==# 's' " struct + let completion['menu'] = substitute(substitute(join(completions[5:], ','), '\(pub\|struct\) ',"","g"), '{*$', "", "") + endif + + let out = add(out, completion) + endif + endfor + call delete(b:tmpfname) + return out +endfunction + +function! RacerGetCompletions(base) + let col = strlen(getline('.')) + strlen(a:base) " use the column from the previous RacerGetPrefixCol() call, since vim ammends it afterwards + call writefile(RacerGetBufferContents(a:base), b:tmpfname) + let fname = expand("%:p") + let cmd = g:racer_cmd." complete ".line(".")." ".col." ".fname." ".b:tmpfname + let res = system(cmd) + let lines = split(res, "\\n") + let out = [] + for line in lines + if line =~ "^MATCH" + let completion = split(line[6:], ",")[0] + let out = add(out, completion) + endif + endfor + call delete(b:tmpfname) + return out +endfunction + +function! RacerGoToDefinition() + let col = col(".")-1 + let b:racer_col = col + let fname = expand("%:p") + let tmpfname = tempname() + call writefile(getline(1, '$'), tmpfname) + let cmd = g:racer_cmd." find-definition ".line(".")." ".col." ".fname." ".tmpfname + let res = system(cmd) + let lines = split(res, "\\n") + for line in lines + if line =~ "^MATCH" + let linenum = split(line[6:], ",")[1] + let colnum = split(line[6:], ",")[2] + let fname = split(line[6:], ",")[3] + call RacerJumpToLocation(fname, linenum, colnum) + break + endif + endfor + call delete(tmpfname) +endfunction + +function! RacerGetBufferContents(base) + " Re-combine the completion base word from omnicomplete with the current + " line contents. Since the base word gets remove from the buffer before + " this function is invoked we have to put it back in to out tmpfile. + let col = col(".")-1 + let buf_lines = getline(1, '$') + let line_contents = getline('.') + let buf_lines[line('.') - 1] = strpart(line_contents, 0, col).a:base.strpart(line_contents, col, len(line_contents)) + return buf_lines +endfunction + +function! RacerJumpToLocation(filename, linenum, colnum) + if(a:filename != '') + " Record jump mark + normal! m` + if a:filename != bufname('%') + exec 'keepjumps e ' . fnameescape(a:filename) + endif + call cursor(a:linenum, a:colnum+1) + " Center definition on screen + normal! zz + endif +endfunction + +function! RacerComplete(findstart, base) + if a:findstart + return RacerGetPrefixCol(a:base) + else + if g:racer_experimental_completer == 1 + return RacerGetExpCompletions(a:base) + else + return RacerGetCompletions(a:base) + endif + endif +endfunction + +autocmd FileType rust setlocal omnifunc=RacerComplete +autocmd FileType rust nnoremap gd :call RacerGoToDefinition() +autocmd FileType rust nnoremap gD :vsplit:call RacerGoToDefinition() + +let &cpo = s:save_cpo +unlet s:save_cpo + diff --git a/sources_non_forked/vim-racer/rplugin/python3/deoplete/sources/racer.py b/sources_non_forked/vim-racer/rplugin/python3/deoplete/sources/racer.py new file mode 100644 index 00000000..7af86ac7 --- /dev/null +++ b/sources_non_forked/vim-racer/rplugin/python3/deoplete/sources/racer.py @@ -0,0 +1,103 @@ +#============================================================================= +# FILE: racer.py +# AUTHOR: Shougo Matsushita +# License: MIT license {{{ +# 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. +# }}} +#============================================================================= + +import re +import os +import subprocess +from .base import Base + +class Source(Base): + def __init__(self, vim): + Base.__init__(self, vim) + + self.name = 'racer' + self.mark = '[racer]' + self.filetypes = ['rust'] + self.input_pattern = r'(\.|::)\w*' + self.__executable_racer = self.vim.funcs.executable( + self.vim.eval('g:racer_cmd')) + self.__racer = self.vim.eval('g:racer_cmd') + self.__encoding = self.vim.eval('&encoding') + + def get_complete_position(self, context): + if not self.__executable_racer: + return -1 + + results = self.get_results('prefix', self.vim.funcs.col('.')) + if not results: + return -1 + prefixline = results[0] + return int(prefixline[7:].split(',')[0]) + + def gather_candidates(self, context): + typeMap = { + 'Struct': 's', 'Module': 'M', 'Function': 'f', + 'Crate': 'C', 'Let': 'v', 'StructField': 'm', + 'Impl': 'i', 'Enum': 'e', 'EnumVariant': 'E', + 'Type': 't', 'FnArg': 'v', 'Trait': 'T' + } + + candidates = [] + insert_paren = int(self.vim.eval('g:racer_insert_paren')) + for line in [l[6:] for l + in self.get_results('complete-with-snippet', + context['complete_position'] + 1) + if l.startswith('MATCH')]: + completions = line.split(';', 6) + kind = typeMap[completions[5]] + completion = { 'kind': kind, 'word': completions[0], 'dup': 1 } + if kind == 'f': # function + completion['menu'] = completions[6].replace( + 'pub ', '').replace('fn ', '').rstrip('{') + if ' where ' in completion['menu'] or completion[ + 'menu'].endswith(' where') : + where = completion['menu'].rindex(' where') + completion['menu'] = completion['menu'][: where] + if insert_paren: + completion['abbr'] = completions[0] + completion['word'] += '(' + elif kind == 's' : # struct + completion['menu'] = completions[6].replace( + 'pub ', '').replace( 'struct ', '').rstrip('{') + candidates.append(completion) + return candidates + + def get_results(self, command, col): + temp = self.vim.funcs.tempname() + with open(temp, 'w') as f: + for l in self.vim.current.buffer: + f.write(l + "\n") + try: + results = subprocess.check_output([ + self.__racer, command, + str(self.vim.funcs.line('.')), + str(col - 1), + temp + ]).decode(self.__encoding).splitlines() + except subprocess.CalledProcessError: + return [] + finally: + os.remove(temp) + return results diff --git a/sources_non_forked/vim-snippets/UltiSnips/python.snippets b/sources_non_forked/vim-snippets/UltiSnips/python.snippets index 9372bdcf..654538d0 100644 --- a/sources_non_forked/vim-snippets/UltiSnips/python.snippets +++ b/sources_non_forked/vim-snippets/UltiSnips/python.snippets @@ -622,25 +622,9 @@ finally: endsnippet -##################### +###################### # Assertions & Tests # -##################### - -snippet pdb "Set PDB breakpoint" b -import pdb; pdb.set_trace() -endsnippet - -snippet ipy "Embed IPython shell" b -import IPython; IPython.embed() -endsnippet - -snippet ipdb "Set IPDB breakpoint" b -import ipdb; ipdb.set_trace() -endsnippet - -snippet pudb "Set PUDB breakpoint" b -import pudb; pudb.set_trace() -endsnippet +###################### snippet ae "Assert equal" b self.assertEqual(${1:${VISUAL:first}},${2:second}) diff --git a/sources_non_forked/vim-snippets/UltiSnips/rails.snippets b/sources_non_forked/vim-snippets/UltiSnips/rails.snippets index 5c521795..e7b2757b 100644 --- a/sources_non_forked/vim-snippets/UltiSnips/rails.snippets +++ b/sources_non_forked/vim-snippets/UltiSnips/rails.snippets @@ -15,7 +15,7 @@ t.boolean :${1:title} $0 endsnippet -snippet cla "Create controller class" +snippet clac "Create controller class" class ${1:Model}Controller < ApplicationController before_filter :find_${2:model} @@ -48,7 +48,7 @@ t.float :${1:title} $0 endsnippet -snippet cla "Create functional test class" +snippet clact "Create functional test class" require 'test_helper' class ${1:Model}ControllerTest < ActionController::TestCase @@ -133,7 +133,7 @@ class ${1:Model}sController < ApplicationController # PUT /${1/./\l$0/}s/1.xml def update respond_to do |wants| - if @${1/./\l$0/}.update_attributes(params[:${1/./\l$0/}]) + if @${1/./\l$0/}.update(params[:${1/./\l$0/}]) flash[:notice] = '${1:Model} was successfully updated.' wants.html { redirect_to(@${1/./\l$0/}) } wants.xml { head :ok } @@ -601,12 +601,6 @@ respond_to do |wants| end endsnippet -snippet resw "respond_with" -respond_with(${1:@${2:model}})${3: do |format| - format.${4:html} { $0 \} -end} -endsnippet - # FIXME snippet returning "returning do |variable| ... end" returning ${1:variable} do${2/(^(?\s*[a-z_][a-zA-Z0-9_]*\s*)(,\g)*,?\s*$)|.*/(?1: |)/}${2:v}${2/(^(?\s*[a-z_][a-zA-Z0-9_]*\s*)(,\g)*,?\s*$)|.*/(?1:|)/} @@ -799,10 +793,6 @@ snippet xput "xhr put" xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { $4 }$0 endsnippet -snippet finl "find(:last)" -find(:last${1:, :conditions => ['${2:${3:field} = ?}', ${5:true}]}) -endsnippet - snippet sweeper "Create sweeper class" class ${1:Model}Sweeper < ActionController::Caching::Sweeper observe ${1:Model} diff --git a/sources_non_forked/vim-snippets/UltiSnips/ruby.snippets b/sources_non_forked/vim-snippets/UltiSnips/ruby.snippets index b8a00922..b7124f83 100644 --- a/sources_non_forked/vim-snippets/UltiSnips/ruby.snippets +++ b/sources_non_forked/vim-snippets/UltiSnips/ruby.snippets @@ -266,18 +266,6 @@ snippet "(\S+)\.Index" ".index do |item| ... end" r end endsnippet -snippet do "do || ... end" i -do |${1:args}| - $0 -end -endsnippet - -snippet Do "do ... end" i -do - $0 -end -endsnippet - snippet until "until ... end" until ${1:expression} $0 diff --git a/sources_non_forked/vim-snippets/snippets/cmake.snippets b/sources_non_forked/vim-snippets/snippets/cmake.snippets index ef2256a4..3a0b920e 100644 --- a/sources_non_forked/vim-snippets/snippets/cmake.snippets +++ b/sources_non_forked/vim-snippets/snippets/cmake.snippets @@ -1,58 +1,83 @@ -snippet cmake - CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - PROJECT(${1:ProjectName}) +snippet init + cmake_minimum_required(version ${1:2.8.2}) + project(${2:ProjectName}) - FIND_PACKAGE(${2:LIBRARY}) + find_package(${3:library}) - INCLUDE_DIRECTORIES( - ${$2_INCLUDE_DIR} - ) + include_directories(${$3_INCLUDE_DIRS}) - ADD_SUBDIRECTORY(${0:src}) + add_subdirectory(${0:src}) - ADD_EXECUTABLE($1) + add_executable($2) - TARGET_LINK_LIBRARIES($1 - ${$2_LIBRARIES} - ) + target_link_libraries($2 ${$3_LIBRARIES}) + +snippet proj + project(${0:Name}) + +snippet min + cmake_minimum_required(version ${0:2.8.2}) snippet include - INCLUDE_DIRECTORIES( - ${${0:INCLUDE_DIR}} - ) + include_directories(${${0:include_dir}}) snippet find - FIND_PACKAGE(${0:LIBRARY}) + find_package(${1:library} ${0:REQUIRED}) snippet glob - FILE(GLOB ${1:SRCS} *.${0:cpp}) + file(glob ${1:srcs} *.${0:cpp}) snippet subdir - ADD_SUBDIRECTORY(${0:src}) + add_subdirectory(${0:src}) snippet lib - ADD_LIBRARY(${1:lib} ${2:STATIC} - ${${0:SRCS}} - ) + add_library(${1:lib} ${${0:srcs}}) snippet link - TARGET_LINK_LIBRARIES(${1:bin} - ${0:somelib} - ) + target_link_libraries(${1:bin} ${0:somelib}) snippet bin - ADD_EXECUTABLE(${1:bin}) + add_executable(${1:bin}) snippet set - SET(${1:var} ${0:val}) + set(${1:var} ${0:val}) snippet dep - ADD_DEPENDENCIES(${1:target} + add_dependencies(${1:target} ${0:dep} ) +snippet Ext_url + include(ExternalProject) + ExternalProject_Add(${1:googletest} + URL ${2:http://googletest.googlecode.com/files/gtest-1.7.0.zip} + URL_HASH SHA1=${3:f85f6d2481e2c6c4a18539e391aa4ea8ab0394af} + SOURCE_DIR "${4:${CMAKE_BINARY_DIR}/gtest-src}" + BINARY_DIR "${0:${CMAKE_BINARY_DIR}/gtest-build}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) + +snippet Ext_git + include(ExternalProject) + ExternalProject_Add(${1:googletest} + GIT_REPOSITORY ${2:https://github.com/google/googletest.git} + GIT_TAG ${3:master} + SOURCE_DIR "${4:${CMAKE_BINARY_DIR}/googletest-src}" + BINARY_DIR "${0:${CMAKE_BINARY_DIR}/googletest-build}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) + snippet props - SET_TARGET_PROPERTIES(${1:target} - ${2:PROPERTIES} ${3:COMPILE_FLAGS} + set_target_properties(${1:target} + ${2:properties} ${3:compile_flags} ${0:"-O3 -Wall -pedantic"} ) + +snippet test + add_test(${1:ATestName} ${0:testCommand --options}) diff --git a/sources_non_forked/vim-snippets/snippets/eelixir.snippets b/sources_non_forked/vim-snippets/snippets/eelixir.snippets index fd76d169..bb6c5d4a 100644 --- a/sources_non_forked/vim-snippets/snippets/eelixir.snippets +++ b/sources_non_forked/vim-snippets/snippets/eelixir.snippets @@ -1,37 +1,29 @@ snippet % <% ${0} %> - snippet = <%= ${0} %> - snippet end <% end %> - snippet for <%= for ${1:item} <- ${2:items} ${3:@conn} do %> ${0} <% end %> - snippet if <%= if ${1} do %> ${0} <% end %> - snippet ife <%= if ${1} do %> ${2} <%= else %> ${0} <% end %> - snippet ft <%= form_tag(${1:"/users"}, method: ${2::post}) %> ${0} - snippet lin <%= link "${1:Submit}", to: ${2:"/users"}, method: ${3::delete} %> - snippet ff <%= form_for @changeset, ${1:"/users"}, fn f -> %> ${0} diff --git a/sources_non_forked/vim-snippets/snippets/javascript/javascript.es6.snippets b/sources_non_forked/vim-snippets/snippets/javascript/javascript.es6.snippets index e1873c5e..df059a15 100644 --- a/sources_non_forked/vim-snippets/snippets/javascript/javascript.es6.snippets +++ b/sources_non_forked/vim-snippets/snippets/javascript/javascript.es6.snippets @@ -1,26 +1,28 @@ snippet const - const ${0} = ${1}; + const ${1} = ${0}; snippet let - let ${0} = ${1}; + let ${1} = ${0}; snippet im - import ${0} from '${1}'; + import ${1} from '${0}'; snippet cla - class ${0} { - ${1} + class ${1} { + ${0} } snippet clax - class ${0} extends ${1} { - ${2} + class ${1} extends ${2} { + ${0} } snippet => - (${0}) => { - ${1} + (${1}) => { + ${0} } snippet af - (${0}) => { - ${1} + (${1}) => { + ${0} } snippet sym - const ${0} = Symbol('${1}'); + const ${1} = Symbol('${0}'); snippet ed export default ${0} +snippet ${ + ${${1}}${0} diff --git a/sources_non_forked/vim-snippets/snippets/javascript/javascript.snippets b/sources_non_forked/vim-snippets/snippets/javascript/javascript.snippets index 11f3f76c..0d054f4e 100644 --- a/sources_non_forked/vim-snippets/snippets/javascript/javascript.snippets +++ b/sources_non_forked/vim-snippets/snippets/javascript/javascript.snippets @@ -254,9 +254,9 @@ snippet cl # console.debug snippet cd console.debug(${0}); -# console.err +# console.error snippet ce - console.err(${0}); + console.error(${0}); # console.trace snippet ct console.trace(${0:label}); diff --git a/sources_non_forked/vim-snippets/snippets/php.snippets b/sources_non_forked/vim-snippets/snippets/php.snippets index 45a78212..9edefa2c 100644 --- a/sources_non_forked/vim-snippets/snippets/php.snippets +++ b/sources_non_forked/vim-snippets/snippets/php.snippets @@ -325,7 +325,7 @@ snippet foreachkil ${0:} # $... = array (...) -snippet array +snippet array b $${1:arrayName} = array('${2}' => ${3}); snippet try try { @@ -603,3 +603,27 @@ snippet tc } snippet te throw new ${1:Exception}("${2:Error Processing Request}"); + +snippet fpc "file_put_contents" b + file_put_contents(${1:file}, ${2:content}${3:, FILE_APPEND});$0 + +snippet sr "str_replace" + str_replace(${1:search}, ${2:replace}, ${3:subject})$0 + +snippet ia "in_array" + in_array(${1:needle}, ${2:haystack})$0 + +snippet is "isset" + isset(${1:var})$0 + +snippet isa "isset array" + isset($${1:array}[${2:key}])$0 + +snippet in "is_null" + is_null($${1:var})$0 + +snippet fe "file_exists" + file_exists(${1:file})$0 + +snippet id "is_dir" + is_dir(${1:path})$0 diff --git a/sources_non_forked/vim-snippets/snippets/python.snippets b/sources_non_forked/vim-snippets/snippets/python.snippets index d8f01054..0f68acbd 100644 --- a/sources_non_forked/vim-snippets/snippets/python.snippets +++ b/sources_non_forked/vim-snippets/snippets/python.snippets @@ -128,31 +128,43 @@ snippet _ __${1:init}__ # python debugger (pdb) snippet pdb - import pdb; pdb.set_trace() + import pdb + pdb.set_trace() +# bpython debugger (bpdb) +snippet bpdb + import bpdb + bpdb.set_trace() # ipython debugger (ipdb) snippet ipdb - import ipdb; ipdb.set_trace() + import ipdb + ipdb.set_trace() # embed ipython itself snippet iem - import IPython; IPython.embed() + import IPython + IPython.embed() # ipython debugger (pdbbb) snippet pdbbb - import pdbpp; pdbpp.set_trace() + import pdbpp + pdbpp.set_trace() # remote python debugger (rpdb) snippet rpdb - import rpdb; rpdb.set_trace() + import rpdb + rpdb.set_trace() # ptpython snippet ptpython from ptpython.repl import embed embed(globals(), locals(), vi_mode=${1:False}, history_filename=${2:None}) # python console debugger (pudb) snippet pudb - import pudb; pudb.set_trace() + import pudb + pudb.set_trace() # pdb in nosetests snippet nosetrace - from nose.tools import set_trace; set_trace() + from nose.tools import set_trace + set_trace() snippet pprint - import pprint; pprint.pprint(${1}) + import pprint + pprint.pprint(${1}) snippet " """${0:doc} """ diff --git a/sources_non_forked/vim-snippets/snippets/rust.snippets b/sources_non_forked/vim-snippets/snippets/rust.snippets index eeab689c..9bf896f6 100644 --- a/sources_non_forked/vim-snippets/snippets/rust.snippets +++ b/sources_non_forked/vim-snippets/snippets/rust.snippets @@ -31,10 +31,14 @@ snippet main "Main function" pub fn main() { ${0} } -snippet let "let variable declaration" - let ${1:name}${2:: ${3:type}} = ${4}; -snippet letm "let mut variable declaration" - let mut ${1:name}${2:: ${3:type}} = ${4}; +snippet let "let variable declaration with type inference" + let ${1} = ${2}; +snippet lett "let variable declaration with explicit type annotation" + let ${1}: ${2} = ${3}; +snippet letm "let mut variable declaration with type inference" + let mut ${1} = ${2}; +snippet lettm "let mut variable declaration with explicit type annotation" + let mut ${1}: ${2} = ${3}; snippet pln "println!" println!("${1}"); snippet pln, "println! with format param" diff --git a/sources_non_forked/vim-snippets/snippets/slim.snippets b/sources_non_forked/vim-snippets/snippets/slim.snippets index 8eeb4a53..885ca8d7 100644 --- a/sources_non_forked/vim-snippets/snippets/slim.snippets +++ b/sources_non_forked/vim-snippets/snippets/slim.snippets @@ -1,3 +1,16 @@ +snippet pry + - binding.pry +snippet renp + = render partial: '${0}' +# Forms +# ===== +snippet fieldset + fieldset + legend ${1} +snippet css + link rel="stylesheet" href="${1:style.css}" type="text/css" media="${2:all}" +snippet script + script src="${1:script.js}" type="text/javascript" # Some useful Unicode entities # ============================ # Non-Breaking Space @@ -48,17 +61,3 @@ snippet backspace # ⎋ snippet esc ⎋ - -# Forms -# ===== -snippet fieldset - fieldset - legend ${1} - -# Assets -# ====== -snippet css - link rel="stylesheet" href="${1:style.css}" type="text/css" media="${2:all}" - -snippet script - script src="${1:script.js}" type="text/javascript" diff --git a/sources_non_forked/vim-snippets/snippets/systemverilog.snippets b/sources_non_forked/vim-snippets/snippets/systemverilog.snippets index 86d664f6..70a9d2d3 100644 --- a/sources_non_forked/vim-snippets/snippets/systemverilog.snippets +++ b/sources_non_forked/vim-snippets/snippets/systemverilog.snippets @@ -1,37 +1,6 @@ -# if statement -snippet if - if (${1}) begin - ${0} - end -# If/else statements -snippet ife - if (${1}) begin - ${2} - end - else begin - ${1} - end -# Else if statement -snippet eif - else if (${1}) begin - ${0} - end -#Else statement -snippet el - else begin - ${0} - end -# While statement -snippet wh - while (${1}) begin - ${0} - end -# Repeat Loop -snippet rep - repeat (${1}) begin - ${0} - end -# Foreach Loopo +extends verilog + +# Foreach Loop snippet fe foreach (${1}) begin ${0} @@ -41,24 +10,6 @@ snippet dowh do begin ${0} end while (${1}); -# Case statement -snippet case - case (${1}) - {$2}: begin - ${0} - end - default: begin - end - endcase -# CaseZ statement -snippet casez -casez (${1}) - {$2}: begin - ${0} - end - default: begin - end - endcase # Combinational always block snippet alc always_comb begin ${1:: statement_label} @@ -74,11 +25,6 @@ snippet all always_latch begin ${1:: statement_label} ${0} end $1 -# Module block -snippet mod - module ${1:module_name} (${2}); - ${0} - endmodule : $1 # Class snippet cl class ${1:class_name}; diff --git a/sources_non_forked/vim-snippets/snippets/verilog.snippets b/sources_non_forked/vim-snippets/snippets/verilog.snippets new file mode 100644 index 00000000..5cd80f39 --- /dev/null +++ b/sources_non_forked/vim-snippets/snippets/verilog.snippets @@ -0,0 +1,63 @@ +# if statement +snippet if + if (${1}) begin + ${0} + end +# If/else statements +snippet ife + if (${1}) begin + ${2} + end + else begin + ${1} + end +# Else if statement +snippet eif + else if (${1}) begin + ${0} + end +#Else statement +snippet el + else begin + ${0} + end +# While statement +snippet wh + while (${1}) begin + ${0} + end +# Repeat Loop +snippet rep + repeat (${1}) begin + ${0} + end +# Case statement +snippet case + case (${1:/* variable */}) + ${2:/* value */}: begin + ${3} + end + default: begin + ${4} + end + endcase +# CaseZ statement +snippet casez + casez (${1:/* variable */}) + ${2:/* value */}: begin + ${3} + end + default: begin + ${4} + end + endcase +# Always block +snippet al + always @(${1:/* sensitive list */}) begin + ${0} + end +# Module block +snippet mod + module ${1:module_name} (${2}); + ${0} + endmodule