Updated plugins

pull/196/head
amix 7 years ago
parent 5f6aa8fe09
commit f343b66088
  1. 1412
      sources_forked/yankring/doc/yankring.txt
  2. 2461
      sources_forked/yankring/plugin/yankring.vim
  3. 14
      sources_non_forked/ack.vim/autoload/ack.vim
  4. 16
      sources_non_forked/ack.vim/doc/ack.txt
  5. 12
      sources_non_forked/ack.vim/plugin/ack.vim
  6. 7
      sources_non_forked/nerdtree/README.markdown
  7. 14
      sources_non_forked/nerdtree/doc/NERD_tree.txt
  8. 2
      sources_non_forked/nerdtree/lib/nerdtree/creator.vim
  9. 2
      sources_non_forked/nerdtree/lib/nerdtree/path.vim
  10. 2
      sources_non_forked/nerdtree/lib/nerdtree/ui.vim
  11. 3
      sources_non_forked/nerdtree/plugin/NERD_tree.vim
  12. 4
      sources_non_forked/nerdtree/syntax/nerdtree.vim
  13. 9
      sources_non_forked/syntastic/README.markdown
  14. 4
      sources_non_forked/syntastic/autoload/syntastic/log.vim
  15. 12
      sources_non_forked/syntastic/autoload/syntastic/util.vim
  16. 8
      sources_non_forked/syntastic/doc/syntastic.txt
  17. 2
      sources_non_forked/syntastic/plugin/syntastic.vim
  18. 5
      sources_non_forked/syntastic/plugin/syntastic/registry.vim
  19. 4
      sources_non_forked/syntastic/syntax_checkers/ada/gcc.vim
  20. 9
      sources_non_forked/syntastic/syntax_checkers/cuda/nvcc.vim
  21. 4
      sources_non_forked/syntastic/syntax_checkers/go/govet.vim
  22. 8
      sources_non_forked/syntastic/syntax_checkers/haskell/ghc-mod.vim
  23. 23
      sources_non_forked/syntastic/syntax_checkers/html/gjslint.vim
  24. 3
      sources_non_forked/syntastic/syntax_checkers/javascript/gjslint.vim
  25. 8
      sources_non_forked/syntastic/syntax_checkers/javascript/jsxhint.vim
  26. 11
      sources_non_forked/syntastic/syntax_checkers/less/lessc.vim
  27. 38
      sources_non_forked/syntastic/syntax_checkers/ocaml/camlp4o.vim
  28. 8
      sources_non_forked/syntastic/syntax_checkers/perl/perl.vim
  29. 8
      sources_non_forked/syntastic/syntax_checkers/python/pylint.vim
  30. 5
      sources_non_forked/syntastic/syntax_checkers/rst/rst2pseudoxml.vim
  31. 2
      sources_non_forked/syntastic/syntax_checkers/scala/scalastyle.vim
  32. 28
      sources_non_forked/syntastic/syntax_checkers/sh/shellcheck.vim
  33. 23
      sources_non_forked/syntastic/syntax_checkers/trig/rapper.vim
  34. 46
      sources_non_forked/syntastic/syntax_checkers/turtle/rapper.vim
  35. 43
      sources_non_forked/syntastic/syntax_checkers/turtle/ttl.vim
  36. 46
      sources_non_forked/syntastic/syntax_checkers/yang/pyang.vim
  37. 1
      sources_non_forked/vim-airline-themes/.gitignore
  38. 40
      sources_non_forked/vim-airline-themes/autoload/airline/themes/cool.vim
  39. 102
      sources_non_forked/vim-airline-themes/autoload/airline/themes/dark.vim
  40. 22
      sources_non_forked/vim-airline-themes/autoload/airline/themes/jellybeans.vim
  41. 54
      sources_non_forked/vim-airline-themes/autoload/airline/themes/solarized.vim
  42. 128
      sources_non_forked/vim-airline-themes/doc/airline-themes.txt
  43. 3
      sources_non_forked/vim-airline/ISSUE_TEMPLATE.md
  44. 66
      sources_non_forked/vim-airline/autoload/airline/builder.vim
  45. 6
      sources_non_forked/vim-airline/autoload/airline/extensions.vim
  46. 4
      sources_non_forked/vim-airline/autoload/airline/extensions/branch.vim
  47. 7
      sources_non_forked/vim-airline/autoload/airline/extensions/default.vim
  48. 7
      sources_non_forked/vim-airline/autoload/airline/extensions/quickfix.vim
  49. 20
      sources_non_forked/vim-airline/autoload/airline/extensions/tabline/buffers.vim
  50. 2
      sources_non_forked/vim-airline/autoload/airline/extensions/tabline/tabs.vim
  51. 13
      sources_non_forked/vim-airline/autoload/airline/extensions/whitespace.vim
  52. 2
      sources_non_forked/vim-airline/autoload/airline/extensions/wordcount/formatters/default.vim
  53. 10
      sources_non_forked/vim-airline/autoload/airline/init.vim
  54. 6
      sources_non_forked/vim-airline/autoload/airline/util.vim
  55. 15
      sources_non_forked/vim-airline/doc/airline.txt
  56. 21
      sources_non_forked/vim-airline/plugin/airline.vim
  57. 12
      sources_non_forked/vim-fugitive/plugin/fugitive.vim
  58. 83
      sources_non_forked/vim-go/CHANGELOG.md
  59. 35
      sources_non_forked/vim-go/README.md
  60. 4
      sources_non_forked/vim-go/autoload/ctrlp/decls.vim
  61. 4
      sources_non_forked/vim-go/autoload/go/asmfmt.vim
  62. 6
      sources_non_forked/vim-go/autoload/go/cmd.vim
  63. 40
      sources_non_forked/vim-go/autoload/go/complete.vim
  64. 38
      sources_non_forked/vim-go/autoload/go/coverage.vim
  65. 374
      sources_non_forked/vim-go/autoload/go/def.vim
  66. 4
      sources_non_forked/vim-go/autoload/go/doc.vim
  67. 15
      sources_non_forked/vim-go/autoload/go/fmt.vim
  68. 303
      sources_non_forked/vim-go/autoload/go/guru.vim
  69. 124
      sources_non_forked/vim-go/autoload/go/impl.vim
  70. 4
      sources_non_forked/vim-go/autoload/go/import.vim
  71. 8
      sources_non_forked/vim-go/autoload/go/lint.vim
  72. 233
      sources_non_forked/vim-go/autoload/go/oracle.vim
  73. 10
      sources_non_forked/vim-go/autoload/go/package.vim
  74. 26
      sources_non_forked/vim-go/autoload/go/path.vim
  75. 8
      sources_non_forked/vim-go/autoload/go/play.vim
  76. 2
      sources_non_forked/vim-go/autoload/go/rename.vim
  77. 8
      sources_non_forked/vim-go/autoload/go/textobj.vim
  78. 12
      sources_non_forked/vim-go/autoload/go/tool.vim
  79. 74
      sources_non_forked/vim-go/autoload/go/util.vim
  80. 21
      sources_non_forked/vim-go/autoload/go/vimproc.vim
  81. 144
      sources_non_forked/vim-go/doc/vim-go.txt
  82. 10
      sources_non_forked/vim-go/ftplugin/go.vim
  83. 41
      sources_non_forked/vim-go/ftplugin/go/commands.vim
  84. 33
      sources_non_forked/vim-go/ftplugin/go/mappings.vim
  85. 6
      sources_non_forked/vim-go/ftplugin/gohtmltmpl.vim
  86. 28
      sources_non_forked/vim-go/gosnippets/UltiSnips/go.snippets
  87. 27
      sources_non_forked/vim-go/gosnippets/snippets/go.snip
  88. 17
      sources_non_forked/vim-go/plugin/go.vim
  89. 4
      sources_non_forked/vim-less/README.md
  90. 4
      sources_non_forked/vim-markdown/README.markdown
  91. 5
      sources_non_forked/vim-markdown/syntax/markdown.vim
  92. 14
      sources_non_forked/vim-snippets/UltiSnips/php-laravel.snippets
  93. 38
      sources_non_forked/vim-snippets/UltiSnips/php-phpspec.snippets
  94. 8
      sources_non_forked/vim-snippets/UltiSnips/php-phpunit.snippets
  95. 78
      sources_non_forked/vim-snippets/UltiSnips/php-symfony2.snippets
  96. 63
      sources_non_forked/vim-snippets/UltiSnips/php.snippets
  97. 17
      sources_non_forked/vim-snippets/UltiSnips/python.snippets
  98. 18
      sources_non_forked/vim-snippets/UltiSnips/twig.snippets
  99. 13
      sources_non_forked/vim-snippets/snippets/cpp.snippets
  100. 36
      sources_non_forked/vim-snippets/snippets/erlang.snippets
  101. Some files were not shown because too many files have changed in this diff Show More

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -26,9 +26,23 @@ function! ack#Ack(cmd, args) "{{{
let l:grepformat = '%f'
endif
" Check user policy for blank searches
if empty(a:args)
if !g:ack_use_cword_for_empty_search
echo "No regular expression found."
return
endif
endif
" If no pattern is provided, search for the word under the cursor
let l:grepargs = empty(a:args) ? expand("<cword>") : a:args . join(a:000, ' ')
"Bypass search if cursor is on blank string
if l:grepargs == ""
echo "No regular expression found."
return
endif
" NOTE: we escape special chars, but not everything using shellescape to
" allow for passing arguments etc
let l:escaped_args = escape(l:grepargs, '|#%')

