diff --git a/sources_non_forked/ack.vim/README.md b/sources_non_forked/ack.vim/README.md
index af8f522d..643ce65a 100644
--- a/sources_non_forked/ack.vim/README.md
+++ b/sources_non_forked/ack.vim/README.md
@@ -78,9 +78,9 @@ The quickfix results window is augmented with these convenience mappings:
? a quick summary of these keys, repeat to close
o to open (same as Enter)
O to open and close the quickfix window
- go to preview file, open but maintain focus on ack.vim results
+ go to preview file, keeping focus on the results
t to open in new tab
- T to open in new tab without moving to it
+ T to open in new tab, keeping focus on the results
h to open in horizontal split
H to open in horizontal split, keeping focus on the results
v to open in vertical split
diff --git a/sources_non_forked/ctrlp.vim/autoload/ctrlp.vim b/sources_non_forked/ctrlp.vim/autoload/ctrlp.vim
index 7b2d660a..b1fe859c 100644
--- a/sources_non_forked/ctrlp.vim/autoload/ctrlp.vim
+++ b/sources_non_forked/ctrlp.vim/autoload/ctrlp.vim
@@ -2305,7 +2305,7 @@ fu! s:lastvisual()
let cview = winsaveview()
let [ovreg, ovtype] = [getreg('v'), getregtype('v')]
let [oureg, outype] = [getreg('"'), getregtype('"')]
- sil! norm! gv"vy
+ sil! norm! gV"vy
let selected = s:regisfilter('v')
cal setreg('v', ovreg, ovtype)
cal setreg('"', oureg, outype)
diff --git a/sources_non_forked/ctrlp.vim/autoload/ctrlp/line.vim b/sources_non_forked/ctrlp.vim/autoload/ctrlp/line.vim
index 5bec47ee..17b6061b 100644
--- a/sources_non_forked/ctrlp.vim/autoload/ctrlp/line.vim
+++ b/sources_non_forked/ctrlp.vim/autoload/ctrlp/line.vim
@@ -31,7 +31,7 @@ endf
" Public {{{1
fu! ctrlp#line#init(bufnr)
let [lines, bufnr] = [[], exists('s:bufnr') ? s:bufnr : a:bufnr]
- let bufs = exists('s:lnmode') && s:lnmode ? ctrlp#buffers('id') : [bufnr]
+ let bufs = exists('s:lnmode') && !empty(s:lnmode) ? ctrlp#buffers('id') : [bufnr]
for bufnr in bufs
let [lfb, bufn] = [getbufline(bufnr, 1, '$'), bufname(bufnr)]
if lfb == [] && bufn != ''
diff --git a/sources_non_forked/ctrlp.vim/doc/ctrlp.cnx b/sources_non_forked/ctrlp.vim/doc/ctrlp.cnx
index c2d69729..1f8a2ee6 100644
--- a/sources_non_forked/ctrlp.vim/doc/ctrlp.cnx
+++ b/sources_non_forked/ctrlp.vim/doc/ctrlp.cnx
@@ -1,4 +1,4 @@
-*ctrlp.txt* 模糊的 文件, 缓冲区, 最近最多使用, 标签, ... 检索. v1.79
+*ctrlp.txt* 支持模糊匹配的 文件, 缓冲区, 最近最多使用, 标签, ... 检索. v1.79
*CtrlP* *ControlP* *'ctrlp'* *'ctrl-p'*
===============================================================================
# #
@@ -68,7 +68,7 @@ OPTIONS *ctrlp-options*
|ctrlp_arg_map|...............是否拦截 和 命令。
|ctrlp_follow_symlinks|.......是否跟随链接。
|ctrlp_lazy_update|...........停止输入时才更新。
- |ctrlp_default_input|.........为提示符面板提供一个种子。
+ |ctrlp_default_input|.........为提示符面板提供一个初始字符串。
|ctrlp_abbrev|................输入缩写。
|ctrlp_key_loop|..............为多字节输入开启输入事件循环。
|ctrlp_prompt_mappings|.......改变提示符面板内部的按键绑定。
@@ -76,6 +76,7 @@ OPTIONS *ctrlp-options*
|ctrlp_open_single_match|.....当只有一个候选时自动接受。
|ctrlp_brief_prompt|..........提示符为空的时候使用退出 CtrlP。
|ctrlp_match_current_file|....在匹配条目中包含当前文件。
+ |ctrlp_types|.................內建类型的名称。
最近最多使用模式:
|ctrlp_mruf_max|..............记录的最近最多使用的最大数据。
@@ -154,6 +155,7 @@ OPTIONS *ctrlp-options*
结果集的最大数目:
results:{n} - 列出最多 {n} 条结果 (默认: 和最大高度同步).
+ 0代表没有限制。
注意: 当一个设置项没有被设置时,将会使用默认值。
@@ -254,7 +256,7 @@ OPTIONS *ctrlp-options*
考虑清楚。
*'g:ctrlp_custom_ignore'*
-作为对 |'wildignore'| 的补充,用来设置你只是想在CtrlP中隐藏的文件和目录。使用正
+作为对 |'wildignore'| 和 |g:ctrlp_show_hidden| 的补充,用来设置你只是想在CtrlP中隐藏的文件和目录。使用正
则表达式来指定匹配模式: >
let g:ctrlp_custom_ignore = ''
<
@@ -439,13 +441,19 @@ OPTIONS *ctrlp-options*
*'g:ctrlp_match_current_file'*
-在匹配条目中包含当前文件:
+在匹配条目中包含当前文件: >
let g:ctrlp_match_current_file = 1
默认情况下,当前文件不包含在列表中。
注意: 当使用 |g:ctrlp_match_func| 时不会应用这个选项。
+ *'g:ctrlp_types'*
+通过设置这个列表变量的值来定制核心类型: >
+ let g:ctrlp_types = ['mru', 'fil']
+
+类型默认为: >
+ let g:ctrlp_types = ['fil', 'buf', 'mru'].
*'g:ctrlp_abbrev'*
定义可以在提示面包内被扩展(内部的或者可见的)的输入缩写: >
@@ -817,7 +825,8 @@ MRU mode options:~
:CtrlP [起始目录]
用文件搜索模式打开CtrlP。
- 如果没有给定参数,|g:ctrlp_working_path_mode| 会被用来决定起始目录。
+ 如果没有给定参数,|g:ctrlp_working_path_mode| 会被用来决定起始目录。临时覆盖
+ 这个参数 的方法见 |:CtrlPCurFile| 和 |:CtrlPCurWD| 。
在输入时你可以使用 自动补全[起始目录]。
@@ -825,6 +834,16 @@ MRU mode options:~
:CtrlPBuffer
用缓冲区搜索模式打开CtrlP。
+ *:CtrlPCurFile*
+:CtrlPCurFile
+ 行为类似变量 |g:ctrlp_working_path_mode| = '' 时执行 |:CtrlP| ,忽略这个变量
+ 现在的值。
+
+ *:CtrlPCurWD*
+:CtrlPCurWD
+ 行为类似变量 |g:ctrlp_working_path_mode| = '' 时执行 |:CtrlP| ,忽略这个变量
+ 现在的值。
+
*:CtrlPMRU*
:CtrlPMRU
用最近最多使用模式打开CtrlP。
@@ -1259,7 +1278,8 @@ h) 使用?打开帮助文件。
缓冲标签模式选项:~
*'g:ctrlp_buftag_ctags_bin'*
-如果ctags没有在环境变量中配置,使用该选项来指定它的位置: >
+如果ctags没有在环境变量中配置,或者一个二进制ctags文件存在于
+/opt/local/bin 或 /usr/local/bin,使用该选项来指定它的位置: >
let g:ctrlp_buftag_ctags_bin = ''
<
@@ -1411,6 +1431,31 @@ Git 仓库: https://github.com/ctrlpvim/ctrlp.vim
===============================================================================
更新日志 *ctrlp-changelog*
+ * 新选项 |g:ctrlp_custom_tag_files| 用来指定自定义的标签文件。
+ * 设置 g:ctrlp_match_window 为0来不限制窗口大小
+
+Before 2016/11/28~
+
+ + 新命令: |YankLine()| 来复制整个文件。
+ + 新选项: |g:ctrlp_types| 来选择內建类型。
+ + 新特性: 异步在新线程中调用 |g:ctrlp_user_command| 。 设置
+ |g:user_command_async| 为1来启用。
+ + 为 delphi, rust 和 golang提供buffertag支持。
+ + 新选项: |g:ctrlp_brief_prompt|,
+ |g:match_current_file|,
+ |g:ctrlp_compare_lim|.
+ + 新功能: 自动忽略扩展。
+ + 为 ant, tex, dosbatch, matlab 和 vhdl提供buffertag支持。
+ + 新选项 |g:ctrlp_line_prefix| 来结合第三方插件。
+ + 新选项 |g:open_single_match| 在 matches 中打开单个文件。
+ + 添加启动方式 (ctrlp) 。
+ + 接受 bang for CtrlPBookmarkDirAdd 来避免确认。
+ + 处理像 "g:ctrlp_TYPE_MODE" 大小写混合的变量名。
+ 例如: let g:ctrlp_path_sort
+ + 新选项: |g:ctrlp_custom_ancestors|
+
+在2014/08/08之前~
+
+ 新的支持高亮的缓冲区浏览模式 (建议 |+conceal|)
+ 新选项: |g:ctrlp_bufname_mod|,
|g:ctrlp_bufpath_mod|
diff --git a/sources_non_forked/goyo.vim/doc/goyo.txt b/sources_non_forked/goyo.vim/doc/goyo.txt
index cdc129f8..0af9e6b3 100644
--- a/sources_non_forked/goyo.vim/doc/goyo.txt
+++ b/sources_non_forked/goyo.vim/doc/goyo.txt
@@ -1,4 +1,4 @@
-goyo.txt goyo Last change: April 1 2017
+goyo.txt goyo Last change: April 2 2017
GOYO - TABLE OF CONTENTS *goyo* *goyo-toc*
==============================================================================
@@ -12,7 +12,7 @@ GOYO - TABLE OF CONTENTS *goyo* *goyo-to
Pros.
License
-GOYO.VIM (고요) *goyo*
+GOYO.VIM (고요) *goyo-vim*
==============================================================================
Distraction-free writing in Vim.
diff --git a/sources_non_forked/lightline.vim/.travis.yml b/sources_non_forked/lightline.vim/.travis.yml
index ae4b73fb..3767d735 100644
--- a/sources_non_forked/lightline.vim/.travis.yml
+++ b/sources_non_forked/lightline.vim/.travis.yml
@@ -4,19 +4,26 @@ sudo: false
install:
- git clone --depth=1 https://github.com/thinca/vim-themis /tmp/themis
- - git clone https://github.com/vim/vim $HOME/vim
- - (if ! test -d $HOME/vim-7.4/bin; then cd $HOME/vim && git checkout . && git checkout v7.4 && ./configure --prefix=$HOME/vim-7.4 && make && make install; fi)
- - (if ! test -d $HOME/vim-7.3/bin; then cd $HOME/vim && git checkout . && git checkout v7.3 && ./configure --prefix=$HOME/vim-7.3 && make && make install; fi)
- - (if ! test -d $HOME/vim-7.2.051/bin; then cd $HOME/vim && git checkout . && git checkout v7.2.051 && ./configure --prefix=$HOME/vim-7.2.051 && make && make install; fi)
+ - (if ! test -d $HOME/vim-$VIM_VERSION/bin; then
+ git clone https://github.com/vim/vim $HOME/vim &&
+ cd $HOME/vim &&
+ git checkout v$VIM_VERSION &&
+ ./configure --prefix=$HOME/vim-$VIM_VERSION &&
+ make &&
+ make install;
+ fi)
cache:
directories:
- - $HOME/vim-7.4
- - $HOME/vim-7.3
- - $HOME/vim-7.2.051
+ - $HOME/vim-$VIM_VERSION
+
+env:
+ - VIM_VERSION=8.0.0000
+ - VIM_VERSION=7.4
+ - VIM_VERSION=7.3
+ - VIM_VERSION=7.2.051
script:
+ - export PATH=$HOME/vim-$VIM_VERSION/bin:$PATH
+ - vim --version
- /tmp/themis/bin/themis --reporter spec
- - PATH=$HOME/vim-7.4/bin/:$PATH /tmp/themis/bin/themis --reporter spec
- - PATH=$HOME/vim-7.3/bin/:$PATH /tmp/themis/bin/themis --reporter spec
- - PATH=$HOME/vim-7.2.051/bin/:$PATH /tmp/themis/bin/themis --reporter spec
diff --git a/sources_non_forked/lightline.vim/README.md b/sources_non_forked/lightline.vim/README.md
index 2b80f35b..e97b6b7a 100644
--- a/sources_non_forked/lightline.vim/README.md
+++ b/sources_non_forked/lightline.vim/README.md
@@ -65,7 +65,7 @@ This software is released under the MIT License, see LICENSE.
git clone https://github.com/itchyny/lightline.vim ~/.vim/bundle/lightline.vim
-### Vundle (https://github.com/gmarik/Vundle.vim)
+### Vundle (https://github.com/VundleVim/Vundle.vim)
1. Add the following configuration to your `.vimrc`.
Plugin 'itchyny/lightline.vim'
diff --git a/sources_non_forked/nerdtree/autoload/nerdtree.vim b/sources_non_forked/nerdtree/autoload/nerdtree.vim
index e0d86efa..4402b4f4 100644
--- a/sources_non_forked/nerdtree/autoload/nerdtree.vim
+++ b/sources_non_forked/nerdtree/autoload/nerdtree.vim
@@ -92,7 +92,7 @@ endfunction
" same as :exec cmd but eventignore=all is set for the duration
function! nerdtree#exec(cmd)
let old_ei = &ei
- set ei=all
+ set ei=BufEnter,BufLeave,VimEnter
exec a:cmd
let &ei = old_ei
endfunction
diff --git a/sources_non_forked/syntastic/README.markdown b/sources_non_forked/syntastic/README.markdown
index 4212c95a..8f0e4607 100644
--- a/sources_non_forked/syntastic/README.markdown
+++ b/sources_non_forked/syntastic/README.markdown
@@ -58,15 +58,15 @@ their script to find them.
At the time of this writing, syntastic has checking plugins for ACPI
Source Language, ActionScript, Ada, Ansible configurations, API Blueprint,
-AppleScript, AsciiDoc, Assembly languages, BEMHTML, Bro, Bourne shell, C,
-C++, C#, Cabal, Chef, CoffeeScript, Coco, Coq, CSS, Cucumber, CUDA, D, Dart,
+AppleScript, AsciiDoc, Assembly languages, BEMHTML, Bro, Bourne shell, C, C++,
+C#, Cabal, Chef, CMake, CoffeeScript, Coco, Coq, CSS, Cucumber, CUDA, D, Dart,
DocBook, Dockerfile, Dust, Elixir, Erlang, eRuby, Fortran, Gentoo metadata,
-GLSL, Go, Haml, Haskell, Haxe, 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, RDF TriG, RDF Turtle, Relax NG,
-reStructuredText, RPM spec, Ruby, SASS/SCSS, Scala, Slim, SML, Solidity,
+GLSL, Go, Haml, Haskell, Haxe, Handlebars, HSS, HTML, Java, JavaScript,
+JSON, JSX, Julia, 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, RDF TriG, RDF Turtle, Relax
+NG, reStructuredText, RPM spec, Ruby, SASS/SCSS, Scala, Slim, SML, Solidity,
Sphinx, SQL, Stylus, Tcl, TeX, Texinfo, Twig, TypeScript, Vala, Verilog, VHDL,
Vim help, VimL, xHtml, XML, XSLT, XQuery, YACC, YAML, YANG data models, z80,
Zope page templates, and Zsh. See the [manual][checkers] for details about the
diff --git a/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim b/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim
index 451d308c..52ec865a 100644
--- a/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim
+++ b/sources_non_forked/syntastic/autoload/syntastic/preprocess.vim
@@ -8,6 +8,37 @@ set cpo&vim
" Public functions {{{1
+function! syntastic#preprocess#bandit(errors) abort " {{{2
+ let out = []
+ let json = s:_decode_JSON(join(a:errors, ''))
+
+ if type(json) == type({}) && has_key(json, 'results') && type(json['results']) == type([])
+ for issue in json['results']
+ if type(issue) == type({})
+ try
+ call add(out,
+ \ issue['filename'] . ':' .
+ \ issue['line_number'] . ':' .
+ \ { 'LOW': 'I', 'MEDIUM': 'W', 'HIGH': 'E' }[issue['issue_severity']] . ':' .
+ \ issue['test_id'][1:] . ':' .
+ \ issue['issue_text'] .
+ \ ' [' . issue['test_name'] . '] (confidence: ' . issue['issue_confidence'] . ')')
+ catch /\m^Vim\%((\a\+)\)\=:E716/
+ call syntastic#log#warn('checker python/bandit: unrecognized error item ' . string(issue))
+ let out = []
+ break
+ endtry
+ else
+ call syntastic#log#warn('checker python/bandit: unrecognized error item ' . string(issue))
+ endif
+ endfor
+ else
+ call syntastic#log#warn('checker python/bandit: unrecognized error format (crashed checker?)')
+ endif
+
+ return out
+endfunction " }}}2
+
function! syntastic#preprocess#cabal(errors) abort " {{{2
let out = []
let star = 0
@@ -435,7 +466,7 @@ echomsg string(out)
endfunction " }}}2
function! syntastic#preprocess#tslint(errors) abort " {{{2
- return map(copy(a:errors), 'substitute(v:val, ''\m^\(([^)]\+)\)\s\(.\+\)$'', ''\2 \1'', "")')
+ return map(copy(a:errors), 'substitute(v:val, ''\v^((ERROR|WARNING): )?\zs(\([^)]+\))\s(.+)$'', ''\4 \3'', "")')
endfunction " }}}2
function! syntastic#preprocess#validator(errors) abort " {{{2
diff --git a/sources_non_forked/syntastic/doc/syntastic-checkers.txt b/sources_non_forked/syntastic/doc/syntastic-checkers.txt
index 7c902f9a..e70d61a0 100644
--- a/sources_non_forked/syntastic/doc/syntastic-checkers.txt
+++ b/sources_non_forked/syntastic/doc/syntastic-checkers.txt
@@ -23,6 +23,7 @@ SYNTAX CHECKERS BY LANGUAGE *syntastic-checkers-lang*
C++......................................|syntastic-checkers-cpp|
Cabal....................................|syntastic-checkers-cabal|
Chef.....................................|syntastic-checkers-chef|
+ CMake....................................|syntastic-checkers-cmake|
COBOL....................................|syntastic-checkers-cobol|
Coco.....................................|syntastic-checkers-co|
CoffeeScript.............................|syntastic-checkers-coffee|
@@ -58,6 +59,7 @@ SYNTAX CHECKERS BY LANGUAGE *syntastic-checkers-lang*
Java.....................................|syntastic-checkers-java|
JavaScript...............................|syntastic-checkers-javascript|
JSON.....................................|syntastic-checkers-json|
+ Julia....................................|syntastic-checkers-julia|
LESS.....................................|syntastic-checkers-less|
Lex......................................|syntastic-checkers-lex|
@@ -530,12 +532,14 @@ The following checkers are available for C (filetype "c"):
3. ClangCheck...............|syntastic-c-clang_check|
4. Clang-Tidy...............|syntastic-c-clang_tidy|
5. Cppcheck.................|syntastic-c-cppcheck|
- 6. GCC......................|syntastic-c-gcc|
- 7. make.....................|syntastic-c-make|
- 8. OClint...................|syntastic-c-oclint|
- 9. PC-Lint..................|syntastic-c-pc_lint|
- 10. Sparse..................|syntastic-c-sparse|
- 11. Splint..................|syntastic-c-splint|
+ 6. cppclean.................|syntastic-c-cppclean|
+ 7. Flawfinder...............|syntastic-c-flawfinder|
+ 8. GCC......................|syntastic-c-gcc|
+ 9. make.....................|syntastic-c-make|
+ 10. OClint..................|syntastic-c-oclint|
+ 11. PC-Lint.................|syntastic-c-pc_lint|
+ 12. Sparse..................|syntastic-c-sparse|
+ 13. Splint..................|syntastic-c-splint|
------------------------------------------------------------------------------
1. AVR-GCC *syntastic-c-avrgcc*
@@ -693,7 +697,57 @@ one option per line (cf. |syntastic-config-files|).
See also: |syntastic-cpp-cppcheck|.
------------------------------------------------------------------------------
-6. GCC *syntastic-c-gcc*
+6. cppclean *syntastic-c-cppclean*
+
+Name: cppclean
+Maintainer: LCD 47
+
+"cppclean" attempts to find problems in C++ source that slow development in
+large code bases, for example various forms of unused code. See the project's
+page at GitHub for more information:
+
+ https://github.com/myint/cppclean
+
+Installation~
+
+Install it with "pip": >
+ pip install cppclean
+<
+Checker options~
+
+This checker is initialised using the "makeprgBuild()" function and thus it
+accepts the standard options described at |syntastic-config-makeprg|.
+
+See also: |syntastic-cpp-cppclean|.
+
+------------------------------------------------------------------------------
+7. Flawfinder *syntastic-c-flawfinder*
+
+Name: flawfinder
+Maintainer: LCD 47
+
+"Flawfinder" scans C/C++ source code for possible security weaknesses. See the
+project's page for more information:
+
+ https://www.dwheeler.com/flawfinder
+
+Checker options~
+
+This checker is initialised using the "makeprgBuild()" function and thus it
+accepts the standard options described at |syntastic-config-makeprg|.
+
+Additionally:
+
+ *'g:syntastic_c_flawfinder_thres'*
+Type: integer
+Default: 3
+Error threshold. Policy violations with a severity above this value are
+highlighted as errors, the others are considered warnings by syntastic.
+
+See also: |syntastic-cpp-flawfinder|.
+
+------------------------------------------------------------------------------
+8. GCC *syntastic-c-gcc*
Name: gcc
Maintainer: Gregor Uhlenheuer
@@ -790,7 +844,7 @@ executable.
See also: |syntastic-cpp-gcc|.
------------------------------------------------------------------------------
-7. make *syntastic-c-make*
+9. make *syntastic-c-make*
Name: make
Maintainer: Gregor Uhlenheuer
@@ -801,7 +855,7 @@ This checker is initialised using the "makeprgBuild()" function and thus it
accepts the standard options described at |syntastic-config-makeprg|.
------------------------------------------------------------------------------
-8. OClint *syntastic-c-oclint*
+10. OClint *syntastic-c-oclint*
Name: oclint
Maintainer: "UnCO" Lin
@@ -840,7 +894,7 @@ Config files pointed to by 'g:syntastic_oclint_config_file' are then ignored.
See also: |syntastic-cpp-oclint|.
------------------------------------------------------------------------------
-9. PC-Lint *syntastic-c-pc_lint*
+11. PC-Lint *syntastic-c-pc_lint*
Name: pc_lint
Maintainer: Steve Bragg
@@ -867,7 +921,7 @@ current directory and in parent directories; first such file found is used.
See also: |syntastic-cpp-pc_lint|.
------------------------------------------------------------------------------
-10. Sparse *syntastic-c-sparse*
+12. Sparse *syntastic-c-sparse*
Name: sparse
Maintainer: Daniel Walker
@@ -899,7 +953,7 @@ your vimrc: >
This allows "Sparse" to read "GCC"'s private include files.
------------------------------------------------------------------------------
-11. Splint *syntastic-c-splint*
+13. Splint *syntastic-c-splint*
Name: splint
Maintainer: LCD 47
@@ -955,11 +1009,13 @@ The following checkers are available for C++ (filetype "cpp"):
2. ClangCheck...............|syntastic-cpp-clang_check|
3. Clang-Tidy...............|syntastic-cpp-clang_tidy|
4. Cppcheck.................|syntastic-cpp-cppcheck|
- 5. Cpplint..................|syntastic-cpp-cpplint|
- 6. GCC......................|syntastic-cpp-gcc|
- 7. OClint...................|syntastic-cpp-oclint|
- 8. PC-Lint..................|syntastic-cpp-pc_lint|
- 9. Vera++...................|syntastic-cpp-verapp|
+ 5. cppclean.................|syntastic-cpp-cppclean|
+ 6. Cpplint..................|syntastic-cpp-cpplint|
+ 7. Flawfinder...............|syntastic-cpp-flawfinder|
+ 8. GCC......................|syntastic-cpp-gcc|
+ 9. OClint...................|syntastic-cpp-oclint|
+ 10. PC-Lint.................|syntastic-cpp-pc_lint|
+ 11. Vera++..................|syntastic-cpp-verapp|
------------------------------------------------------------------------------
1. AVR-GCC *syntastic-cpp-avrgcc*
@@ -1103,7 +1159,31 @@ one option per line (cf. |syntastic-config-files|).
See also: |syntastic-c-cppcheck|.
------------------------------------------------------------------------------
-5. Cpplint *syntastic-cpp-cpplint*
+5. cppclean *syntastic-cpp-cppclean*
+
+Name: cppclean
+Maintainer: LCD 47
+
+"cppclean" attempts to find problems in C++ source that slow development in
+large code bases, for example various forms of unused code. See the project's
+page at GitHub for more information:
+
+ https://github.com/myint/cppclean
+
+Installation~
+
+Install it with "pip": >
+ pip install cppclean
+<
+Checker options~
+
+This checker is initialised using the "makeprgBuild()" function and thus it
+accepts the standard options described at |syntastic-config-makeprg|.
+
+See also: |syntastic-c-cppclean|.
+
+------------------------------------------------------------------------------
+6. Cpplint *syntastic-cpp-cpplint*
Name: cpplint
Maintainer: LCD 47
@@ -1139,7 +1219,33 @@ However, if your "cpplint" was installed with "pip", the script's name is
let g:syntastic_cpp_cpplint_exec = "cpplint"
<
------------------------------------------------------------------------------
-6. GCC *syntastic-cpp-gcc*
+7. Flawfinder *syntastic-cpp-flawfinder*
+
+Name: flawfinder
+Maintainer: LCD 47
+
+"Flawfinder" scans C/C++ source code for possible security weaknesses. See the
+project's page for more information:
+
+ https://www.dwheeler.com/flawfinder
+
+Checker options~
+
+This checker is initialised using the "makeprgBuild()" function and thus it
+accepts the standard options described at |syntastic-config-makeprg|.
+
+Additionally:
+
+ *'g:syntastic_cpp_flawfinder_thres'*
+Type: integer
+Default: 3
+Error threshold. Policy violations with a severity above this value are
+highlighted as errors, the others are considered warnings by syntastic.
+
+See also: |syntastic-c-flawfinder|.
+
+------------------------------------------------------------------------------
+8. GCC *syntastic-cpp-gcc*
Name: gcc
Maintainer: Gregor Uhlenheuer
@@ -1236,7 +1342,7 @@ executable.
See also: |syntastic-c-gcc|.
------------------------------------------------------------------------------
-7. OClint *syntastic-cpp-oclint*
+9. OClint *syntastic-cpp-oclint*
Name: oclint
Maintainer: "UnCO" Lin
@@ -1276,7 +1382,7 @@ Config files pointed to by 'g:syntastic_oclint_config_file' are then ignored.
See also: |syntastic-c-oclint|.
------------------------------------------------------------------------------
-8. PC-Lint *syntastic-cpp-pc_lint*
+10. PC-Lint *syntastic-cpp-pc_lint*
Name: pc_lint
Maintainer: Steve Bragg
@@ -1303,7 +1409,7 @@ current directory and in parent directories; first such file found is used.
See also: |syntastic-c-pc_lint|.
------------------------------------------------------------------------------
-9. Vera++ *syntastic-cpp-verapp*
+11. Vera++ *syntastic-cpp-verapp*
Name: verapp
Maintainer: Lucas Verney
@@ -1381,6 +1487,34 @@ You probably also need a plugin to set |filetype| for Chef files, such as
https://github.com/dougireton/vim-chef
+==============================================================================
+SYNTAX CHECKERS FOR CMAKE *syntastic-checkers-cmake*
+
+The following checkers are available for CMake (filetype "cmake"):
+
+ 1. cmakelint................|syntastic-cmake-cmakelint|
+
+------------------------------------------------------------------------------
+1. cmakelint *syntastic-cmake-cmakelint*
+
+Name: cmakelint
+Maintainer: LCD 47
+
+"cmakelint" is a style checker for "CMake" files (https://cmake.org/).
+See the project's page at GitHub more information:
+
+ https://github.com/richq/cmake-lint
+
+Installation~
+
+Install it with "pip": >
+ pip install cmakelint
+<
+Checker options~
+
+This checker is initialised using the "makeprgBuild()" function and thus it
+accepts the standard options described at |syntastic-config-makeprg|.
+
==============================================================================
SYNTAX CHECKERS FOR COBOL *syntastic-checkers-cobol*
@@ -2244,10 +2378,37 @@ SYNTAX CHECKERS FOR GETTEXT PO *syntastic-checkers-po*
The following checkers are available for gettext .po files (filetype "po"):
- 1. msgfmt...................|syntastic-po-msgfmt|
+ 1. Dennis...................|syntastic-po-dennis|
+ 2. msgfmt...................|syntastic-po-msgfmt|
------------------------------------------------------------------------------
-1. msgfmt *syntastic-po-msgfmt*
+1. Dennis *syntastic-po-dennis*
+
+Name: dennis
+Maintainer: LCD 47
+
+"Dennis" is a set of utilities for working with gettext Portable Object
+(http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html)
+translation files:
+
+ https://github.com/willkg/dennis/
+
+See the program's manual for further details:
+
+ http://dennis.readthedocs.io/en/latest/linting.html
+
+Installation~
+
+Install it with "pip": >
+ pip install dennis
+<
+Checker options~
+
+This checker is initialised using the "makeprgBuild()" function and thus it
+accepts the standard options described at |syntastic-config-makeprg|.
+
+------------------------------------------------------------------------------
+2. msgfmt *syntastic-po-msgfmt*
Name: msgfmt
Maintainer: Ryo Okubo
@@ -3591,6 +3752,44 @@ Checker options~
This checker is initialised using the "makeprgBuild()" function and thus it
accepts the standard options described at |syntastic-config-makeprg|.
+==============================================================================
+SYNTAX CHECKERS FOR JULIA *syntastic-checkers-julia*
+
+The following checkers are available for Julia (filetype "julia"):
+
+ 1. lint.....................|syntastic-julia-lint|
+
+------------------------------------------------------------------------------
+1. lint *syntastic-julia-lint*
+
+Name: lint
+Maintainer: LCD 47
+
+This is a checker for Julia files (https://julialang.org/), using the Julia
+package "Lint". See the package's documentation for more information:
+
+ http://lintjl.readthedocs.io/
+
+Installation~
+
+You need to install Julia itself, and the package "Lint". You can install
+"Lint" from the Julia package manager, with the command: >
+ Pkg.add("Lint")
+<
+Checker Options~
+
+This checker doesn't call the "makeprgBuild()" function, and thus it ignores
+the usual 'g:syntastic_julia_lint_
-Go (golang) support for Vim, which comes with pre-defined sensible settings (like
-auto gofmt on save), with autocomplete, snippet support, improved syntax
-highlighting, go toolchain commands, and more. If needed vim-go installs all
-necessary binaries for providing seamless Vim integration with current
-commands. It's highly customizable and each individual feature can be
-disabled/enabled easily.
-
## Features
-* Improved Syntax highlighting with items such as Functions, Operators, Methods.
-* Auto completion support via `gocode`
-* Better `gofmt` on save, which keeps cursor position and doesn't break your undo
- history
-* Go to symbol/declaration with `:GoDef`
-* Look up documentation with `:GoDoc` inside Vim or open it in browser
-* Automatically import packages via `:GoImport` or plug it into autosave
-* Compile your package with `:GoBuild`, install it with `:GoInstall` or test
- them with `:GoTest` (also supports running single tests via `:GoTestFunc`)
+This plugin adds Go language support for Vim, with the following main features:
+
+* Build with `:GoBuild`, install with `:GoInstall` or test
+ with `:GoTest` (run single tests via `:GoTestFunc`)
+* Show test coverage with `:GoCoverage` or in browser with `:GoCoverageBrowser`
+* Goto definition with `:GoDef`
+* Quick jump to declarations with `:GoDecls` or `:GoDeclsDir`
+* Show documentation with `:GoDoc` inside or in browser with `:GoDocBrowser`
* Quickly execute your current file/files with `:GoRun`
-* Automatic `GOPATH` detection based on the directory structure (i.e. `gb`
- projects, `godep` vendored projects)
-* Change or display `GOPATH` with `:GoPath`
-* Create a coverage profile and display annotated source code to see which
- functions are covered with `:GoCoverage`
-* Call `gometalinter` with `:GoMetaLinter`, which invokes all possible linters
- (golint, vet, errcheck, deadcode, etc..) and shows the warnings/errors
-* Lint your code with `:GoLint`
-* Run your code through `:GoVet` to catch static errors
* Advanced source analysis tools utilizing guru, such as `:GoImplements`,
`:GoCallees`, and `:GoReferrers`
-* Precise type-safe renaming of identifiers with `:GoRename`
-* List all source files and dependencies
-* Unchecked error checking with `:GoErrCheck`
-* Integrated and improved snippets, supporting `ultisnips` or `neosnippet`
-* 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`
- list.
-* Jump to function or type declarations with `:GoDecls` or `:GoDeclsDir`
-* Vim 8.0 support. Async execution for most commands, various underlying improvements.
-* NeoVim support (beta). Async execution for some commands.
-* Alternate between implementation and test code with `:GoAlternate`
+* Change or display `GOPATH` with `:GoPath`
+* Multiple 3rd linter support with `:GoMetaLinter`
+* Renaming identifiers with `:GoRename`
+* Share your code to [play.golang.org](http://play.golang.org) with `:GoPlay`
+* Switch between `*.go` and `*_test.go` code with `:GoAlternate`
+* Add/Remove tags on struct fields with `:GoAddTags`
+* Add import paths via `:GoImport` or remove them with `:GoDrop`
+* Custom vim text objects such as `a function (af)` or `inner function (if)`
+* ... and many more! Please see [doc/vim-go.txt](doc/vim-go.txt) for more information.
-Checkout the official [tutorial](https://github.com/fatih/vim-go-tutorial)
-that goes literally over all features and shows many tips and tricks. It shows
-how to install vim-go and explains many unknown use cases. Recommended for
-beginners as well as advanced users: https://github.com/fatih/vim-go-tutorial
## Install
-Master branch is supposed to be a development branch. So stuff here can break
-and change. Please try use always the [latest
-release](https://github.com/fatih/vim-go/releases/latest)
+Master branch is a **development** branch. Please use with caution.
+I recommend to use the [**latest stable release**](https://github.com/fatih/vim-go/releases/latest)
-Vim-go follows the standard runtime path structure, so I highly recommend to
-use a common and well known plugin manager to install vim-go. Do not use vim-go
-with other Go oriented vim plugins. For Pathogen just clone the repo. For other
-plugin managers add the appropriate lines and execute the plugin's install
-command.
+Vim-go follows the standard runtime path structure. Below are some helper lines
+for popular package managers:
* [Pathogen](https://github.com/tpope/vim-pathogen)
- * `git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go`
+ * `git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go`
* [vim-plug](https://github.com/junegunn/vim-plug)
- * `Plug 'fatih/vim-go'`
-* [NeoBundle](https://github.com/Shougo/neobundle.vim)
- * `NeoBundle 'fatih/vim-go'`
-* [Vundle](https://github.com/gmarik/vundle)
- * `Plugin 'fatih/vim-go'`
-* [Vim packages](http://vimhelp.appspot.com/repeat.txt.html#packages) (since Vim 7.4.1528)
- * `git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go`
+ * `Plug 'fatih/vim-go'`
+* [Vim packages](http://vimhelp.appspot.com/repeat.txt.html#packages)
+ * `git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go`
-Please be sure all necessary binaries are installed (such as `gocode`, `godef`,
-`goimports`, etc.). You can easily install them with the included
-`:GoInstallBinaries` command. If invoked, all necessary binaries will be
-automatically downloaded and installed to your `$GOBIN` environment (if not set
-it will use `$GOPATH/bin`). Note that this command requires `git` for fetching
-the individual Go packages. Additionally, use `:GoUpdateBinaries` to update the
-installed binaries.
+After installing, please install all necessary binaries. We have a handy
+command for it:
-### Optional
+```
+:GoInstallBinaries
+```
-* Autocompletion is enabled by default via ``. To get real-time
-completion (completion by type) install:
-[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 or
-[SimpleAutoCmplPop](https://github.com/roxma/SimpleAutoComplPop)
-* To display source code tag information on a sidebar install
-[tagbar](https://github.com/majutsushi/tagbar).
-* For snippet features install:
-[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).
+for more information please check out the [documentation](doc/vim-go.txt)
## Usage
-Many of the plugin's [features](#features) are enabled by default. There are no
-additional settings needed. All usages and commands are listed in
-`doc/vim-go.txt`. Note that help tags needs to be populated. Check your plugin
-manager settings to generate the documentation (some do it automatically).
-After that just open the help page to see all commands:
-
- :help vim-go
-
-## Example Mappings
-
-vim-go has several `` mappings which can be used to create custom
-mappings. Unless otherwise specified, none of these mappings are enabled
-by default. Here 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`.
-
-```vim
-au FileType go nmap r (go-run)
-au FileType go nmap b (go-build)
-au FileType go nmap t (go-test)
-au FileType go nmap c (go-coverage)
-```
-
-By default the mapping `gd` is enabled, which opens the target identifier in
-current buffer. You can also open the definition/declaration, in a new vertical,
-horizontal, or tab, for the word under your cursor:
-
-```vim
-au FileType go nmap ds (go-def-split)
-au FileType go nmap dv (go-def-vertical)
-au FileType go nmap dt (go-def-tab)
-```
-
-Open the relevant Godoc for the word under the cursor with `gd` or open
-it vertically with `gv`
-
-```vim
-au FileType go nmap gd (go-doc)
-au FileType go nmap gv (go-doc-vertical)
-```
-
-Or open the Godoc in browser
-
-```vim
-au FileType go nmap gb (go-doc-browser)
-```
-
-Show a list of interfaces which is implemented by the type under your cursor
-with `s`
-
-```vim
-au FileType go nmap s (go-implements)
-```
-
-Show type info for the word under your cursor with `i` (useful if you
-have disabled auto showing type info via `g:go_auto_type_info`)
-
-```vim
-au FileType go nmap i (go-info)
-```
-
-Rename the identifier under the cursor to a new name
-
-```vim
-au FileType go nmap e (go-rename)
-```
-
-More `` mappings can be seen with `:he go-mappings`. Also these are just
-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`.
-
-By default syntax-highlighting for Functions, Methods and Structs is disabled.
-To change it:
-```vim
-let g:go_highlight_functions = 1
-let g:go_highlight_methods = 1
-let g:go_highlight_fields = 1
-let g:go_highlight_types = 1
-let g:go_highlight_operators = 1
-let g:go_highlight_build_constraints = 1
-```
-
-Enable goimports to automatically insert import paths instead of gofmt:
-
-```vim
-let g:go_fmt_command = "goimports"
-```
-
-By default vim-go shows errors for the fmt command, to disable it:
-
-```vim
-let g:go_fmt_fail_silently = 1
-```
-
-Disable auto fmt on save:
-
-```vim
-let g:go_fmt_autosave = 0
-```
-
-Disable opening browser after posting your snippet to `play.golang.org`:
-
-```vim
-let g:go_play_open_browser = 0
-```
-
-By default when `:GoInstallBinaries` is called, the binaries are installed to
-`$GOBIN` or `$GOPATH/bin`. To change it:
-
-```vim
-let g:go_bin_path = expand("~/.gotools")
-let g:go_bin_path = "/home/fatih/.mypath" "or give absolute path
-```
-
-Disable updating dependencies when installing/updating binaries:
-```vim
-let g:go_get_update = 0
-```
-
-### Using with Neovim (beta)
-
-Note: Neovim currently is not a first class citizen for vim-go. You are free
-to open bug, however I'm not using Neovim so it's hard for me to test it.
-vim-go might not work well as good as in Vim. I'm happy to accept pull requests
-or very detailed bug reports. If you're interested to improve the state of
-Neovim in vim-go you're always welcome!
-
-
-Run `:GoRun` in a new tab, horizontal split or vertical split terminal
-
-```vim
-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:
-
-```vim
-let g:syntastic_go_checkers = ['golint', 'govet', 'errcheck']
-let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['go'] }
-```
-
-Another issue with `vim-go` and `syntastic` is that the location list window
-that contains the output of commands such as `:GoBuild` and `:GoTest` might not appear.
-To resolve this:
-
-```vim
-let g:go_list_type = "quickfix"
-```
-
-## 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.
-
-## Development & Testing
-
-vim-go supports now test files. Please check `autoload` folder for examples. If
-you add a new feature be sure you also include the `_test.vim` file next to the
-script. Test functions should be starting with `Test_`, example:
-
-
-```viml
-function Test_run_fmt()
- call assert_equal(expected, actual)
- ...
-endfunction
-```
-
-You can locally test it by running:
+Official documentation can be found under [doc/vim-go.txt](doc/vim-go.txt). You can display it from within Vim with:
```
-make
+:help vim-go
```
-
-This will run all tests and print either `PASS` or `FAIL` to indicate the final
-status of all tests.
-
-Additionally, each new pull request will trigger a new Travis-ci job.
-
-## Donation
-
-People have asked for this for a long time, now you can be a fully supporter by
-[being a patron](https://www.patreon.com/fatih)!
-
-By being a patron, you are enabling vim-go to grow and mature, helping me to
-invest in bug fixes, new documentation, and improving both current and future
-features. It's completely optional and is just a direct way to support Vim-go's
-ongoing development. Thanks!
-
-[https://www.patreon.com/fatih](https://www.patreon.com/fatih)
-
-## Credits
-
-* Go Authors for official vim plugins
-* Gocode, Godef, Golint, Guru, 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
+We also have an [official vim-go
+tutorial](https://github.com/fatih/vim-go-tutorial).
## License
-The BSD 3-Clause License - see `LICENSE` for more details
+The BSD 3-Clause License - see [`LICENSE`](LICENSE) for more details
diff --git a/sources_non_forked/vim-go/autoload/go/cmd.vim b/sources_non_forked/vim-go/autoload/go/cmd.vim
index 3702d168..ec7d44cd 100644
--- a/sources_non_forked/vim-go/autoload/go/cmd.vim
+++ b/sources_non_forked/vim-go/autoload/go/cmd.vim
@@ -445,7 +445,7 @@ function s:cmd_job(args) abort
let start_options = {
\ 'callback': callbacks.callback,
- \ 'close_cb': callbacks.close_cb,
+ \ 'exit_cb': callbacks.exit_cb,
\ }
" modify GOPATH if needed
diff --git a/sources_non_forked/vim-go/autoload/go/coverage.vim b/sources_non_forked/vim-go/autoload/go/coverage.vim
index 493d4205..fd2bb76e 100644
--- a/sources_non_forked/vim-go/autoload/go/coverage.vim
+++ b/sources_non_forked/vim-go/autoload/go/coverage.vim
@@ -288,7 +288,7 @@ function s:coverage_job(args)
let start_options = {
\ 'callback': callbacks.callback,
- \ 'close_cb': callbacks.close_cb,
+ \ 'exit_cb': callbacks.exit_cb,
\ }
" modify GOPATH if needed
diff --git a/sources_non_forked/vim-go/autoload/go/def.vim b/sources_non_forked/vim-go/autoload/go/def.vim
index a3d5f84a..2f73ceee 100644
--- a/sources_non_forked/vim-go/autoload/go/def.vim
+++ b/sources_non_forked/vim-go/autoload/go/def.vim
@@ -303,7 +303,7 @@ function s:def_job(args) abort
let start_options = {
\ 'callback': callbacks.callback,
- \ 'close_cb': callbacks.close_cb,
+ \ 'exit_cb': callbacks.exit_cb,
\ }
if &modified
diff --git a/sources_non_forked/vim-go/autoload/go/guru.vim b/sources_non_forked/vim-go/autoload/go/guru.vim
index 7edd6716..5cff49d8 100644
--- a/sources_non_forked/vim-go/autoload/go/guru.vim
+++ b/sources_non_forked/vim-go/autoload/go/guru.vim
@@ -155,21 +155,12 @@ function! s:async_guru(args) abort
endif
endif
- function! s:close_cb(chan) closure
- let messages = []
- while ch_status(a:chan, {'part': 'out'}) == 'buffered'
- let msg = ch_read(a:chan, {'part': 'out'})
- call add(messages, msg)
- endwhile
-
- while ch_status(a:chan, {'part': 'err'}) == 'buffered'
- let msg = ch_read(a:chan, {'part': 'err'})
- call add(messages, msg)
- endwhile
-
- let l:job = ch_getjob(a:chan)
- let l:info = job_info(l:job)
+ let messages = []
+ function! s:callback(chan, msg) closure
+ call add(messages, a:msg)
+ endfunction
+ function! s:exit_cb(job, exitval) closure
let out = join(messages, "\n")
let status = {
@@ -178,21 +169,22 @@ function! s:async_guru(args) abort
\ 'state': "finished",
\ }
- if l:info.exitval
+ if a:exitval
let status.state = "failed"
endif
call go#statusline#Update(status_dir, status)
if has_key(a:args, 'custom_parse')
- call a:args.custom_parse(l:info.exitval, out)
+ call a:args.custom_parse(a:exitval, out)
else
- call s:parse_guru_output(l:info.exitval, out, a:args.mode)
+ call s:parse_guru_output(a:exitval, out, a:args.mode)
endif
endfunction
let start_options = {
- \ 'close_cb': funcref("s:close_cb"),
+ \ 'callback': funcref("s:callback"),
+ \ 'exit_cb': funcref("s:exit_cb"),
\ }
if has_key(result, 'stdin_content')
diff --git a/sources_non_forked/vim-go/autoload/go/job.vim b/sources_non_forked/vim-go/autoload/go/job.vim
index e60b2b45..6fb03af7 100644
--- a/sources_non_forked/vim-go/autoload/go/job.vim
+++ b/sources_non_forked/vim-go/autoload/go/job.vim
@@ -30,28 +30,17 @@ function go#job#Spawn(args)
call add(self.messages, a:msg)
endfunction
- function cbs.close_cb(chan) dict
- let l:job = ch_getjob(a:chan)
- let l:status = job_status(l:job)
-
- " the job might be in fail status, we assume by default it's failed.
- " However if it's dead, we can use the real exitval
- let exitval = 1
- if l:status == "dead"
- let l:info = job_info(l:job)
- let exitval = l:info.exitval
- endif
-
+ function cbs.exit_cb(job, exitval) dict
if has_key(self, 'custom_cb')
- call self.custom_cb(l:job, exitval, self.messages)
+ call self.custom_cb(a:job, a:exitval, self.messages)
endif
if has_key(self, 'error_info_cb')
- call self.error_info_cb(l:job, exitval, self.messages)
+ call self.error_info_cb(a:job, a:exitval, self.messages)
endif
if get(g:, 'go_echo_command_info', 1)
- if exitval == 0
+ if a:exitval == 0
call go#util#EchoSuccess("SUCCESS")
else
call go#util#EchoError("FAILED")
@@ -59,7 +48,7 @@ function go#job#Spawn(args)
endif
let l:listtype = go#list#Type("quickfix")
- if exitval == 0
+ if a:exitval == 0
call go#list#Clean(l:listtype)
call go#list#Window(l:listtype)
return
@@ -99,9 +88,9 @@ function go#job#Spawn(args)
let cbs.callback = a:args.callback
endif
- " override close callback handler if user provided it
- if has_key(a:args, 'close_cb')
- let cbs.close_cb = a:args.close_cb
+ " override exit callback handler if user provided it
+ if has_key(a:args, 'exit_cb')
+ let cbs.exit_cb = a:args.exit_cb
endif
return cbs
diff --git a/sources_non_forked/vim-go/autoload/go/lint.vim b/sources_non_forked/vim-go/autoload/go/lint.vim
index 84d8ba45..cbc7b337 100644
--- a/sources_non_forked/vim-go/autoload/go/lint.vim
+++ b/sources_non_forked/vim-go/autoload/go/lint.vim
@@ -10,6 +10,10 @@ if !exists("g:go_metalinter_enabled")
let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck']
endif
+if !exists("g:go_metalinter_excludes")
+ let g:go_metalinter_excludes = []
+endif
+
if !exists("g:go_golint_bin")
let g:go_golint_bin = "golint"
endif
@@ -40,6 +44,10 @@ function! go#lint#Gometa(autosave, ...) abort
let cmd += ["--enable=".linter]
endfor
+ for exclude in g:go_metalinter_excludes
+ let cmd += ["--exclude=".exclude]
+ endfor
+
" path
let cmd += [expand('%:p:h')]
else
@@ -252,23 +260,14 @@ function s:lint_job(args)
copen
endfunction
- function! s:close_cb(chan) closure
- let l:job = ch_getjob(a:chan)
- let l:status = job_status(l:job)
-
- let exitval = 1
- if l:status == "dead"
- let l:info = job_info(l:job)
- let exitval = l:info.exitval
- endif
-
+ function! s:exit_cb(job, exitval) closure
let status = {
\ 'desc': 'last status',
\ 'type': "gometaliner",
\ 'state': "finished",
\ }
- if exitval
+ if a:exitval
let status.state = "failed"
endif
@@ -297,7 +296,7 @@ function s:lint_job(args)
let start_options = {
\ 'callback': funcref("s:callback"),
- \ 'close_cb': funcref("s:close_cb"),
+ \ 'exit_cb': funcref("s:exit_cb"),
\ }
call job_start(a:args.cmd, start_options)
diff --git a/sources_non_forked/vim-go/autoload/go/rename.vim b/sources_non_forked/vim-go/autoload/go/rename.vim
index ac2f0181..3ca47d58 100644
--- a/sources_non_forked/vim-go/autoload/go/rename.vim
+++ b/sources_non_forked/vim-go/autoload/go/rename.vim
@@ -71,28 +71,25 @@ function s:rename_job(args)
let status_dir = expand('%:p:h')
- function! s:close_cb(chan) closure
- let l:job = ch_getjob(a:chan)
- let l:info = job_info(l:job)
-
+ function! s:exit_cb(job, exitval) closure
let status = {
\ 'desc': 'last status',
\ 'type': "gorename",
\ 'state': "finished",
\ }
- if l:info.exitval
+ if a:exitval
let status.state = "failed"
endif
call go#statusline#Update(status_dir, status)
- call s:parse_errors(l:info.exitval, a:args.bang, messages)
+ call s:parse_errors(a:exitval, a:args.bang, messages)
endfunction
let start_options = {
\ 'callback': funcref("s:callback"),
- \ 'close_cb': funcref("s:close_cb"),
+ \ 'exit_cb': funcref("s:exit_cb"),
\ }
" modify GOPATH if needed
diff --git a/sources_non_forked/vim-go/doc/vim-go.txt b/sources_non_forked/vim-go/doc/vim-go.txt
index 2c3de9cc..857924d5 100644
--- a/sources_non_forked/vim-go/doc/vim-go.txt
+++ b/sources_non_forked/vim-go/doc/vim-go.txt
@@ -21,8 +21,10 @@ CONTENTS *go-contents*
5. Text Objects.................................|go-text-objects|
6. Functions....................................|go-functions|
7. Settings.....................................|go-settings|
- 8. Troubleshooting..............................|go-troubleshooting|
- 9. Credits......................................|go-credits|
+ 8. FAQ/Troubleshooting..........................|go-troubleshooting|
+ 9. Development..................................|go-development|
+ 10. Donation.....................................|go-donation|
+ 11. Credits......................................|go-credits|
==============================================================================
INTRO *go-intro*
@@ -100,7 +102,7 @@ command.
Plugin 'fatih/vim-go'
-* Vim |packages| (since Vim 7.4.1528)
+* Vim |packages|
>
git clone https://github.com/fatih/vim-go.git \
~/.vim/pack/plugins/start/vim-go
@@ -1349,6 +1351,13 @@ Specifies the currently enabled linters for the |:GoMetaLinter| command. By
default it's using `vet`, `golint` and `errcheck`.
>
let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck']
+<
+ *'g:go_metalinter_excludes'*
+
+Specifies the linters to be excluded from the |:GoMetaLinter| command. By
+default it's empty
+>
+ let g:go_metalinter_excludes = []
<
*'g:go_metalinter_command'*
@@ -1530,7 +1539,29 @@ default it's 60 seconds. Must be in milliseconds.
let g:go_statusline_duration = 60000
<
==============================================================================
-TROUBLESHOOTING *go-troubleshooting*
+DEVELOPMENT *go-development*
+
+vim-go supports test files written in VimL. Please check `autoload` folder for
+examples. If you add a new feature be sure you also include the `_test.vim`
+file next to the script. Test functions should be starting with `Test_`,
+example:
+>
+ function Test_run_fmt()
+ call assert_equal(expected, actual)
+ ...
+ endfunction
+<
+You can locally test it by running:
+>
+ make
+<
+This will run all tests and print either `PASS` or `FAIL` to indicate the final
+status of all tests. Additionally, each new pull request will trigger a new
+Travis-ci job.
+
+
+==============================================================================
+FAQ TROUBLESHOOTING *go-troubleshooting*
I get "not an editor command" error when I invoke :GoXXX~
@@ -1568,15 +1599,63 @@ If you see errors like this:
>
Error installing golang.org/x/tools/cmd/goimports
<
-that means your local Go setup is broken or the remote website is down. For
+that means your local Go setup is broken or the remote website is down. For
example sometimes code.google.com times out. To test, just execute a simple
`go get`:
-
+>
go get golang.org/x/tools/cmd/goimports
<
You'll see a more detailed error. If this works, vim-go will work too.
+How do I use vim-go with syntastic?~
+
+Sometimes when using both `vim-go` and `syntastic` Vim will start lagging
+while saving and opening files. The following fixes this:
+>
+ let g:syntastic_go_checkers = ['golint', 'govet', 'errcheck']
+ let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['go'] }
+<
+Another issue with `vim-go` and `syntastic` is that the location list window
+that contains the output of commands such as `:GoBuild` and `:GoTest` might
+not appear. To resolve this:
+>
+ let g:go_list_type = "quickfix"
+<
+
+Using with NeoVim~
+
+Note: Neovim currently is not a first class citizen for vim-go. You are free
+to open bug, however I'm not using Neovim so it's hard for me to test it.
+vim-go might not work well as good as in Vim. I'm happy to accept pull requests
+or very detailed bug reports. If you're interested to improve the state of
+Neovim in vim-go you're always welcome!
+
+Run `:GoRun` in a new tab, horizontal split or vertical split terminal
+>
+ 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
+>
+ let g:go_term_mode = "split"
+>
+
+==============================================================================
+DONATION *go-donation*
+
+People have asked for this for a long time, now you can be a fully supporter
+by being a patreon at: https://www.patreon.com/fatih
+
+By being a patron, you are enabling vim-go to grow and mature, helping me to
+invest in bug fixes, new documentation, and improving both current and future
+features. It's completely optional and is just a direct way to support Vim-go's
+ongoing development. Thanks!
+
+Check it out: https://www.patreon.com/fatih
+
+
==============================================================================
CREDITS *go-credits*
diff --git a/sources_non_forked/vim-markdown/README.markdown b/sources_non_forked/vim-markdown/README.markdown
index cd79315f..8c7c6d07 100644
--- a/sources_non_forked/vim-markdown/README.markdown
+++ b/sources_non_forked/vim-markdown/README.markdown
@@ -20,6 +20,14 @@ To disable markdown syntax concealing add the following to your vimrc:
let g:markdown_syntax_conceal = 0
+Syntax highlight is synchronized in 50 lines. It may cause collapsed
+highlighting at large fenced code block.
+In the case, please set larger value in your vimrc:
+
+ let g:markdown_minlines = 100
+
+Note that setting too large value may cause bad performance on highlighting.
+
## License
Copyright © Tim Pope. Distributed under the same terms as Vim itself.
diff --git a/sources_non_forked/vim-markdown/ftplugin/markdown.vim b/sources_non_forked/vim-markdown/ftplugin/markdown.vim
index f406db58..2fbdf66d 100644
--- a/sources_non_forked/vim-markdown/ftplugin/markdown.vim
+++ b/sources_non_forked/vim-markdown/ftplugin/markdown.vim
@@ -41,10 +41,35 @@ function! MarkdownFold()
return "="
endfunction
+function! MarkdownFoldText()
+ let hash_indent = s:HashIndent(v:foldstart)
+ let title = substitute(getline(v:foldstart), '^#\+\s*', '', '')
+ let foldsize = (v:foldend - v:foldstart + 1)
+ let linecount = '['.foldsize.' lines]'
+ return hash_indent.' '.title.' '.linecount
+endfunction
+
+function! s:HashIndent(lnum)
+ let hash_header = matchstr(getline(a:lnum), '^#\{1,6}')
+ if len(hash_header) > 0
+ " hashtag header
+ return hash_header
+ else
+ " == or -- header
+ let nextline = getline(a:lnum + 1)
+ if nextline =~ '^=\+\s*$'
+ return repeat('#', 1)
+ elseif nextline =~ '^-\+\s*$'
+ return repeat('#', 2)
+ endif
+ endif
+endfunction
+
if has("folding") && exists("g:markdown_folding")
setlocal foldexpr=MarkdownFold()
setlocal foldmethod=expr
- let b:undo_ftplugin .= " foldexpr< foldmethod<"
+ setlocal foldtext=MarkdownFoldText()
+ let b:undo_ftplugin .= " foldexpr< foldmethod< foldtext<"
endif
" vim:set sw=2:
diff --git a/sources_non_forked/vim-markdown/syntax/markdown.vim b/sources_non_forked/vim-markdown/syntax/markdown.vim
index ad925cc2..35dd1a36 100644
--- a/sources_non_forked/vim-markdown/syntax/markdown.vim
+++ b/sources_non_forked/vim-markdown/syntax/markdown.vim
@@ -33,7 +33,10 @@ endfor
unlet! s:type
unlet! s:done_include
-syn sync minlines=10
+if !exists('g:markdown_minlines')
+ let g:markdown_minlines = 50
+endif
+execute 'syn sync minlines=' . g:markdown_minlines
syn case ignore
syn match markdownValid '[<>]\c[a-z/$!]\@!'
diff --git a/sources_non_forked/vim-multiple-cursors/README.md b/sources_non_forked/vim-multiple-cursors/README.md
index 26cb6d02..9b3877ca 100644
--- a/sources_non_forked/vim-multiple-cursors/README.md
+++ b/sources_non_forked/vim-multiple-cursors/README.md
@@ -188,6 +188,9 @@ endfunction
With this locking and unlocking we prevent neocomplete to trigger it's function calls until we are finished with multiple cursors editing.
+Plugins themselves can register `User` autocommands on `MultipleCursorsPre` and
+`MultipleCursorsPost` for automatic integration.
+
### Highlight
The plugin uses the highlight group `multiple_cursors_cursor` and `multiple_cursors_visual` to highlight the virtual cursors and their visual selections respectively. You can customize them by putting something similar like the following in your vimrc:
diff --git a/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim b/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim
index 0df3e8ae..1e7a5f50 100644
--- a/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim
+++ b/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim
@@ -111,8 +111,11 @@ endfunction
" attempted to be created at the next occurrence of the visual selection
function! multiple_cursors#new(mode, word_boundary)
" Call before function if exists only once until it is canceled ()
- if exists('*Multiple_cursors_before') && !s:before_function_called
- exe "call Multiple_cursors_before()"
+ if !s:before_function_called
+ doautocmd User MultipleCursorsPre
+ if exists('*Multiple_cursors_before')
+ exe "call Multiple_cursors_before()"
+ endif
let s:before_function_called = 1
endif
let s:use_word_boundary = a:word_boundary
@@ -436,8 +439,11 @@ function! s:CursorManager.reset(restore_view, restore_setting, ...) dict
call self.restore_user_settings()
endif
" Call after function if exists and only if action is canceled ()
- if exists('*Multiple_cursors_after') && a:0 && s:before_function_called
- exe "call Multiple_cursors_after()"
+ if a:0 && s:before_function_called
+ if exists('*Multiple_cursors_after')
+ exe "call Multiple_cursors_after()"
+ endif
+ doautocmd User MultipleCursorsPost
let s:before_function_called = 0
endif
endfunction
diff --git a/sources_non_forked/vim-pug/syntax/pug.vim b/sources_non_forked/vim-pug/syntax/pug.vim
index 0fb146d8..7b0f1c37 100644
--- a/sources_non_forked/vim-pug/syntax/pug.vim
+++ b/sources_non_forked/vim-pug/syntax/pug.vim
@@ -37,7 +37,9 @@ syn match pugComment '\(\s\+\|^\)\/\/.*$' contains=pugCommentTodo,@Spell
syn region pugCommentBlock start="\z(\s\+\|^\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" contains=pugCommentTodo,@Spell keepend
syn region pugHtmlConditionalComment start="" contains=pugCommentTodo,@Spell
syn region pugAngular2 start="(" end=")" contains=htmlEvent
-syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,pugHtmlArg,pugAngular2,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent
+syn region pugJavascriptString start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contained
+syn region pugJavascriptString start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contained
+syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=pugJavascriptString,pugHtmlArg,pugAngular2,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent
syn match pugClassChar "\." containedin=htmlTagName nextgroup=pugClass
syn match pugBlockExpansionChar ":\s\+" contained nextgroup=pugTag,pugClassChar,pugIdChar
syn match pugIdChar "#[[{]\@!" contained nextgroup=pugId
@@ -99,6 +101,7 @@ hi def link pugCommentTodo Todo
hi def link pugComment Comment
hi def link pugCommentBlock Comment
hi def link pugHtmlConditionalComment pugComment
+hi def link pugJavascriptString String
let b:current_syntax = "pug"
diff --git a/sources_non_forked/vim-repeat/autoload/repeat.vim b/sources_non_forked/vim-repeat/autoload/repeat.vim
index f2caeb4a..fde6a38e 100644
--- a/sources_non_forked/vim-repeat/autoload/repeat.vim
+++ b/sources_non_forked/vim-repeat/autoload/repeat.vim
@@ -40,7 +40,7 @@
" in your mapping will look like this:
"
" nnoremap MyMap
-" \ :execute 'silent! call repeat#setreg("\Plug>MyMap", v:register)'
+" \ :silent! call repeat#setreg("\Plug>MyMap", v:register)
" \ call MyFunction(v:register, ...)
" \ silent! call repeat#set("\Plug>MyMap")
diff --git a/sources_non_forked/vim-snipmate/README.md b/sources_non_forked/vim-snipmate/README.md
index b47b56df..f025dce5 100644
--- a/sources_non_forked/vim-snipmate/README.md
+++ b/sources_non_forked/vim-snipmate/README.md
@@ -96,6 +96,20 @@ will load the `ruby-rails` scope whenever the `ruby` scope is active. The
buffer. The [vim-rails](https://github.com/tpope/vim-rails) plugin automatically
does `:SnipMateLoadScope rails` when editing a Rails project for example.
+> What are the snippet parser versions and what's the difference between them?
+
+Originally SnipMate used regex to parse a snippet. Determining where stops were,
+what the placeholders were, where mirrors were, etc. were all done with regex.
+Needless to say this was a little fragile. When the time came for a rewritten
+parser, some incompatibilities were a little necessary. Rather than break
+everyone's snippets everywhere, we provided both the new (version 1) and the old
+(version 0) and let the user choose between them.
+
+Version 0 is considered legacy and not a lot of effort is going to go into
+improving or even maintaining it. Version 1 is the future, and one can expect
+new features to only exist for version 1 users. A full list of differences can
+be found in the docs at `:h SnipMate-parser-versions`.
+
## Release Notes ##
### 0.89 - 2016-05-29 ###
diff --git a/sources_non_forked/vim-snipmate/doc/snipMate.txt b/sources_non_forked/vim-snipmate/doc/snipMate.txt
index c97205a6..d00e6b20 100644
--- a/sources_non_forked/vim-snipmate/doc/snipMate.txt
+++ b/sources_non_forked/vim-snipmate/doc/snipMate.txt
@@ -148,7 +148,8 @@ g:snipMate.snippet_version
1 Use the newer parser
If unset, SnipMate defaults to version 0. The
value of this option is also used for all
- .snippet files.
+ .snippet files. See |SnipMate-parser-versions|
+ for more information.
g:snipMate.override
As detailed below, when two snippets with the
@@ -265,14 +266,18 @@ Note: Hard tabs in the expansion text are required. When the snippet is
expanded in the text and 'expandtab' is set, each tab will be replaced with
spaces based on 'softtabstop' if nonzero or 'shiftwidth' otherwise.
-Which version parser the snippets in a file should be used with can be
-specified with a version line, e.g.: >
+
+SnipMate currently provides two versions for the snippet parser. The
+differences between them can be found at |SnipMate-parser-versions|. Which
+version parser the snippets in a file should be used with can be specified
+with a version line, e.g.: >
version 1
Specification of a version applies to the snippets following it. Multiple
version specifications can appear in a single file to intermix version 0 and
-version 1 snippets.
+version 1 snippets. The default is determined by the
+g:snipMate.snippet_version option. |SnipMate-options|
Comments can be made in .snippets files by starting a line with a # character.
However these can't be used inside of snippet definitions: >
@@ -286,7 +291,7 @@ However these can't be used inside of snippet definitions: >
This should hopefully be clear with the included syntax highlighting.
- *snipMate-extends*
+ *SnipMate-extends*
Borrowing from UltiSnips, .snippets files can also contain an extends
directive, for example: >
@@ -296,6 +301,11 @@ will tell SnipMate to also read html, javascript, and css snippets.
SNIPPET SYNTAX *snippet-syntax* *SnipMate-syntax*
+As mentioned above, there are two versions of the snippet parser. They are
+selected by the g:snipMate.snippet_version option (|SnipMate-options|) or the
+version directive in .snippets files. Differences will be mentioned throughout
+with a summary at |SnipMate-parser-versions|.
+
Anywhere in a snippet, a backslash escapes the character following it,
regardless of whether that character is special or not. That is, '\a' will
always result in an 'a' in the output. A single backslash can be output by
@@ -366,13 +376,15 @@ edited. These look like a tab stop without a placeholder; $1 for example. In
the event that no placeholder is specified for a certain tab stop--say $1--the
first instance becomes the tab stop and the rest become mirrors.
-Additionally substitutions similar to |:substitute| can be performed. For
-instance ${1/foo/bar/g} will replace all instances of "foo" in the $1 mirror
-with "bar". This uses |substitute()| behind the scenes.
+Additionally, in version 1 of the parser, substitutions similar to
+|:substitute| can be performed. For instance ${1/foo/bar/g} will replace all
+instances of "foo" in the $1 mirror with "bar". This uses |substitute()|
+behind the scenes.
Note: Just like with tab stops, braces can be used to avoid ambiguities: ${1}2
is a mirror of the first tab stop followed by a 2. Version 0 of the snippet
-parser offers no way to resolve such ambiguities.
+parser offers no way to resolve such ambiguities. Version 0 also requires that
+a tabstop have a placeholder before its mirrors work.
As an example, >
@@ -436,6 +448,39 @@ Example: >
${0:${VISUAL:}}
+<
+ *SnipMate-parser-versions*
+Parser Versions~
+
+SnipMate provides two versions for its snippet parser. Version 0 is the legacy
+regex based version and is updated sparingly. Version 1 is the revamped
+version with new features. Any newly developed features will likely only be
+available to version 1 users.
+
+Which version is used is determined by version directives in snippet files
+(|SnipMate-snippet-files|) and by the g:snipMate.snippet_version option
+(|SnipMate-options|).
+
+A complete list of current differences is as follows:
+- Backslash escaping is guaranteed to work in version 1. In certain edge cases
+ this may not work in version 0.
+- Certain syntactic errors, such as a missing closing brace for a tabstop, are
+ more gracefully handled in version 1. In most cases, the parser will either
+ discard the error or, as in the previous example, end an item at the end of
+ line. Version 0 may not be predictable in this regard.
+- Braces are not mandatory in version 1. SnipMate will determine which
+ instance of a stop ID to use based on the presence of a placeholder, or
+ whichever instance occurs first. Braces can therefore be used to
+ disambiguate between stop 12, $12, and stop 1 followed by a 2, ${1}2. In
+ other words, version 0 makes a distinction between a mirror and a stop while
+ version 1 resolves the differences for you.
+- Placeholders are not mandatory to enable mirror support in version 1.
+- Version 0 uses the confusing syntax {VISUAL} to refer to visual content.
+ Version 1 treats it as just another stop ID, so both $VISUAL and ${VISUAL}
+ work. Plus version 1 allows a default value in case no visual selection has
+ been made.
+- Transformations similar to |:substitute| can be preformed on any mirror,
+ including visual content.
==============================================================================
SNIPPET SOURCES *SnipMate-snippet-sources*
diff --git a/sources_non_forked/vim-snippets/UltiSnips/rust.snippets b/sources_non_forked/vim-snippets/UltiSnips/rust.snippets
index 482f78e4..24af1b37 100644
--- a/sources_non_forked/vim-snippets/UltiSnips/rust.snippets
+++ b/sources_non_forked/vim-snippets/UltiSnips/rust.snippets
@@ -4,25 +4,6 @@
priority -50
-snippet let "let variable declaration" b
-let ${1:name}${2:: ${3:type}} = $4;
-endsnippet
-
-snippet letm "let mut variable declaration" b
-let mut ${1:name}${2:: ${3:type}} = $4;
-endsnippet
-
-snippet fn "A function, optionally with arguments and return type."
-fn ${1:function_name}($2)${3/..*/ -> /}$3 {
- ${VISUAL}$0
-}
-endsnippet
-
-snippet pfn "A public function, optionally with arguments and return type."
-pub fn ${1:function_name}($2)${3/..*/ -> /}$3 {
- ${VISUAL}$0
-}
-endsnippet
snippet arg "Function Arguments" i
${1:a}: ${2:T}${3:, arg}
@@ -38,18 +19,6 @@ ${1:move }|$2| {
}
endsnippet
-snippet pri "print!(..)" b
-print!("$1"${2/..*/, /}$2);
-endsnippet
-
-snippet pln "println!(..)" b
-println!("$1"${2/..*/, /}$2);
-endsnippet
-
-snippet fmt "format!(..)"
-format!("$1"${2/..*/, /}$2);
-endsnippet
-
snippet macro "macro_rules!" b
macro_rules! ${1:name} {
(${2:matcher}) => (
@@ -58,49 +27,8 @@ macro_rules! ${1:name} {
}
endsnippet
-snippet mod "A module" b
-mod ${1:`!p snip.rv = snip.basename.lower() or "name"`} {
- ${VISUAL}$0
-}
-endsnippet
-
-snippet for "for .. in .." b
-for ${1:i} in $2 {
- ${VISUAL}$0
-}
-endsnippet
-
-snippet todo "A Todo comment"
-// [TODO]: ${1:Description} - `!v strftime("%Y-%m-%d %I:%M%P")`
-endsnippet
-
-snippet st "Struct" b
-struct ${1:`!p snip.rv = snip.basename.title() or "Name"`} {
- ${VISUAL}$0
-}
-endsnippet
-
-# TODO: fancy dynamic field mirroring like Python slotclass
-snippet stn "Struct with new constructor." b
-pub struct ${1:`!p snip.rv = snip.basename.title() or "Name"`} {
- fd$0
-}
-
-impl $1 {
- pub fn new($2) -> $1 {
- $1 { $3 }
- }
-}
-endsnippet
-
snippet fd "Struct field definition" w
${1:name}: ${2:Type},
endsnippet
-snippet impl "Struct/Trait implementation" b
-impl ${1:Type/Trait}${2: for ${3:Type}} {
- $0
-}
-endsnippet
-
# vim:ft=snippets:
diff --git a/sources_non_forked/vim-snippets/UltiSnips/tex.snippets b/sources_non_forked/vim-snippets/UltiSnips/tex.snippets
index 9957b3f7..5a67abbc 100644
--- a/sources_non_forked/vim-snippets/UltiSnips/tex.snippets
+++ b/sources_non_forked/vim-snippets/UltiSnips/tex.snippets
@@ -78,6 +78,14 @@ snippet sec "Section" b
$0
endsnippet
+snippet sec* "Section" b
+\section*{${1:section name}}
+\label{sec:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
+
+${0}
+endsnippet
+
+
snippet sub "Subsection" b
\subsection{${1:subsection name}}
\label{sub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
@@ -85,6 +93,13 @@ snippet sub "Subsection" b
$0
endsnippet
+snippet sub* "Subsection" b
+\subsection*{${1:subsection name}}
+\label{sub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
+
+${0}
+endsnippet
+
snippet ssub "Subsubsection" b
\subsubsection{${1:subsubsection name}}
\label{ssub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
@@ -92,6 +107,13 @@ snippet ssub "Subsubsection" b
$0
endsnippet
+snippet ssub* "Subsubsection" b
+\subsubsection*{${1:subsubsection name}}
+\label{ssub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
+
+${0}
+endsnippet
+
snippet par "Paragraph" b
\paragraph{${1:paragraph name}}
\label{par:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
@@ -112,7 +134,7 @@ $0
endsnippet
snippet pac "Package" b
-\usepackage[${1:options}]{${2:package}}$0
+\usepackage`!p snip.rv='[' if t[1] else ""`${1:options}`!p snip.rv = ']' if t[1] else ""`{${2:package}}$0
endsnippet
snippet lp "Long parenthesis"
diff --git a/sources_non_forked/vim-snippets/snippets/cs.snippets b/sources_non_forked/vim-snippets/snippets/cs.snippets
index decf79af..110c85f4 100644
--- a/sources_non_forked/vim-snippets/snippets/cs.snippets
+++ b/sources_non_forked/vim-snippets/snippets/cs.snippets
@@ -58,28 +58,34 @@
#
# Main
snippet sim
- ${1:public }static int Main(string[] args) {
+ ${1:public} static int Main(string[] args)
+ {
${0}
return 0;
}
snippet simc
- public class Application {
- ${1:public }static int Main(string[] args) {
+ public class Application
+ {
+ ${1:public} static int Main(string[] args)
+ {
${0}
return 0;
}
}
snippet svm
- ${1:public }static void Main(string[] args) {
+ ${1:public} static void Main(string[] args)
+ {
${0}
}
# if condition
snippet if
- if (${1:true}) {
+ if (${1:true})
+ {
${0:${VISUAL}}
}
snippet el
- else {
+ else
+ {
${0:${VISUAL}}
}
snippet ifs
@@ -92,81 +98,99 @@ snippet ?
${1} ? ${2} : ${0}
# do while loop
snippet do
- do {
+ do
+ {
${0:${VISUAL}}
} while (${1:true});
# while loop
snippet wh
- while (${1:true}) {
+ while (${1:true})
+ {
${0:${VISUAL}}
}
# for loop
snippet for
- for (int ${1:i} = 0; $1 < ${2:count}; $1${3:++}) {
+ for (int ${1:i} = 0; $1 < ${2:count}; $1${3:++})
+ {
${0}
}
snippet forr
- for (int ${1:i} = ${2:length}; $1 >= 0; $1--) {
+ for (int ${1:i} = ${2:length}; $1 >= 0; $1--)
+ {
${0}
}
# foreach
snippet fore
- foreach (${1:var} ${2:entry} in ${3}) {
+ foreach (${1:var} ${2:entry} in ${3})
+ {
${0}
}
snippet foreach
- foreach (${1:var} ${2:entry} in ${3}) {
+ foreach (${1:var} ${2:entry} in ${3})
+ {
${0}
}
snippet each
- foreach (${1:var} ${2:entry} in ${3}) {
+ foreach (${1:var} ${2:entry} in ${3})
+ {
${0}
}
# interfaces
snippet interface
- public interface ${1:`vim_snippets#Filename()`} {
+ public interface ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet if+
- public interface ${1:`vim_snippets#Filename()`} {
+ public interface ${1:`vim_snippets#Filename()`}
+ {
${0}
}
# class bodies
snippet class
- public class ${1:`vim_snippets#Filename()`} {
+ public class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls
- ${2:public} class ${1:`vim_snippets#Filename()`} {
+ ${2:public} class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls+
- public class ${1:`vim_snippets#Filename()`} {
+ public class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls+^
- public static class ${1:`vim_snippets#Filename()`} {
+ public static class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls&
- internal class ${1:`vim_snippets#Filename()`} {
+ internal class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls&^
- internal static class ${1:`vim_snippets#Filename()`} {
+ internal static class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls|
- protected class ${1:`vim_snippets#Filename()`} {
+ protected class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
snippet cls|%
- protected abstract class ${1:`vim_snippets#Filename()`} {
+ protected abstract class ${1:`vim_snippets#Filename()`}
+ {
${0}
}
# constructor
snippet ctor
- public ${1:`vim_snippets#Filename()`}() {
+ public ${1:`vim_snippets#Filename()`}()
+ {
${0}
}
# properties - auto properties by default.
@@ -266,101 +290,124 @@ snippet ps-
private string ${1} { get; set; }
# members - void
snippet m
- ${1:public} ${2:void} ${3}(${4}) {
+ ${1:public} ${2:void} ${3}(${4})
+ {
${0}
}
snippet m+
- public ${1:void} ${2}(${3}) {
+ public ${1:void} ${2}(${3})
+ {
${0}
}
snippet m&
- internal ${1:void} ${2}(${3}) {
+ internal ${1:void} ${2}(${3})
+ {
${0}
}
snippet m|
- protected ${1:void} ${2}(${3}) {
+ protected ${1:void} ${2}(${3})
+ {
${0}
}
snippet m-
- private ${1:void} ${2}(${3}) {
+ private ${1:void} ${2}(${3})
+ {
${0}
}
# members - int
snippet mi
- ${1:public} int ${2}(${3}) {
+ ${1:public} int ${2}(${3})
+ {
${0:return 0;}
}
snippet mi+
- public int ${1}(${2}) {
+ public int ${1}(${2})
+ {
${0:return 0;}
}
snippet mi&
- internal int ${1}(${2}) {
+ internal int ${1}(${2})
+ {
${0:return 0;}
}
snippet mi|
- protected int ${1}(${2}) {
+ protected int ${1}(${2})
+ {
${0:return 0;}
}
snippet mi-
- private int ${1}(${2}) {
+ private int ${1}(${2})
+ {
${0:return 0;}
}
# members - bool
snippet mb
- ${1:public} bool ${2}(${3}) {
+ ${1:public} bool ${2}(${3})
+ {
${0:return false;}
}
snippet mb+
- public bool ${1}(${2}) {
+ public bool ${1}(${2})
+ {
${0:return false;}
}
snippet mb&
- internal bool ${1}(${2}) {
+ internal bool ${1}(${2})
+ {
${0:return false;}
}
snippet mb|
- protected bool ${1}(${2}) {
+ protected bool ${1}(${2})
+ {
${0:return false;}
}
snippet mb-
- private bool ${1}(${2}) {
+ private bool ${1}(${2})
+ {
${0:return false;}
}
# members - string
snippet ms
- ${1:public} string ${2}(${3}) {
+ ${1:public} string ${2}(${3})
+ {
${0:return "";}
}
snippet ms+
- public string ${1}(${2}) {
+ public string ${1}(${2})
+ {
${0:return "";}
}
snippet ms&
- internal string ${1}(${2}) {
+ internal string ${1}(${2})
+ {
${0:return "";}
}
snippet ms|
- protected string ${1:}(${2:}) {
+ protected string ${1:}(${2:})
+ {
${0:return "";}
}
snippet ms-
- private string ${1}(${2}) {
+ private string ${1}(${2})
+ {
${0:return "";}
}
# structure
snippet struct
- public struct ${1:`vim_snippets#Filename()`} {
+ public struct ${1:`vim_snippets#Filename()`}
+ {
${0}
}
# enumeration
snippet enum
- enum ${1} {
+ enum ${1}
+ {
${0}
}
snippet enum+
- public enum ${1} {
+ public enum ${1}
+ {
${0}
}
# preprocessor directives
@@ -391,8 +438,10 @@ snippet cw
# equals override
snippet eq
- public override bool Equals(object obj) {
- if (obj == null || GetType() != obj.GetType()) {
+ public override bool Equals(object obj)
+ {
+ if (obj == null || GetType() != obj.GetType())
+ {
return false;
}
${0:throw new NotImplementedException();}
@@ -400,7 +449,8 @@ snippet eq
}
# exception
snippet exc
- public class ${1:MyException} : ${2:Exception} {
+ public class ${1:MyException} : ${2:Exception}
+ {
public $1() { }
public $1(string message) : base(message) { }
public $1(string message, Exception inner) : base(message, inner) { }
@@ -411,24 +461,28 @@ snippet exc
}
# indexer
snippet index
- public ${1:object} this[${2:int} index] {
+ public ${1:object} this[${2:int} index]
+ {
get { ${0} }
set { ${0} }
}
# eventhandler
snippet inv
EventHandler temp = ${1:MyEvent};
- if (${2:temp} != null) {
+ if (${2:temp} != null)
+ {
$2();
}
# lock
snippet lock
- lock (${1:this}) {
+ lock (${1:this})
+ {
${0}
}
# namespace
snippet namespace
- namespace ${1:MyNamespace} {
+ namespace ${1:MyNamespace}
+ {
${0}
}
# property
@@ -436,35 +490,42 @@ snippet prop
public ${1:int} ${2:MyProperty} { get; set; }
snippet propf
private ${1:int} ${2:myVar};
- public $1 ${3:MyProperty} {
- get { return $2; }
- set { $2 = value; }
- }
+ public $1 ${3:MyProperty}
+ {
+ get { return $2; }
+ set { $2 = value; }
+ }
snippet propg
public ${1:int} ${2:MyProperty} { get; private set; }
# switch
snippet switch
- switch (${1:switch_on}) {
+ switch (${1:switch_on})
+ {
${0}
default:
}
# try
snippet try
- try {
- ${0:${VISUAL}}
- }
- catch (${1:System.Exception}) {
- throw;
- }
-snippet tryf
- try {
+ try
+ {
${0:${VISUAL}}
}
- finally {
+ catch (${1:System.Exception})
+ {
+ throw;
+ }
+snippet tryf
+ try
+ {
+ ${0:${VISUAL}}
+ }
+ finally
+ {
${1}
}
# using
snippet usi
- using(${1:resource}) {
+ using (${1:resource})
+ {
${0}
}
diff --git a/sources_non_forked/vim-snippets/snippets/elixir.snippets b/sources_non_forked/vim-snippets/snippets/elixir.snippets
index ccc5fb73..963470e9 100644
--- a/sources_non_forked/vim-snippets/snippets/elixir.snippets
+++ b/sources_non_forked/vim-snippets/snippets/elixir.snippets
@@ -2,6 +2,12 @@ snippet do
do
${0:${VISUAL}}
end
+snippet put IO.puts
+ IO.puts "${0}"
+snippet ins IO.inspect
+ IO.inspect ${0}
+snippet insl IO.inspect with label
+ IO.inspect(${0}label: "${1:label}")
snippet if if .. do .. end
if ${1} do
${0:${VISUAL}}
@@ -44,14 +50,14 @@ snippet for
for ${1:item} <- ${2:items} do
${0}
end
+snippet for:
+ for ${1:item} <- ${2:items}, do: ${0}
snippet fori
for ${1:item} <- ${2:items}, into: ${3} do
${0}
end
snippet wi
- with(
- ${1:item} <- ${2:items}
- ) do
+ with ${1:item} <- ${2:items} do
${0}
end
snippet wie
@@ -63,6 +69,16 @@ snippet wie
${4} ->
${0}
end
+snippet sp
+ @spec ${1:name}(${2:args}) :: ${3:returns}
+snippet op
+ @opaque ${1:type_name} :: ${2:type}
+snippet ty
+ @type ${1:type_name} :: ${2:type}
+snippet typ
+ @typep ${1:type_name} :: ${2:type}
+snippet cb
+ @callback ${1:name}(${2:args}) :: ${3:returns}
snippet df
def ${1:name}, do: ${2}
snippet def
@@ -157,3 +173,15 @@ snippet qu
snippet beh
@behaviour ${1:Mix.Task}
${0}
+snippet >e pipe to each
+ |> Enum.each(fn ${1} -> ${0} end)
+snippet >m pipe to map
+ |> Enum.map(fn ${1} -> ${0} end)
+snippet >f pipe to filter
+ |> Enum.filter(fn ${1} -> ${0} end)
+snippet >r pipe to reduce
+ |> Enum.reduce(${1:acc}, fn ${2}, ${3:acc} -> ${0} end)
+snippet >i pipe to inspect
+ |> IO.inspect
+snippet >il pipe to inspect with label
+ |> IO.inspect(label: "${1:label}")
diff --git a/sources_non_forked/vim-snippets/snippets/elm.snippets b/sources_non_forked/vim-snippets/snippets/elm.snippets
index 7898d5f3..7a4e3ef5 100644
--- a/sources_non_forked/vim-snippets/snippets/elm.snippets
+++ b/sources_non_forked/vim-snippets/snippets/elm.snippets
@@ -34,7 +34,8 @@ snippet -
${0}
snippet let
let
- ${1} = ${2}
+ ${1} =
+ ${2}
in
${0}
snippet if
diff --git a/sources_non_forked/vim-snippets/snippets/fortran.snippets b/sources_non_forked/vim-snippets/snippets/fortran.snippets
index e61d3fb5..e04d4fda 100644
--- a/sources_non_forked/vim-snippets/snippets/fortran.snippets
+++ b/sources_non_forked/vim-snippets/snippets/fortran.snippets
@@ -91,6 +91,8 @@ snippet func
end function $1
snippet pr
write(*,*) $0
+snippet dpr
+ write(*,*) '$1 = ', $1
snippet read
read(unit = ${1:fp}, file = ${2:filename}, iostat = ${3:ierr}) $0
snippet write
diff --git a/sources_non_forked/vim-snippets/snippets/idris.snippets b/sources_non_forked/vim-snippets/snippets/idris.snippets
new file mode 100644
index 00000000..abbedb62
--- /dev/null
+++ b/sources_non_forked/vim-snippets/snippets/idris.snippets
@@ -0,0 +1,46 @@
+snippet mod
+ module `substitute(substitute(expand('%:r'), '[/\\]','.','g'),'^\%(\l*\.\)\?','','')`
+ ${0}
+snippet imp
+ import ${0:List}
+snippet fn
+ ${1:fn} : ${2:a} -> ${3:a}
+ $1 ${4} =
+ ${0}
+snippet fn1
+ ${1:fn} : ${2:a} -> ${3:a}
+ $1 ${4} =
+ ${0}
+snippet fn2
+ ${1:fn} : ${2:a} -> ${3:a} -> ${4:a}
+ $1 ${5} =
+ ${0}
+snippet fn3
+ ${1:fn} : ${2:a} -> ${3:a} -> ${4:a} -> ${5:a}
+ $1 ${6} =
+ ${0}
+snippet fn0
+ ${1:fn} : ${2:a}
+ $1 =
+ ${0}
+snippet case
+ case ${1} of
+ ${2} =>
+ ${0}
+snippet let
+ let
+ ${1} =
+ ${2}
+ in
+ ${0}
+snippet wh
+ where
+ ${0}
+snippet if
+ if ${1} then
+ ${2:${VISUAL}}
+ else
+ ${0}
+ ${0}
+snippet \ "Lambda function (\x => ...)"
+ (\\${1:_} => ${0})
diff --git a/sources_non_forked/vim-snippets/snippets/purescript.snippets b/sources_non_forked/vim-snippets/snippets/purescript.snippets
index 06d6b34a..cdbcbd2c 100644
--- a/sources_non_forked/vim-snippets/snippets/purescript.snippets
+++ b/sources_non_forked/vim-snippets/snippets/purescript.snippets
@@ -3,9 +3,9 @@ snippet mod
(
) where
- import Prelude
+ import Prelude
- ${0}
+ ${0}
snippet imp
import ${0:Data.List}
snippet impq
@@ -50,3 +50,8 @@ snippet testunit
Assert.equal
"Hello, world!"
"Hello, sailor!"
+snippet if
+ if ${1} then
+ ${2:${VISUAL}}
+ else
+ ${0}
diff --git a/sources_non_forked/vim-snippets/snippets/python.snippets b/sources_non_forked/vim-snippets/snippets/python.snippets
index b32ef0a8..faa716eb 100644
--- a/sources_non_forked/vim-snippets/snippets/python.snippets
+++ b/sources_non_forked/vim-snippets/snippets/python.snippets
@@ -150,6 +150,10 @@ snippet pdbbb
snippet rpdb
import rpdb
rpdb.set_trace()
+# web python debugger (wdb)
+snippet wdb
+ import wdb
+ wdb.set_trace()
# ptpython
snippet ptpython
from ptpython.repl import embed
diff --git a/sources_non_forked/vim-snippets/snippets/ruby.snippets b/sources_non_forked/vim-snippets/snippets/ruby.snippets
index 340391eb..3f909a0c 100644
--- a/sources_non_forked/vim-snippets/snippets/ruby.snippets
+++ b/sources_non_forked/vim-snippets/snippets/ruby.snippets
@@ -703,9 +703,9 @@ snippet is
snippet isn
it { should_not ${0} }
snippet iexp
- it { expect(${1:object}).${1} ${0} }
+ it { expect(${1:object}).${2} ${0} }
snippet iexpb
- it { expect { ${1:object} }.${1} ${0} }
+ it { expect { ${1:object} }.${2} ${0} }
snippet iiexp
it { is_expected.to ${0} }
snippet iiexpn
diff --git a/sources_non_forked/vim-snippets/snippets/rust.snippets b/sources_non_forked/vim-snippets/snippets/rust.snippets
index 25effe6e..51f10055 100644
--- a/sources_non_forked/vim-snippets/snippets/rust.snippets
+++ b/sources_non_forked/vim-snippets/snippets/rust.snippets
@@ -39,10 +39,17 @@ 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 pri "print!"
+ print!("${1}");
+snippet pri, "print! with format param"
+ print!("${1}", ${2});
snippet pln "println!"
println!("${1}");
snippet pln, "println! with format param"
println!("${1}", ${2});
+snippet fmt "format!"
+ format!("${1}", ${2});
+
# Modules
snippet ec "extern crate"
extern crate ${1:sync};
diff --git a/sources_non_forked/vim-snippets/snippets/tex.snippets b/sources_non_forked/vim-snippets/snippets/tex.snippets
index c095b5a4..2808cf71 100644
--- a/sources_non_forked/vim-snippets/snippets/tex.snippets
+++ b/sources_non_forked/vim-snippets/snippets/tex.snippets
@@ -149,12 +149,12 @@ snippet sub* \subsection*
\\label{sub:${2:$1}}
${0}
# Sub Sub Section
-snippet subs \subsubsection
+snippet ssub \subsubsection
\\subsubsection{${1:subsubsection name}}
\\label{ssub:${2:$1}}
${0}
# Sub Sub Section without number
-snippet subs* \subsubsection*
+snippet ssub* \subsubsection*
\\subsubsection*{${1:subsubsection name}}
\\label{ssub:${2:$1}}
${0}