@ -230,6 +230,22 @@ Example:
let g:ack_use_dispatch = 1
<
*g:ack_use_cword_for_empty_search*
g:ack_use_cword_for_empty_search
Default: 1
Use this option to enable blank searches to run against the word under the
cursor. When this option is not set, blank searches will only output an error
message.
Example:
>
let g:ack_use_cword_for_empty_search = 0
<
==============================================================================
MAPPINGS *ack-mappings*

@ -3,15 +3,15 @@ if exists('g:loaded_ack')
endif
if !exists("g:ack_default_options")
let g:ack_default_options = " -s -H --nocolor --nogroup --column"
let g:ack_default_options = " -s -H --nopager --nocolor --nogroup --column"
endif
" Location of the ack utility
if !exists("g:ackprg")
if executable('ack')
let g:ackprg = "ack"
elseif executable('ack-grep')
if executable('ack-grep')
let g:ackprg = "ack-grep"
elseif executable('ack')
let g:ackprg = "ack"
else
finish
endif
@ -63,6 +63,10 @@ if !exists("g:ack_autofold_results")
let g:ack_autofold_results = 0
endif
if !exists("g:ack_use_cword_for_empty_search")
let g:ack_use_cword_for_empty_search = 1
endif
command! -bang -nargs=* -complete=file Ack call ack#Ack('grep<bang>', <q-args>)
command! -bang -nargs=* -complete=file AckAdd call ack#Ack('grepadd<bang>', <q-args>)
command! -bang -nargs=* -complete=file AckFromSearch call ack#AckFromSearch('grep<bang>', <q-args>)

@ -76,6 +76,7 @@ Faq
Yes, install [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin).
---
> Can I have the nerdtree on every tab automatically?
@ -85,10 +86,12 @@ http://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers
If you are interested in this behaviour then consider [vim-nerdtree-tabs](https://github.com/jistr/vim-nerdtree-tabs)
---
> How can I open a NERDTree automatically when vim starts up?
Stick this in your vimrc: `autocmd vimenter * NERDTree`
---
> How can I open a NERDTree automatically when vim starts up if no files were specified?
Stick this in your vimrc:
@ -98,22 +101,26 @@ Stick this in your vimrc:
Note: Now start vim with plain `vim`, not `vim .`
---
> How can I map a specific key or shortcut to open NERDTree?
Stick this in your vimrc to open NERDTree with `Ctrl+n` (you can set whatever key you want):
map <C-n> :NERDTreeToggle<CR>
---
> How can I close vim if the only window left open is a NERDTree?
Stick this in your vimrc:
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
---
> Can I have different highlighting for different file extensions?
See here: https://github.com/scrooloose/nerdtree/issues/433#issuecomment-92590696
---
> How can I change default arrows?
Use these variables in your vimrc. Note that below are default arrow symbols

@ -679,6 +679,9 @@ NERD tree. These options should be set in your vimrc.
a buffer when a file is being deleted or renamed
via a context menu command.
|'NERDTreeCreatePrefix'| Specify a prefix to be used when creating the
NERDTree window.
------------------------------------------------------------------------------
3.2. Customisation details *NERDTreeOptionDetails*
@ -1010,6 +1013,17 @@ option: >
let NERDTreeAutoDeleteBuffer=0
let NERDTreeAutoDeleteBuffer=1
<
------------------------------------------------------------------------------
*'NERDTreeCreatePrefix'*
Values: Any valid command prefix.
Default: "silent".
Internally, NERDTree uses the |:edit| command to create a buffer in which to
display its tree view. You can augment this behavior by specifying a prefix
string such as "keepalt" or similar. For example, to have NERDTree create its
tree window using `silent keepalt keepjumps edit`:
let NERDTreeCreatePrefix='silent keepalt keepjumps'
<
==============================================================================
4. The NERD tree API *NERDTreeAPI*

@ -96,7 +96,7 @@ function! s:Creator.createWindowTree(dir)
"we need a unique name for each window tree buffer to ensure they are
"all independent
exec "silent edit " . self._nextBufferName()
exec g:NERDTreeCreatePrefix . " edit " . self._nextBufferName()
call self._createNERDTree(path, "window")
let b:NERDTree._previousBuf = bufnr(previousBuf)

@ -61,7 +61,7 @@ function! s:Path.cacheDisplayString() abort
endif
if self.isReadOnly
let self.cachedDisplayString .= ' [RO]'
let self.cachedDisplayString .= ' ['.g:NERDTreeGlyphReadOnly.']'
endif
endfunction

@ -375,7 +375,7 @@ function! s:UI._stripMarkup(line, removeLeadingSpaces)
let line = substitute (line, g:NERDTreeUI.MarkupReg(),"","")
"strip off any read only flag
let line = substitute (line, ' \[RO\]', "","")
let line = substitute (line, ' \['.g:NERDTreeGlyphReadOnly.'\]', "","")
"strip off any bookmark flags
let line = substitute (line, ' {[^}]*}', "","")

@ -48,6 +48,7 @@ call s:initVariable("g:NERDTreeAutoCenterThreshold", 3)
call s:initVariable("g:NERDTreeCaseSensitiveSort", 0)
call s:initVariable("g:NERDTreeSortHiddenFirst", 1)
call s:initVariable("g:NERDTreeChDirMode", 0)
call s:initVariable("g:NERDTreeCreatePrefix", "silent")
call s:initVariable("g:NERDTreeMinimalUI", 0)
if !exists("g:NERDTreeIgnore")
let g:NERDTreeIgnore = ['\~$']
@ -84,6 +85,8 @@ else
endif
endif
call s:initVariable("g:NERDTreeGlyphReadOnly", "RO")
if !exists('g:NERDTreeStatusline')
"the exists() crap here is a hack to stop vim spazzing out when

@ -1,6 +1,6 @@
let s:tree_up_dir_line = '.. (up a dir)'
syn match NERDTreeIgnore #\~#
syn match NERDTreeIgnore #\[RO\]#
exec 'syn match NERDTreeIgnore #\['.g:NERDTreeGlyphReadOnly.'\]#'
"highlighting for the .. (up dir) line at the top of the tree
execute "syn match NERDTreeUp #\\V". s:tree_up_dir_line ."#"
@ -31,7 +31,7 @@ syn match NERDTreeExecFile #^ .*\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmar
exec 'syn match NERDTreeFile #^[^"\.'.s:dirArrows.'] *[^'.s:dirArrows.']*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile'
"highlighting for readonly files
syn match NERDTreeRO # *\zs.*\ze \[RO\]# contains=NERDTreeIgnore,NERDTreeBookmark,NERDTreeFile
exec 'syn match NERDTreeRO # *\zs.*\ze \['.g:NERDTreeGlyphReadOnly.'\]# contains=NERDTreeIgnore,NERDTreeBookmark,NERDTreeFile'
syn match NERDTreeFlags #^ *\zs\[.\]# containedin=NERDTreeFile,NERDTreeExecFile
syn match NERDTreeFlags #\[.\]# containedin=NERDTreeDir

@ -61,10 +61,11 @@ Handlebars, HSS, HTML, Java, JavaScript, JSON, JSX, LESS, Lex, Limbo, LISP,
LLVM intermediate language, Lua, Markdown, MATLAB, Mercury, NASM, Nix,
Objective-C, Objective-C++, OCaml, Perl, Perl POD, PHP, gettext Portable
Object, OS X and iOS property lists, Pug (formerly Jade), Puppet, Python, QML,
R, Racket, Relax NG, reStructuredText, RPM spec, Ruby, SASS/SCSS, Scala, Slim,
SML, Sphinx, SQL, Stylus, Tcl, TeX, Texinfo, Twig, TypeScript, Vala, Verilog,
VHDL, VimL, xHtml, XML, XSLT, XQuery, YACC, YAML, z80, Zope page templates, and
zsh. See the [wiki][3] for details about the corresponding supported checkers.
R, Racket, RDF TriG, RDF Turtle, Relax NG, reStructuredText, RPM spec, Ruby,
SASS/SCSS, Scala, Slim, SML, Sphinx, SQL, Stylus, Tcl, TeX, Texinfo, Twig,
TypeScript, Vala, Verilog, VHDL, VimL, xHtml, XML, XSLT, XQuery, YACC, YAML,
YANG data models, z80, Zope page templates, and zsh. See the [wiki][3] for
details about the corresponding supported checkers.
A number of third-party Vim plugins also provide checkers for syntastic,
for example: [merlin][30], [omnisharp-vim][25], [rust.vim][12],

@ -89,8 +89,12 @@ function! syntastic#log#debugShowOptions(level, names) abort " {{{2
call s:_logRedirect(1)
let vlist = copy(type(a:names) == type('') ? [a:names] : a:names)
let add_shell = index(vlist, 'shell') >= 0 && &shell !=# syntastic#util#var('shell')
if !empty(vlist)
call map(vlist, "'&' . v:val . ' = ' . strtrans(string(eval('&' . v:val))) . (s:_is_modified(v:val) ? ' (!)' : '')")
if add_shell
call add(vlist, 'u:shell = ' . strtrans(string(syntastic#util#var('shell'))) . ' (!)')
endif
echomsg leader . join(vlist, ', ')
endif
call s:_logRedirect(0)

@ -120,12 +120,14 @@ function! syntastic#util#parseShebang() abort " {{{2
return { 'exe': '', 'args': [] }
endfunction " }}}2
" Get the value of a variable. Allow local variables to override global ones.
" Get the value of a Vim variable. Allow local variables to override global ones.
function! syntastic#util#rawVar(name, ...) abort " {{{2
return get(b:, a:name, get(g:, a:name, a:0 > 0 ? a:1 : ''))
endfunction " }}}2
" Get the value of a syntastic variable. Allow local variables to override global ones.
function! syntastic#util#var(name, ...) abort " {{{2
return
\ exists('b:syntastic_' . a:name) ? b:syntastic_{a:name} :
\ exists('g:syntastic_' . a:name) ? g:syntastic_{a:name} :
\ a:0 > 0 ? a:1 : ''
return call('syntastic#util#rawVar', ['syntastic_' . a:name] + a:000)
endfunction " }}}2
" Parse a version string. Return an array of version components.

@ -1071,11 +1071,17 @@ mode only work with "vim-auto-save" version 0.1.7 or later.
Syntastic can be used along with the "vim-go" Vim plugin (see
https://github.com/fatih/vim-go). However, both "vim-go" and syntastic run
syntax checks by default when you save buffers to disk. To avoid conflicts,
you have to either set passive mode in syntastic for the go filetype (see
you have to either set passive mode in syntastic for the "go" filetype (see
|syntastic_mode_map|), or prevent "vim-go" from showing a quickfix window when
|g:go_fmt_command| fails, by setting |g:go_fmt_fail_silently| to 1. E.g.: >
let g:go_fmt_fail_silently = 1
<
"vim-go" version 1.4 and earlier always uses |quickfix| lists. Starting with
version 1.5, "vim-go" can also use location lists (see |location-list|). To
avoid conflicts with syntastic, you probably want to configure "vim-go" to
stick with |quickfix| lists: >
let g:go_list_type = "quickfix"
<
------------------------------------------------------------------------------
7.11. vim-virtualenv *syntastic-vim-virtualenv*

@ -19,7 +19,7 @@ if has('reltime')
lockvar! g:_SYNTASTIC_START
endif
let g:_SYNTASTIC_VERSION = '3.7.0-112'
let g:_SYNTASTIC_VERSION = '3.7.0-137'
lockvar g:_SYNTASTIC_VERSION
" Sanity checks {{{1

@ -37,7 +37,7 @@ let s:_DEFAULT_CHECKERS = {
\ 'eruby': ['ruby'],
\ 'fortran': ['gfortran'],
\ 'glsl': ['cgc'],
\ 'go': ['go'],
\ 'go': [],
\ 'haml': ['haml'],
\ 'handlebars': ['handlebars'],
\ 'haskell': ['hdevtools', 'hlint'],
@ -90,6 +90,8 @@ let s:_DEFAULT_CHECKERS = {
\ 'tex': ['lacheck', 'chktex'],
\ 'texinfo': ['makeinfo'],
\ 'text': [],
\ 'trig': ['rapper'],
\ 'turtle': ['rapper'],
\ 'twig': ['twiglint'],
\ 'typescript': ['tsc'],
\ 'vala': ['valac'],
@ -102,6 +104,7 @@ let s:_DEFAULT_CHECKERS = {
\ 'xquery': ['basex'],
\ 'yacc': ['bison'],
\ 'yaml': ['jsyaml'],
\ 'yang': ['pyang'],
\ 'z80': ['z80syntaxchecker'],
\ 'zpt': ['zptlint'],
\ 'zsh': ['zsh'],

@ -32,8 +32,8 @@ function! SyntaxCheckers_ada_gcc_GetLocList() dict
\ '%-G%f:%s:,' .
\ '%f:%l:%c: %m,' .
\ '%f:%l: %m',
\ 'main_flags': '-c -x ada -gnats',
\ 'header_flags': '-x ada -gnats',
\ 'main_flags': '-c -x ada -gnats -gnatef',
\ 'header_flags': '-x ada -gnats -gnatef',
\ 'header_names': '\.ads$' })
endfunction

@ -1,7 +1,6 @@
"============================================================================
"File: cuda.vim
"Description: Syntax checking plugin for syntastic.vim
"
"Description: Syntax checking plugin for syntastic
"Author: Hannes Schulz <schulz at ais dot uni-bonn dot de>
"
"============================================================================
@ -15,7 +14,7 @@ let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_cuda_nvcc_GetLocList() dict
if exists('g:syntastic_cuda_arch')
if syntastic#util#var('cuda_arch') !=# ''
let arch_flag = '-arch=' . g:syntastic_cuda_arch
else
let arch_flag = ''
@ -41,8 +40,8 @@ function! SyntaxCheckers_cuda_nvcc_GetLocList() dict
\ '%DMaking %*\a in %f,'.
\ '%f|%l| %m'
if expand('%', 1) =~? '\m\%(.h\|.hpp\|.cuh\)$'
if exists('g:syntastic_cuda_check_header')
if index(['h', 'hpp', 'cuh'], expand('%:e', 1), 0, 1) >= 0
if syntastic#util#var('cuda_check_header', 0)
let makeprg =
\ 'echo > .syntastic_dummy.cu ; ' .
\ self.getExecEscaped() . ' ' . arch_flag .

@ -18,10 +18,6 @@ let g:loaded_syntastic_go_govet_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_go_govet_IsAvailable() dict
return executable(self.getExec())
endfunction
function! SyntaxCheckers_go_govet_GetLocList() dict
let makeprg = self.getExecEscaped() . ' vet'

@ -20,7 +20,7 @@ let s:ghc_mod_new = -1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_haskell_ghc_mod_IsAvailable() dict
function! SyntaxCheckers_haskell_ghc_mod_IsAvailable() dict " {{{1
if !executable(self.getExec())
return 0
endif
@ -59,9 +59,9 @@ function! SyntaxCheckers_haskell_ghc_mod_IsAvailable() dict
let s:ghc_mod_bailout = syntastic#util#versionIsAtLeast(parsed_ver, [5, 4])
return (s:ghc_mod_new >= 0) && (v:version >= 704 || s:ghc_mod_new) && !s:ghc_mod_bailout
endfunction
endfunction " }}}1
function! SyntaxCheckers_haskell_ghc_mod_GetLocList() dict
function! SyntaxCheckers_haskell_ghc_mod_GetLocList() dict " {{{1
let makeprg = self.makeprgBuild({
\ 'exe': self.getExecEscaped() . ' check' . (s:ghc_mod_new ? ' --boundary=""' : '') })
@ -81,7 +81,7 @@ function! SyntaxCheckers_haskell_ghc_mod_GetLocList() dict
\ 'preprocess': 'iconv',
\ 'postprocess': ['compressWhitespace'],
\ 'returns': [0] })
endfunction
endfunction " }}}1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'haskell',

@ -0,0 +1,23 @@
"============================================================================
"File: gjslint.vim
"Description: Syntax checking plugin for syntastic
"Maintainer: LCD 47 <lcd047 at gmail dot com>
"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_html_gjslint_checker')
finish
endif
let g:loaded_syntastic_html_gjslint_checker = 1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'html',
\ 'name': 'gjslint',
\ 'redirect': 'javascript/gjslint'})
" vim: set sw=4 sts=4 et fdm=marker:

@ -21,7 +21,8 @@ function! SyntaxCheckers_javascript_gjslint_GetLocList() dict
call syntastic#log#deprecationWarn('javascript_gjslint_conf', 'javascript_gjslint_args')
let makeprg = self.makeprgBuild({
\ 'args_after': '--nosummary --unix_mode --nodebug_indentation --nobeep' })
\ 'args': '--nodebug_indentation',
\ 'args_after': '--check_html --nosummary --unix_mode --nobeep' })
let errorformat =
\ "%f:%l:(New Error -%\\?\%n) %m," .

@ -17,7 +17,7 @@ let g:loaded_syntastic_javascript_jsxhint_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_javascript_jsxhint_IsAvailable() dict
function! SyntaxCheckers_javascript_jsxhint_IsAvailable() dict " {{{1
if !executable(self.getExec())
return 0
endif
@ -32,9 +32,9 @@ function! SyntaxCheckers_javascript_jsxhint_IsAvailable() dict
endif
return syntastic#util#versionIsAtLeast(parsed_ver, [0, 4, 1])
endfunction
endfunction " }}}1
function! SyntaxCheckers_javascript_jsxhint_GetLocList() dict
function! SyntaxCheckers_javascript_jsxhint_GetLocList() dict " {{{1
let makeprg = self.makeprgBuild({
\ 'args_after': '--verbose' })
@ -44,7 +44,7 @@ function! SyntaxCheckers_javascript_jsxhint_GetLocList() dict
\ 'makeprg': makeprg,
\ 'errorformat': errorformat,
\ 'defaults': {'bufnr': bufnr('')} })
endfunction
endfunction " }}}1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'javascript',

@ -15,10 +15,6 @@ if exists('g:loaded_syntastic_less_lessc_checker')
endif
let g:loaded_syntastic_less_lessc_checker = 1
if !exists('g:syntastic_less_options')
let g:syntastic_less_options = ''
endif
if !exists('g:syntastic_less_use_less_lint')
let g:syntastic_less_use_less_lint = 0
endif
@ -34,13 +30,10 @@ function! SyntaxCheckers_less_lessc_IsAvailable() dict
endfunction
function! SyntaxCheckers_less_lessc_GetLocList() dict
if !exists('s:check_file')
let s:check_file = g:syntastic_less_use_less_lint ? s:node_file : self.getExecEscaped()
endif
call syntastic#log#deprecationWarn('less_options', 'less_lessc_args')
let makeprg = self.makeprgBuild({
\ 'exe': s:check_file,
\ 'args': g:syntastic_less_options,
\ 'exe': (g:syntastic_less_use_less_lint ? s:node_file : self.getExecEscaped()),
\ 'args_after': '--no-color',
\ 'tail': '> ' . syntastic#util#DevNull() })

@ -15,12 +15,6 @@ if exists('g:loaded_syntastic_ocaml_camlp4o_checker')
endif
let g:loaded_syntastic_ocaml_camlp4o_checker = 1
if exists('g:syntastic_ocaml_camlp4r') && g:syntastic_ocaml_camlp4r != 0
let s:ocamlpp='camlp4r'
else
let s:ocamlpp='camlp4o'
endif
let s:save_cpo = &cpo
set cpo&vim
@ -34,6 +28,10 @@ if !exists('g:syntastic_ocaml_use_janestreet_core')
let g:syntastic_ocaml_use_janestreet_core = 0
endif
if !exists('g:syntastic_ocaml_janestreet_core_dir')
let g:syntastic_ocaml_janestreet_core_dir = '.'
endif
if !exists('g:syntastic_ocaml_use_ocamlbuild') || !executable('ocamlbuild')
let g:syntastic_ocaml_use_ocamlbuild = 0
endif
@ -41,6 +39,7 @@ endif
" }}}1
function! SyntaxCheckers_ocaml_camlp4o_IsAvailable() dict " {{{1
let s:ocamlpp = get(g:, 'syntastic_ocaml_camlp4r', 0) ? 'camlp4r' : 'camlp4o'
return executable(s:ocamlpp)
endfunction " }}}1
@ -81,31 +80,22 @@ endfunction " }}}1
" Utilities {{{1
function! s:GetMakeprg() " {{{2
if g:syntastic_ocaml_use_ocamlc
return s:GetOcamlcMakeprg()
endif
if g:syntastic_ocaml_use_ocamlbuild && isdirectory('_build')
return s:GetOcamlBuildMakeprg()
endif
return s:GetOtherMakeprg()
return
\ g:syntastic_ocaml_use_ocamlc ? g:syntastic_ocaml_use_ocamlc :
\ (g:syntastic_ocaml_use_ocamlbuild && isdirectory('_build')) ? s:GetOcamlcMakeprg() :
\ s:GetOtherMakeprg()
endfunction " }}}2
function! s:GetOcamlcMakeprg() " {{{2
if g:syntastic_ocaml_use_janestreet_core
let build_cmd = 'ocamlc -I '
let build_cmd .= expand(g:syntastic_ocaml_janestreet_core_dir, 1)
let build_cmd .= ' -c ' . syntastic#util#shexpand('%')
return build_cmd
else
return 'ocamlc -c ' . syntastic#util#shexpand('%')
endif
let build_cmd = g:syntastic_ocaml_use_janestreet_core ?
\ 'ocamlc -I ' . syntastic#util#shexpand(g:syntastic_ocaml_janestreet_core_dir) : 'ocamlc'
let build_cmd .= ' -c ' . syntastic#util#shexpand('%')
return build_cmd
endfunction " }}}2
function! s:GetOcamlBuildMakeprg() " {{{2
return 'ocamlbuild -quiet -no-log -tag annot,' . s:ocamlpp . ' -no-links -no-hygiene -no-sanitize ' .
\ syntastic#util#shexpand('%:r') . '.cmi'
\ syntastic#util#shexpand('%:r') . '.cmi'
endfunction " }}}2
function! s:GetOtherMakeprg() " {{{2

@ -39,7 +39,7 @@ endif
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_perl_perl_IsAvailable() dict
function! SyntaxCheckers_perl_perl_IsAvailable() dict " {{{1
if !exists('g:syntastic_perl_perl_exec') && exists('g:syntastic_perl_interpreter')
let g:syntastic_perl_perl_exec = g:syntastic_perl_interpreter
endif
@ -48,9 +48,9 @@ function! SyntaxCheckers_perl_perl_IsAvailable() dict
" let g:syntastic_perl_interpreter='/usr/bin/env perl'
silent! call syntastic#util#system(self.getExecEscaped() . ' -e ' . syntastic#util#shescape('exit(0)'))
return v:shell_error == 0
endfunction
endfunction " }}}1
function! SyntaxCheckers_perl_perl_GetLocList() dict
function! SyntaxCheckers_perl_perl_GetLocList() dict " {{{1
if type(g:syntastic_perl_lib_path) == type('')
call syntastic#log#oneTimeWarn('variable g:syntastic_perl_lib_path should be a list')
let includes = split(g:syntastic_perl_lib_path, ',')
@ -81,7 +81,7 @@ function! SyntaxCheckers_perl_perl_GetLocList() dict
\ 'errorformat': errorformat,
\ 'preprocess': 'perl',
\ 'defaults': {'type': 'W'} })
endfunction
endfunction " }}}1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'perl',

@ -19,7 +19,7 @@ set cpo&vim
let s:pylint_new = -1
function! SyntaxCheckers_python_pylint_IsAvailable() dict
function! SyntaxCheckers_python_pylint_IsAvailable() dict " {{{1
if !executable(self.getExec())
return 0
endif
@ -45,9 +45,9 @@ function! SyntaxCheckers_python_pylint_IsAvailable() dict
endtry
return s:pylint_new >= 0
endfunction
endfunction " }}}1
function! SyntaxCheckers_python_pylint_GetLocList() dict
function! SyntaxCheckers_python_pylint_GetLocList() dict " {{{1
let makeprg = self.makeprgBuild({
\ 'args_after': (s:pylint_new ?
\ '-f text --msg-template="{path}:{line}:{column}:{C}: [{symbol}] {msg}" -r n' :
@ -86,7 +86,7 @@ function! SyntaxCheckers_python_pylint_GetLocList() dict
endfor
return loclist
endfunction
endfunction " }}}1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'python',

@ -23,6 +23,11 @@ let s:rst2pseudoxml = (executable('rst2pseudoxml.py') && !syntastic#util#isRunni
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_rst_rst2pseudoxml_IsAvailable() dict
call self.log('exec =', self.getExec())
return executable(self.getExec())
endfunction
function! SyntaxCheckers_rst_rst2pseudoxml_GetLocList() dict
let makeprg = self.makeprgBuild({
\ 'args_after': '--report=2 --exit-status=1',

@ -43,7 +43,7 @@ function! SyntaxCheckers_scala_scalastyle_GetLocList() dict
let makeprg = self.makeprgBuild({
\ 'exe_after': ['-jar', expand(g:syntastic_scala_scalastyle_jar, 1)],
\ 'args_before': ['-q', 'true', '-c', expand(g:syntastic_scala_scalastyle_config_file, 1)] })
\ 'args_before': ['-c', expand(g:syntastic_scala_scalastyle_config_file, 1)] })
let errorformat =
\ '%trror file=%f message=%m line=%l column=%c,' .

@ -11,8 +11,10 @@ let g:loaded_syntastic_sh_shellcheck_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_sh_shellcheck_GetLocList() dict
let makeprg = self.makeprgBuild({ 'args_after': '-f gcc' })
function! SyntaxCheckers_sh_shellcheck_GetLocList() dict " {{{1
let makeprg = self.makeprgBuild({
\ 'args': s:GetShell(),
\ 'args_after': '-f gcc' })
let errorformat =
\ '%f:%l:%c: %trror: %m,' .
@ -32,7 +34,27 @@ function! SyntaxCheckers_sh_shellcheck_GetLocList() dict
endfor
return loclist
endfunction
endfunction " }}}1
" Utilities {{{1
function! s:GetShell() " {{{2
let sh = ''
if syntastic#util#parseShebang()['exe'] ==# ''
if syntastic#util#rawVar('is_kornshell', 0) || syntastic#util#rawVar('is_posix', 0)
let sh = 'ksh'
elseif syntastic#util#rawVar('is_bash', 0)
let sh = 'bash'
elseif syntastic#util#rawVar('is_sh', 0)
let sh = 'sh'
endif
endif
return sh !=# '' ? '-s ' . sh : ''
endfunction " }}}2
" }}}1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'sh',

@ -0,0 +1,23 @@
"============================================================================
"File: rapper.vim
"Description: Syntax checking plugin for syntastic
"Maintainer: Sebastian Tramp <mail@sebastian.tramp.name>
"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_trig_rapper_checker')
finish
endif
let g:loaded_syntastic_trig_rapper_checker = 1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'trig',
\ 'name': 'rapper',
\ 'redirect': 'turtle/rapper'})
" vim: set sw=4 sts=4 et fdm=marker:

@ -0,0 +1,46 @@
"============================================================================
"File: rapper.vim
"Description: Syntax checking plugin for syntastic
"Maintainer: Sebastian Tramp <mail@sebastian.tramp.name>
"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_turtle_rapper_checker')
finish
endif
let g:loaded_syntastic_turtle_rapper_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_turtle_rapper_GetHighlightRegex(item)
let term = matchstr(a:item['text'], '\mFailed to convert qname \zs\S\+\ze to URI')
return term !=# '' ? '\V\<' . escape(term, '\') . '\>' : ''
endfunction
function! SyntaxCheckers_turtle_rapper_GetLocList() dict
let makeprg = self.makeprgBuild({ 'args': '-i guess -q --count' })
let errorformat =
\ 'rapper: %trror - URI file://%f:%l - %m,' .
\ 'rapper: %tarning - URI file://%f:%l - %m'
return SyntasticMake({
\ 'makeprg': makeprg,
\ 'errorformat': errorformat,
\ 'returns': [0, 1] })
endfunction
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'turtle',
\ 'name': 'rapper'})
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: set sw=4 sts=4 et fdm=marker:

@ -0,0 +1,43 @@
"============================================================================
"File: ttl.vim
"Description: turtle syntax checker - using ttl from turtle-validator (npm)
"Maintainer: Antoine Reilles (tonio@NetBSD.org)
"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_turtle_ttl_checker')
finish
endif
let g:loaded_syntastic_turtle_ttl_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_turtle_ttl_GetHighlightRegex(item)
let term = matchstr(a:item['text'], '\m"\zs[^"]\+\ze"')
return term !=# '' ? '\V\<' . escape(term, '\') . '\>' : ''
endfunction
function! SyntaxCheckers_turtle_ttl_GetLocList() dict
let makeprg = self.makeprgBuild({})
let errorformat = '%\m[Error: %m %\%%(at%\|on%\) line %l%\%.]'
return SyntasticMake({
\ 'makeprg': makeprg,
\ 'errorformat': errorformat,
\ 'defaults': {'bufnr': bufnr('')} })
endfunction
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'turtle',
\ 'name': 'ttl'})
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: set sw=4 sts=4 et fdm=marker:

@ -0,0 +1,46 @@
"============================================================================
"File: pyang.vim
"Description: Syntax checking plugin for syntastic.vim
"Authors: joshua.downer@gmail.com
"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_yang_pyang_checker')
finish
endif
let g:loaded_syntastic_yang_pyang_checker = 1
let s:save_cpo = &cpo
set cpo&vim
function! SyntaxCheckers_yang_pyang_GetHighlightRegex(item)
let term = matchstr(a:item['text'], '\m"\zs[^"]\+\ze"')
return term != '' ? '\V\<' . escape(term, '\') . '\>' : ''
endfunction
function! SyntaxCheckers_yang_pyang_GetLocList() dict
let makeprg = self.makeprgBuild({})
let errorformat =
\ '%f:%l: %trror: %m,' .
\ '%f:%l: %tarning: %m'
return SyntasticMake({
\ 'makeprg': makeprg,
\ 'errorformat': errorformat,
\ 'postprocess': ['filterForeignErrors'] })
endfunction
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'yang',
\ 'name': 'pyang'})
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: set sw=4 sts=4 et fdm=marker:

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

@ -1,102 +0,0 @@
" Each theme is contained in its own file and declares variables scoped to the
" file. These variables represent the possible "modes" that airline can
" detect. The mode is the return value of mode(), which gets converted to a
" readable string. The following is a list currently supported modes: normal,
" insert, replace, visual, and inactive.
"
" Each mode can also have overrides. These are small changes to the mode that
" don't require a completely different look. "modified" and "paste" are two
" such supported overrides. These are simply suffixed to the major mode,
" separated by an underscore. For example, "normal_modified" would be normal
" mode where the current buffer is modified.
"
" The theming algorithm is a 2-pass system where the mode will draw over all
" parts of the statusline, and then the override is applied after. This means
" it is possible to specify a subset of the theme in overrides, as it will
" simply overwrite the previous colors. If you want simultaneous overrides,
" then they will need to change different parts of the statusline so they do
" not conflict with each other.
"
" First, let's define an empty dictionary and assign it to the "palette"
" variable. The # is a separator that maps with the directory structure. If
" you get this wrong, Vim will complain loudly.
let g:airline#themes#dark#palette = {}
" First let's define some arrays. The s: is just a VimL thing for scoping the
" variables to the current script. Without this, these variables would be
" declared globally. Now let's declare some colors for normal mode and add it
" to the dictionary. The array is in the format:
" [ guifg, guibg, ctermfg, ctermbg, opts ]. See "help attr-list" for valid
" values for the "opt" value.
let s:N1 = [ '#00005f' , '#dfff00' , 17 , 190 ]
let s:N2 = [ '#ffffff' , '#444444' , 255 , 238 ]
let s:N3 = [ '#9cffd3' , '#202020' , 85 , 234 ]
let g:airline#themes#dark#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
" Here we define overrides for when the buffer is modified. This will be
" applied after g:airline#themes#dark#palette.normal, hence why only certain keys are
" declared.
let g:airline#themes#dark#palette.normal_modified = {
\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
\ }
let s:I1 = [ '#00005f' , '#00dfff' , 17 , 45 ]
let s:I2 = [ '#ffffff' , '#005fff' , 255 , 27 ]
let s:I3 = [ '#ffffff' , '#000080' , 15 , 17 ]
let g:airline#themes#dark#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#dark#palette.insert_modified = {
\ 'airline_c': [ '#ffffff' , '#5f005f' , 255 , 53 , '' ] ,
\ }
let g:airline#themes#dark#palette.insert_paste = {
\ 'airline_a': [ s:I1[0] , '#d78700' , s:I1[2] , 172 , '' ] ,
\ }
let g:airline#themes#dark#palette.replace = copy(g:airline#themes#dark#palette.insert)
let g:airline#themes#dark#palette.replace.airline_a = [ s:I2[0] , '#af0000' , s:I2[2] , 124 , '' ]
let g:airline#themes#dark#palette.replace_modified = g:airline#themes#dark#palette.insert_modified
let s:V1 = [ '#000000' , '#ffaf00' , 232 , 214 ]
let s:V2 = [ '#000000' , '#ff5f00' , 232 , 202 ]
let s:V3 = [ '#ffffff' , '#5f0000' , 15 , 52 ]
let g:airline#themes#dark#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#dark#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#dark#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
let g:airline#themes#dark#palette.inactive_modified = {
\ 'airline_c': [ '#875faf' , '' , 97 , '' , '' ] ,
\ }
" Accents are used to give parts within a section a slightly different look or
" color. Here we are defining a "red" accent, which is used by the 'readonly'
" part by default. Only the foreground colors are specified, so the background
" colors are automatically extracted from the underlying section colors. What
" this means is that regardless of which section the part is defined in, it
" will be red instead of the section's foreground color. You can also have
" multiple parts with accents within a section.
let g:airline#themes#dark#palette.accents = {
\ 'red': [ '#ff0000' , '' , 160 , '' ]
\ }
" Here we define the color map for ctrlp. We check for the g:loaded_ctrlp
" variable so that related functionality is loaded iff the user is using
" ctrlp. Note that this is optional, and if you do not define ctrlp colors
" they will be chosen automatically from the existing palette.
if !get(g:, 'loaded_ctrlp', 0)
finish
endif
let g:airline#themes#dark#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
\ [ '#d7d7ff' , '#5f00af' , 189 , 55 , '' ],
\ [ '#ffffff' , '#875fd7' , 231 , 98 , '' ],
\ [ '#5f00af' , '#ffffff' , 55 , 231 , 'bold' ])

@ -27,46 +27,54 @@ let s:cterm07 = "189"
let s:cterm08 = "88"
let s:cterm09 = "209"
let s:cterm0A = "221"
let s:cterm0B = "64"
let s:cterm0B = "22"
let s:cterm0C = "73"
let s:cterm0D = "25"
let s:cterm0E = "176"
let s:cterm0F = "137"
let s:guiWhite = "#ffffff"
let s:guiGray = "#666666"
let s:ctermWhite = "231"
let s:ctermGray = "243"
let g:airline#themes#jellybeans#palette = {}
let s:modified = { 'airline_c': [ '#ffb964', '', 215, '', '' ] }
" Normal mode
let s:N1 = [ s:gui07 , s:gui0D , s:cterm07 , s:cterm0D ]
let s:N2 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ]
let s:N3 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ]
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 = s:modified
" Insert mode
let s:I1 = [ s:guiWhite , s:gui0B , s:ctermWhite , s:cterm0B ]
let s:I2 = [ s:gui02 , s:gui01 , s:cterm03 , s:cterm01 ]
let s:I2 = s:N2
let s:I3 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm00 ]
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 = s:modified
" Visual mode
let s:V1 = [ s:guiWhite , s:gui08 , s:ctermWhite , s:cterm08 ]
let s:V2 = [ s:gui02 , s:gui01 , s:cterm03 , s:cterm01 ]
let s:V3 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm00 ]
let s:V2 = s:N2
let s:V3 = s:I3
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 = s:modified
" Replace mode
let s:R1 = [ s:gui08 , s:gui01 , s:cterm08, s:cterm00 ]
let s:R2 = [ s:gui02 , s:gui01 , s:cterm03 , s:cterm01 ]
let s:R3 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm00 ]
let s:R2 = s:N2
let s:R3 = s:I3
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 = s:modified
" Inactive mode
let s:IN1 = [ s:gui00 , s:gui01 , s:cterm00 , s:cterm01 ]
let s:IN1 = [ s:guiGray , s:gui01 , s:ctermGray , s:cterm01 ]
let s:IN2 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ]
let s:IN3 = [ s:gui02 , s:gui00 , s:cterm02 , s:cterm00 ]
let g:airline#themes#jellybeans#palette.inactive = airline#themes#generate_color_map(s:IN1, s:IN2, s:IN3)
let g:airline#themes#jellybeans#palette.inactive_modified = s:modified
" CtrlP
if !get(g:, 'loaded_ctrlp', 0)

@ -12,22 +12,44 @@ function! airline#themes#solarized#refresh()
" 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'