From 44dca49794b3cc3c1ee8d331ee0a56a68a063263 Mon Sep 17 00:00:00 2001 From: Amir Salihefendic Date: Sun, 30 Sep 2018 17:58:57 -0300 Subject: [PATCH] Updated the plugins --- sources_non_forked/ale/ale_linters/c/ccls.vim | 14 + .../ale/ale_linters/cpp/ccls.vim | 14 + .../ale/ale_linters/haskell/ghc-mod.vim | 18 -- .../ale/ale_linters/haskell/ghc_mod.vim | 19 ++ .../ale/ale_linters/haskell/hdevtools.vim | 5 +- .../ale/ale_linters/haskell/hie.vim | 15 +- .../ale/ale_linters/haskell/hlint.vim | 16 +- .../ale/ale_linters/objc/ccls.vim | 14 + .../ale/ale_linters/php/psalm.vim | 28 ++ .../ale/ale_linters/scss/stylelint.vim | 8 +- .../ale/autoload/ale/fixers/brittany.vim | 10 +- .../autoload/ale/fixers/generic_python.vim | 17 +- .../ale/autoload/ale/fixers/hfmt.vim | 2 +- .../ale/autoload/ale/fixers/hlint.vim | 5 +- .../autoload/ale/fixers/stylish_haskell.vim | 10 +- .../ale/autoload/ale/handlers/ccls.vim | 17 ++ .../autoload/ale/handlers/haskell_stack.vim | 7 + .../ale/autoload/ale/handlers/hlint.vim | 8 + sources_non_forked/ale/doc/ale-c.txt | 31 +++ sources_non_forked/ale/doc/ale-cpp.txt | 31 +++ sources_non_forked/ale/doc/ale-haskell.txt | 19 ++ sources_non_forked/ale/doc/ale-objc.txt | 31 +++ sources_non_forked/ale/doc/ale-php.txt | 10 + sources_non_forked/ale/doc/ale-scss.txt | 6 + sources_non_forked/ale/doc/ale.txt | 23 +- sources_non_forked/vim-go/plugin/go.vim | 55 ++-- .../vim-snippets/snippets/go.snippets | 243 +++++++++--------- 27 files changed, 491 insertions(+), 185 deletions(-) create mode 100644 sources_non_forked/ale/ale_linters/c/ccls.vim create mode 100644 sources_non_forked/ale/ale_linters/cpp/ccls.vim delete mode 100644 sources_non_forked/ale/ale_linters/haskell/ghc-mod.vim create mode 100644 sources_non_forked/ale/ale_linters/haskell/ghc_mod.vim create mode 100644 sources_non_forked/ale/ale_linters/objc/ccls.vim create mode 100644 sources_non_forked/ale/ale_linters/php/psalm.vim create mode 100644 sources_non_forked/ale/autoload/ale/handlers/ccls.vim create mode 100644 sources_non_forked/ale/autoload/ale/handlers/haskell_stack.vim create mode 100644 sources_non_forked/ale/autoload/ale/handlers/hlint.vim diff --git a/sources_non_forked/ale/ale_linters/c/ccls.vim b/sources_non_forked/ale/ale_linters/c/ccls.vim new file mode 100644 index 00000000..5dc2339f --- /dev/null +++ b/sources_non_forked/ale/ale_linters/c/ccls.vim @@ -0,0 +1,14 @@ +" Author: Ye Jingchen , Ben Falconer , jtalowell +" Description: A language server for C + +call ale#Set('c_ccls_executable', 'ccls') +call ale#Set('c_ccls_init_options', {}) + +call ale#linter#Define('c', { +\ 'name': 'ccls', +\ 'lsp': 'stdio', +\ 'executable_callback': ale#VarFunc('c_ccls_executable'), +\ 'command': '%e', +\ 'project_root_callback': 'ale#handlers#ccls#GetProjectRoot', +\ 'initialization_options_callback':ale#VarFunc('c_ccls_init_options'), +\}) diff --git a/sources_non_forked/ale/ale_linters/cpp/ccls.vim b/sources_non_forked/ale/ale_linters/cpp/ccls.vim new file mode 100644 index 00000000..501fd685 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/cpp/ccls.vim @@ -0,0 +1,14 @@ +" Author: Ye Jingchen , Ben Falconer , jtalowell +" Description: A language server for C++ + +call ale#Set('cpp_ccls_executable', 'ccls') +call ale#Set('cpp_ccls_init_options', {}) + +call ale#linter#Define('cpp', { +\ 'name': 'ccls', +\ 'lsp': 'stdio', +\ 'executable_callback': ale#VarFunc('cpp_ccls_executable'), +\ 'command': '%e', +\ 'project_root_callback': 'ale#handlers#ccls#GetProjectRoot', +\ 'initialization_options_callback': ale#VarFunc('cpp_ccls_init_options'), +\}) diff --git a/sources_non_forked/ale/ale_linters/haskell/ghc-mod.vim b/sources_non_forked/ale/ale_linters/haskell/ghc-mod.vim deleted file mode 100644 index eb032f50..00000000 --- a/sources_non_forked/ale/ale_linters/haskell/ghc-mod.vim +++ /dev/null @@ -1,18 +0,0 @@ -" Author: wizzup -" Description: ghc-mod for Haskell files - -call ale#linter#Define('haskell', { -\ 'name': 'ghc_mod', -\ 'aliases': ['ghc-mod'], -\ 'executable': 'ghc-mod', -\ 'command': 'ghc-mod --map-file %s=%t check %s', -\ 'callback': 'ale#handlers#haskell#HandleGHCFormat', -\}) - -call ale#linter#Define('haskell', { -\ 'name': 'stack_ghc_mod', -\ 'aliases': ['stack-ghc-mod'], -\ 'executable': 'stack', -\ 'command': 'stack exec ghc-mod -- --map-file %s=%t check %s', -\ 'callback': 'ale#handlers#haskell#HandleGHCFormat', -\}) diff --git a/sources_non_forked/ale/ale_linters/haskell/ghc_mod.vim b/sources_non_forked/ale/ale_linters/haskell/ghc_mod.vim new file mode 100644 index 00000000..9762be7a --- /dev/null +++ b/sources_non_forked/ale/ale_linters/haskell/ghc_mod.vim @@ -0,0 +1,19 @@ +" Author: wizzup +" Description: ghc-mod for Haskell files + +call ale#Set('haskell_ghc_mod_executable', 'ghc-mod') + +function! ale_linters#haskell#ghc_mod#GetCommand (buffer) abort + let l:executable = ale#Var(a:buffer, 'haskell_ghc_mod_executable') + + return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'ghc-mod') + \ . ' --map-file %s=%t check %s' +endfunction + +call ale#linter#Define('haskell', { +\ 'name': 'ghc_mod', +\ 'aliases': ['ghc-mod'], +\ 'executable_callback': ale#VarFunc('haskell_ghc_mod_executable'), +\ 'command_callback': 'ale_linters#haskell#ghc_mod#GetCommand', +\ 'callback': 'ale#handlers#haskell#HandleGHCFormat', +\}) diff --git a/sources_non_forked/ale/ale_linters/haskell/hdevtools.vim b/sources_non_forked/ale/ale_linters/haskell/hdevtools.vim index fbd5278e..cc5ce56f 100644 --- a/sources_non_forked/ale/ale_linters/haskell/hdevtools.vim +++ b/sources_non_forked/ale/ale_linters/haskell/hdevtools.vim @@ -5,7 +5,10 @@ call ale#Set('haskell_hdevtools_executable', 'hdevtools') call ale#Set('haskell_hdevtools_options', get(g:, 'hdevtools_options', '-g -Wall')) function! ale_linters#haskell#hdevtools#GetCommand(buffer) abort - return '%e check' . ale#Pad(ale#Var(a:buffer, 'haskell_hdevtools_options')) + let l:executable = ale#Var(a:buffer, 'haskell_hdevtools_executable') + + return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hdevtools') + \ . ' check' . ale#Pad(ale#Var(a:buffer, 'haskell_hdevtools_options')) \ . ' -p %s %t' endfunction diff --git a/sources_non_forked/ale/ale_linters/haskell/hie.vim b/sources_non_forked/ale/ale_linters/haskell/hie.vim index 558d36a3..3ff1180a 100644 --- a/sources_non_forked/ale/ale_linters/haskell/hie.vim +++ b/sources_non_forked/ale/ale_linters/haskell/hie.vim @@ -3,10 +3,6 @@ call ale#Set('haskell_hie_executable', 'hie') -function! ale_linters#haskell#hie#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'haskell_hie_executable') -endfunction - function! ale_linters#haskell#hie#GetProjectRoot(buffer) abort " Search for the stack file first let l:project_file = ale#path#FindNearestFile(a:buffer, 'stack.yaml') @@ -35,10 +31,17 @@ function! ale_linters#haskell#hie#GetProjectRoot(buffer) abort return l:project_file endfunction +function! ale_linters#haskell#hie#GetCommand(buffer) abort + let l:executable = ale#Var(a:buffer, 'haskell_hie_executable') + + return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hie') +\ . ' --lsp' +endfunction + call ale#linter#Define('haskell', { \ 'name': 'hie', \ 'lsp': 'stdio', -\ 'command': '%e --lsp', -\ 'executable_callback': 'ale_linters#haskell#hie#GetExecutable', +\ 'command_callback': 'ale_linters#haskell#hie#GetCommand', +\ 'executable_callback': ale#VarFunc('haskell_hie_executable'), \ 'project_root_callback': 'ale_linters#haskell#hie#GetProjectRoot', \}) diff --git a/sources_non_forked/ale/ale_linters/haskell/hlint.vim b/sources_non_forked/ale/ale_linters/haskell/hlint.vim index be40d92c..0cc7437f 100644 --- a/sources_non_forked/ale/ale_linters/haskell/hlint.vim +++ b/sources_non_forked/ale/ale_linters/haskell/hlint.vim @@ -1,6 +1,9 @@ " Author: jparoz " Description: hlint for Haskell files +call ale#Set('haskell_hlint_executable', 'hlint') +call ale#Set('haskell_hlint_options', get(g:, 'hlint_options', '')) + function! ale_linters#haskell#hlint#Handle(buffer, lines) abort let l:output = [] @@ -26,9 +29,18 @@ function! ale_linters#haskell#hlint#Handle(buffer, lines) abort return l:output endfunction +function! ale_linters#haskell#hlint#GetCommand(buffer) abort + let l:hlintopts = '--color=never --json' + + return ale#handlers#hlint#GetExecutable(a:buffer) + \ . ' ' . ale#Var(a:buffer, 'haskell_hlint_options') + \ . ' ' . l:hlintopts + \ . ' -' +endfunction + call ale#linter#Define('haskell', { \ 'name': 'hlint', -\ 'executable': 'hlint', -\ 'command': 'hlint --color=never --json -', +\ 'executable_callback': ale#VarFunc('haskell_hlint_executable'), +\ 'command_callback': 'ale_linters#haskell#hlint#GetCommand' , \ 'callback': 'ale_linters#haskell#hlint#Handle', \}) diff --git a/sources_non_forked/ale/ale_linters/objc/ccls.vim b/sources_non_forked/ale/ale_linters/objc/ccls.vim new file mode 100644 index 00000000..0aa6a5e5 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/objc/ccls.vim @@ -0,0 +1,14 @@ +" Author: Ye Jingchen , Ben Falconer , jtalowell +" Description: A language server for Objective-C + +call ale#Set('objc_ccls_executable', 'ccls') +call ale#Set('objc_ccls_init_options', {}) + +call ale#linter#Define('objc', { +\ 'name': 'ccls', +\ 'lsp': 'stdio', +\ 'executable_callback': ale#VarFunc('objc_ccls_executable'), +\ 'command': '%e', +\ 'project_root_callback': 'ale#handlers#ccls#GetProjectRoot', +\ 'initialization_options_callback': ale#VarFunc('objc_ccls_init_options'), +\}) diff --git a/sources_non_forked/ale/ale_linters/php/psalm.vim b/sources_non_forked/ale/ale_linters/php/psalm.vim new file mode 100644 index 00000000..cd20ab81 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/php/psalm.vim @@ -0,0 +1,28 @@ +" Author: richard marmorstein +" Description: plugin for Psalm, static analyzer for PHP + +call ale#Set('php_psalm_executable', 'psalm') + +function! ale_linters#php#psalm#Handle(buffer, lines) abort + " Matches patterns like the following: + let l:pattern = '^.*:\(\d\+\):\(\d\+\):\(\w\+\) - \(.*\)$' + let l:output = [] + + for l:match in ale#util#GetMatches(a:lines, l:pattern) + call add(l:output, { + \ 'lnum': l:match[1] + 0, + \ 'text': l:match[4], + \ 'type': l:match[3][:0] is# 'e' ? 'E' : 'W', + \}) + endfor + + return l:output +endfunction + +call ale#linter#Define('php', { +\ 'name': 'psalm', +\ 'command': '%e --diff --output-format=emacs %s', +\ 'executable_callback': ale#VarFunc('php_psalm_executable'), +\ 'callback': 'ale_linters#php#psalm#Handle', +\ 'lint_file': 1, +\}) diff --git a/sources_non_forked/ale/ale_linters/scss/stylelint.vim b/sources_non_forked/ale/ale_linters/scss/stylelint.vim index 6d183b4a..2bffa8e1 100644 --- a/sources_non_forked/ale/ale_linters/scss/stylelint.vim +++ b/sources_non_forked/ale/ale_linters/scss/stylelint.vim @@ -1,13 +1,19 @@ " Author: diartyz call ale#Set('scss_stylelint_executable', 'stylelint') +call ale#Set('scss_stylelint_options', '') call ale#Set('scss_stylelint_use_global', get(g:, 'ale_use_global_executables', 0)) +function! ale_linters#scss#stylelint#GetCommand(buffer) abort + return '%e ' . ale#Pad(ale#Var(a:buffer, 'scss_stylelint_options')) + \ . ' --stdin-filename %s' +endfunction + call ale#linter#Define('scss', { \ 'name': 'stylelint', \ 'executable_callback': ale#node#FindExecutableFunc('scss_stylelint', [ \ 'node_modules/.bin/stylelint', \ ]), -\ 'command': '%e --stdin-filename %s', +\ 'command_callback': 'ale_linters#scss#stylelint#GetCommand', \ 'callback': 'ale#handlers#css#HandleStyleLintFormat', \}) diff --git a/sources_non_forked/ale/autoload/ale/fixers/brittany.vim b/sources_non_forked/ale/autoload/ale/fixers/brittany.vim index 57c77325..c2448348 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/brittany.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/brittany.vim @@ -3,11 +3,17 @@ call ale#Set('haskell_brittany_executable', 'brittany') -function! ale#fixers#brittany#Fix(buffer) abort +function! ale#fixers#brittany#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_brittany_executable') + return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'brittany') +endfunction + +function! ale#fixers#brittany#Fix(buffer) abort + let l:executable = ale#fixers#brittany#GetExecutable(a:buffer) + return { - \ 'command': ale#Escape(l:executable) + \ 'command': l:executable \ . ' --write-mode inplace' \ . ' %t', \ 'read_temporary_file': 1, diff --git a/sources_non_forked/ale/autoload/ale/fixers/generic_python.vim b/sources_non_forked/ale/autoload/ale/fixers/generic_python.vim index 124146be..d55a23c3 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/generic_python.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/generic_python.vim @@ -6,13 +6,28 @@ function! ale#fixers#generic_python#AddLinesBeforeControlStatements(buffer, line let l:new_lines = [] let l:last_indent_size = 0 let l:last_line_is_blank = 0 + let l:in_docstring = 0 for l:line in a:lines let l:indent_size = len(matchstr(l:line, '^ *')) + if !l:in_docstring + " Make sure it is not just a single line docstring and then verify + " it's starting a new docstring + if match(l:line, '\v^ *("""|'''''').*("""|'''''')') == -1 + \&& match(l:line, '\v^ *("""|'''''')') >= 0 + let l:in_docstring = 1 + endif + else + if match(l:line, '\v^ *.*("""|'''''')') >= 0 + let l:in_docstring = 0 + endif + endif + if !l:last_line_is_blank + \&& !l:in_docstring \&& l:indent_size <= l:last_indent_size - \&& match(l:line, '\v^ *(return|if|for|while|break|continue)') >= 0 + \&& match(l:line, '\v^ *(return|if|for|while|break|continue)(\(| |$)') >= 0 call add(l:new_lines, '') endif diff --git a/sources_non_forked/ale/autoload/ale/fixers/hfmt.vim b/sources_non_forked/ale/autoload/ale/fixers/hfmt.vim index ea061da4..0407b713 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/hfmt.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/hfmt.vim @@ -7,7 +7,7 @@ function! ale#fixers#hfmt#Fix(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_hfmt_executable') return { - \ 'command': ale#Escape(l:executable) + \ 'command': ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hfmt') \ . ' -w' \ . ' %t', \ 'read_temporary_file': 1, diff --git a/sources_non_forked/ale/autoload/ale/fixers/hlint.vim b/sources_non_forked/ale/autoload/ale/fixers/hlint.vim index 94dd736e..88779a55 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/hlint.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/hlint.vim @@ -1,13 +1,10 @@ " Author: eborden " Description: Integration of hlint refactor with ALE. " -call ale#Set('haskell_hlint_executable', 'hlint') function! ale#fixers#hlint#Fix(buffer) abort - let l:executable = ale#Var(a:buffer, 'haskell_hlint_executable') - return { - \ 'command': ale#Escape(l:executable) + \ 'command': ale#handlers#hlint#GetExecutable(a:buffer) \ . ' --refactor' \ . ' --refactor-options="--inplace"' \ . ' %t', diff --git a/sources_non_forked/ale/autoload/ale/fixers/stylish_haskell.vim b/sources_non_forked/ale/autoload/ale/fixers/stylish_haskell.vim index a352312f..ce71c1ce 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/stylish_haskell.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/stylish_haskell.vim @@ -3,11 +3,17 @@ " call ale#Set('haskell_stylish_haskell_executable', 'stylish-haskell') -function! ale#fixers#stylish_haskell#Fix(buffer) abort +function! ale#fixers#stylish_haskell#GetExecutable(buffer) abort let l:executable = ale#Var(a:buffer, 'haskell_stylish_haskell_executable') + return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'stylish-haskell') +endfunction + +function! ale#fixers#stylish_haskell#Fix(buffer) abort + let l:executable = ale#fixers#stylish_haskell#GetExecutable(a:buffer) + return { - \ 'command': ale#Escape(l:executable) + \ 'command': l:executable \ . ' --inplace' \ . ' %t', \ 'read_temporary_file': 1, diff --git a/sources_non_forked/ale/autoload/ale/handlers/ccls.vim b/sources_non_forked/ale/autoload/ale/handlers/ccls.vim new file mode 100644 index 00000000..29dd6aed --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/handlers/ccls.vim @@ -0,0 +1,17 @@ +scriptencoding utf-8 +" Author: Ye Jingchen +" Description: Utilities for ccls + +function! ale#handlers#ccls#GetProjectRoot(buffer) abort + let l:project_root = ale#path#FindNearestFile(a:buffer, '.ccls-root') + + if empty(l:project_root) + let l:project_root = ale#path#FindNearestFile(a:buffer, 'compile_commands.json') + endif + + if empty(l:project_root) + let l:project_root = ale#path#FindNearestFile(a:buffer, '.ccls') + endif + + return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : '' +endfunction diff --git a/sources_non_forked/ale/autoload/ale/handlers/haskell_stack.vim b/sources_non_forked/ale/autoload/ale/handlers/haskell_stack.vim new file mode 100644 index 00000000..108301a9 --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/handlers/haskell_stack.vim @@ -0,0 +1,7 @@ +function! ale#handlers#haskell_stack#EscapeExecutable(executable, stack_exec) abort + let l:exec_args = a:executable =~? 'stack$' + \ ? ' exec ' . ale#Escape(a:stack_exec) . ' --' + \ : '' + + return ale#Escape(a:executable) . l:exec_args +endfunction diff --git a/sources_non_forked/ale/autoload/ale/handlers/hlint.vim b/sources_non_forked/ale/autoload/ale/handlers/hlint.vim new file mode 100644 index 00000000..b9a8c322 --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/handlers/hlint.vim @@ -0,0 +1,8 @@ +call ale#Set('haskell_hlint_executable', 'hlint') +call ale#Set('haskell_hlint_options', get(g:, 'hlint_options', '')) + +function! ale#handlers#hlint#GetExecutable(buffer) abort + let l:executable = ale#Var(a:buffer, 'haskell_hlint_executable') + + return ale#handlers#haskell_stack#EscapeExecutable(l:executable, 'hlint') +endfunction diff --git a/sources_non_forked/ale/doc/ale-c.txt b/sources_non_forked/ale/doc/ale-c.txt index c3820ba0..2a2a879e 100644 --- a/sources_non_forked/ale/doc/ale-c.txt +++ b/sources_non_forked/ale/doc/ale-c.txt @@ -281,5 +281,36 @@ g:ale_c_uncrustify_options *g:ale_c_uncrustify_options* This variable can be change to modify flags given to uncrustify. +=============================================================================== +ccls *ale-c-ccls* + +g:ale_c_ccls_executable *g:ale_c_ccls_executable* + *b:ale_c_ccls_executable* + Type: |String| + Default: `'ccls'` + + This variable can be changed to use a different executable for ccls. + + +g:ale_c_ccls_init_options *g:ale_c_ccls_init_options* + *b:ale_c_ccls_init_options* + Type: |Dictionary| + Default: `{}` + + This variable can be changed to customize ccls initialization options. + Example: > + { + \ 'cacheDirectory': '/tmp/ccls', + \ 'cacheFormat': 'binary', + \ 'diagnostics': { + \ 'onOpen': 0, + \ 'opChange': 1000, + \ }, + \ } +< + Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all + available options and explanations. + + =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-cpp.txt b/sources_non_forked/ale/doc/ale-cpp.txt index 6c05c96d..47ba2c70 100644 --- a/sources_non_forked/ale/doc/ale-cpp.txt +++ b/sources_non_forked/ale/doc/ale-cpp.txt @@ -279,5 +279,36 @@ uncrustify *ale-cpp-uncrustify* See |ale-c-uncrustify| for information about the available options. +=============================================================================== +ccls *ale-cpp-ccls* + +g:ale_cpp_ccls_executable *g:ale_cpp_ccls_executable* + *b:ale_cpp_ccls_executable* + Type: |String| + Default: `'ccls'` + + This variable can be changed to use a different executable for ccls. + + +g:ale_cpp_ccls_init_options *g:ale_cpp_ccls_init_options* + *b:ale_cpp_ccls_init_options* + Type: |Dictionary| + Default: `{}` + + This variable can be changed to customize ccls initialization options. + Example: > + { + \ 'cacheDirectory': '/tmp/ccls', + \ 'cacheFormat': 'binary', + \ 'diagnostics': { + \ 'onOpen': 0, + \ 'opChange': 1000, + \ }, + \ } +< + Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all + available options and explanations. + + =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-haskell.txt b/sources_non_forked/ale/doc/ale-haskell.txt index c1f1e889..a4db683b 100644 --- a/sources_non_forked/ale/doc/ale-haskell.txt +++ b/sources_non_forked/ale/doc/ale-haskell.txt @@ -22,6 +22,16 @@ g:ale_haskell_ghc_options *g:ale_haskell_ghc_options* This variable can be changed to modify flags given to ghc. +=============================================================================== +ghc-mod *ale-haskell-ghc-mod* + +g:ale_haskell_ghc_mod_executable *g:ale_haskell_ghc_mod_executable* + *b:ale_haskell_ghc_mod_executable* + Type: |String| + Default: `'ghc-mod'` + + This variable can be changed to use a different executable for ghc-mod. + =============================================================================== cabal-ghc *ale-haskell-cabal-ghc* @@ -77,6 +87,15 @@ g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable* This variable can be changed to use a different executable for hlint. + +g:ale_haskell_hlint_options g:ale_haskell_hlint_options + b:ale_haskell_hlint_options + Type: String + Default: '' + + This variable can be used to pass extra options to the underlying hlint + executable. + =============================================================================== stack-build *ale-haskell-stack-build* diff --git a/sources_non_forked/ale/doc/ale-objc.txt b/sources_non_forked/ale/doc/ale-objc.txt index 2d560267..0163175a 100644 --- a/sources_non_forked/ale/doc/ale-objc.txt +++ b/sources_non_forked/ale/doc/ale-objc.txt @@ -38,5 +38,36 @@ uncrustify *ale-objc-uncrustify* See |ale-c-uncrustify| for information about the available options. +=============================================================================== +ccls *ale-objc-ccls* + +g:ale_objc_ccls_executable *g:ale_objc_ccls_executable* + *b:ale_objc_ccls_executable* + Type: |String| + Default: `'ccls'` + + This variable can be changed to use a different executable for ccls. + + +g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options* + *b:ale_objc_ccls_init_options* + Type: |Dictionary| + Default: `{}` + + This variable can be changed to customize ccls initialization options. + Example: > + { + \ 'cacheDirectory': '/tmp/ccls', + \ 'cacheFormat': 'binary', + \ 'diagnostics': { + \ 'onOpen': 0, + \ 'opChange': 1000, + \ }, + \ } +< + Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all + available options and explanations. + + =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-php.txt b/sources_non_forked/ale/doc/ale-php.txt index f38c3f88..2eed838e 100644 --- a/sources_non_forked/ale/doc/ale-php.txt +++ b/sources_non_forked/ale/doc/ale-php.txt @@ -169,6 +169,16 @@ g:ale_php_phpstan_configuration *g:ale_php_phpstan_configuration* This variable sets path to phpstan configuration file. +=============================================================================== +psalm *ale-php-psalm* + +g:ale_php_psalm_executable *g:ale_php_psalm_executable* + *b:ale_php_psalm_executable* + Type: |String| + Default: `'psalm'` + + This variable sets the executable used for psalm. + =============================================================================== php-cs-fixer *ale-php-php-cs-fixer* diff --git a/sources_non_forked/ale/doc/ale-scss.txt b/sources_non_forked/ale/doc/ale-scss.txt index 14e6feb7..3ad84fc1 100644 --- a/sources_non_forked/ale/doc/ale-scss.txt +++ b/sources_non_forked/ale/doc/ale-scss.txt @@ -18,6 +18,12 @@ g:ale_scss_stylelint_executable *g:ale_scss_stylelint_executable* See |ale-integrations-local-executables| +g:ale_scss_stylelint_options *g:ale_scss_stylelint_options* + *b:ale_scss_stylelint_options* + Type: |String| + Default: `''` + + This variable can be set to pass additional options to stylelint. g:ale_scss_stylelint_use_global *g:ale_scss_stylelint_use_global* *b:ale_scss_stylelint_use_global* diff --git a/sources_non_forked/ale/doc/ale.txt b/sources_non_forked/ale/doc/ale.txt index 46ff08b0..3c561e2f 100644 --- a/sources_non_forked/ale/doc/ale.txt +++ b/sources_non_forked/ale/doc/ale.txt @@ -34,6 +34,7 @@ CONTENTS *ale-contents* flawfinder..........................|ale-c-flawfinder| gcc.................................|ale-c-gcc| uncrustify..........................|ale-c-uncrustify| + ccls................................|ale-c-ccls| chef..................................|ale-chef-options| foodcritic..........................|ale-chef-foodcritic| clojure...............................|ale-clojure-options| @@ -55,6 +56,7 @@ CONTENTS *ale-contents* flawfinder..........................|ale-cpp-flawfinder| gcc.................................|ale-cpp-gcc| uncrustify..........................|ale-cpp-uncrustify| + ccls................................|ale-cpp-ccls| c#....................................|ale-cs-options| mcs.................................|ale-cs-mcs| mcsc................................|ale-cs-mcsc| @@ -115,6 +117,7 @@ CONTENTS *ale-contents* haskell...............................|ale-haskell-options| brittany............................|ale-haskell-brittany| ghc.................................|ale-haskell-ghc| + ghc-mod.............................|ale-haskell-ghc-mod| cabal-ghc...........................|ale-haskell-cabal-ghc| hdevtools...........................|ale-haskell-hdevtools| hfmt................................|ale-haskell-hfmt| @@ -185,6 +188,7 @@ CONTENTS *ale-contents* clang...............................|ale-objc-clang| clangd..............................|ale-objc-clangd| uncrustify..........................|ale-objc-uncrustify| + ccls................................|ale-objc-ccls| objcpp................................|ale-objcpp-options| clang...............................|ale-objcpp-clang| clangd..............................|ale-objcpp-clangd| @@ -206,6 +210,7 @@ CONTENTS *ale-contents* phpcs...............................|ale-php-phpcs| phpmd...............................|ale-php-phpmd| phpstan.............................|ale-php-phpstan| + psalm...............................|ale-php-psalm| php-cs-fixer........................|ale-php-php-cs-fixer| po....................................|ale-po-options| write-good..........................|ale-po-write-good| @@ -375,8 +380,8 @@ Notes: * Awk: `gawk` * Bash: `language-server`, `shell` (-n flag), `shellcheck`, `shfmt` * Bourne Shell: `shell` (-n flag), `shellcheck`, `shfmt` -* C: `cppcheck`, `cpplint`!!, `clang`, `clangd`, `clangtidy`!!, `clang-format`, `cquery`, `flawfinder`, `gcc`, `uncrustify` -* C++ (filetype cpp): `clang`, `clangd`, `clangcheck`!!, `clangtidy`!!, `clang-format`, `clazy`!!, `cppcheck`, `cpplint`!!, `cquery`, `flawfinder`, `gcc`, `uncrustify` +* C: `cppcheck`, `cpplint`!!, `clang`, `clangd`, `clangtidy`!!, `clang-format`, `cquery`, `flawfinder`, `gcc`, `uncrustify`, `ccls` +* C++ (filetype cpp): `clang`, `clangd`, `clangcheck`!!, `clangtidy`!!, `clang-format`, `clazy`!!, `cppcheck`, `cpplint`!!, `cquery`, `flawfinder`, `gcc`, `uncrustify`, `ccls` * CUDA: `nvcc`!! * C#: `mcs`, `mcsc`!!, `uncrustify` * Chef: `foodcritic` @@ -407,7 +412,7 @@ Notes: * Hack: `hack`, `hackfmt`, `hhast` * Haml: `haml-lint` * Handlebars: `ember-template-lint` -* Haskell: `brittany`, `ghc`, `cabal-ghc`, `stylish-haskell`, `stack-ghc`, `stack-build`!!, `ghc-mod`, `stack-ghc-mod`, `hlint`, `hdevtools`, `hfmt`, `hie` +* Haskell: `brittany`, `ghc`, `cabal-ghc`, `stylish-haskell`, `stack-ghc`, `stack-build`!!, `ghc-mod`, `hlint`, `hdevtools`, `hfmt`, `hie` * HTML: `alex`!!, `HTMLHint`, `proselint`, `tidy`, `write-good` * Idris: `idris` * Java: `checkstyle`, `javac`, `google-java-format`, `PMD`, `javalsp`, `uncrustify` @@ -428,12 +433,12 @@ Notes: * Nim: `nim check`!! * nix: `nix-instantiate` * nroff: `alex`!!, `proselint`, `write-good` -* Objective-C: `clang`, `clangd`, `uncrustify` +* Objective-C: `clang`, `clangd`, `uncrustify`, `ccls` * Objective-C++: `clang`, `clangd`, `uncrustify` * OCaml: `merlin` (see |ale-ocaml-merlin|), `ols`, `ocamlformat` * Pawn: `uncrustify` * Perl: `perl -c`, `perl-critic`, `perltidy` -* PHP: `langserver`, `phan`, `php -l`, `phpcs`, `phpmd`, `phpstan`, `phpcbf`, `php-cs-fixer` +* PHP: `langserver`, `phan`, `php -l`, `phpcs`, `phpmd`, `phpstan`, `phpcbf`, `php-cs-fixer`, `psalm`!! * PO: `alex`!!, `msgfmt`, `proselint`, `write-good` * Pod: `alex`!!, `proselint`, `write-good` * Pony: `ponyc` @@ -1202,6 +1207,12 @@ g:ale_lint_on_text_changed *g:ale_lint_on_text_changed* ALE will check buffers after a short delay, with a timer which resets on each change. The delay can be configured by adjusting the |g:ale_lint_delay| variable. + *ale-linting-interrupts-mapping* + + Due to a bug in Vim, ALE can interrupt mappings with pending key presses, + per |timeoutlen|. If this happens, follow the advice for enabling + |g:ale_lint_on_insert_leave| below, and set this option to `'normal'`, or + disable it entirely. You should set this setting once before ALE is loaded, and restart Vim if you want to change your preferences. See |ale-lint-settings-on-startup|. @@ -1217,7 +1228,7 @@ g:ale_lint_on_insert_leave *g:ale_lint_on_insert_leave* ALE will not lint files when you escape insert mode with |CTRL-C| by default. You can make ALE lint files with this option when you use |CTRL-C| - with the following keybind. > + with the following mapping. > " Make using Ctrl+C do the same as Escape, to trigger autocmd commands inoremap diff --git a/sources_non_forked/vim-go/plugin/go.vim b/sources_non_forked/vim-go/plugin/go.vim index e1692863..af3c37dd 100644 --- a/sources_non_forked/vim-go/plugin/go.vim +++ b/sources_non_forked/vim-go/plugin/go.vim @@ -4,29 +4,40 @@ if exists("g:go_loaded_install") endif let g:go_loaded_install = 1 -" Not using the has('patch-7.4.2009') syntax because that wasn't added until -" 7.4.237, and we want to be sure this works for everyone (this is also why -" we're not using utils#EchoError()). -" -" Version 7.4.2009 was chosen because that's greater than what the most recent Ubuntu LTS -" release (16.04) uses and has a couple of features we need (e.g. execute() -" and :message clear). -if - \ go#config#VersionWarning() != 0 && - \ (v:version < 704 || (v:version == 704 && !has('patch2009'))) - \ && !has('nvim') - echohl Error - echom "vim-go requires Vim 7.4.2009 or Neovim, but you're using an older version." - echom "Please update your Vim for the best vim-go experience." - echom "If you really want to continue you can set this to make the error go away:" - echom " let g:go_version_warning = 0" - echom "Note that some features may error out or behave incorrectly." - echom "Please do not report bugs unless you're using Vim 7.4.2009 or newer." - echohl None +function! s:checkVersion() abort + " Not using the has('patch-7.4.2009') syntax because that wasn't added until + " 7.4.237, and we want to be sure this works for everyone (this is also why + " we're not using utils#EchoError()). + " + " Version 7.4.2009 was chosen because that's greater than what the most recent Ubuntu LTS + " release (16.04) uses and has a couple of features we need (e.g. execute() + " and :message clear). - " Make sure people see this. - sleep 2 -endif + let l:unsupported = 0 + if go#config#VersionWarning() != 0 + if has('nvim') + let l:unsupported = !has('nvim-0.3.1') + else + let l:unsupported = (v:version < 704 || (v:version == 704 && !has('patch2009'))) + endif + + if l:unsupported == 1 + echohl Error + echom "vim-go requires Vim 7.4.2009 or Neovim 0.3.1, but you're using an older version." + echom "Please update your Vim for the best vim-go experience." + echom "If you really want to continue you can set this to make the error go away:" + echom " let g:go_version_warning = 0" + echom "Note that some features may error out or behave incorrectly." + echom "Please do not report bugs unless you're using Vim 7.4.2009 or newer or Neovim 0.3.1." + echohl None + + " Make sure people see this. + sleep 2 + endif + endif +endfunction + +call s:checkVersion() " these packages are used by vim-go and can be automatically installed if " needed by the user with GoInstallBinaries. diff --git a/sources_non_forked/vim-snippets/snippets/go.snippets b/sources_non_forked/vim-snippets/snippets/go.snippets index 2c4084a8..7cbbf5e2 100644 --- a/sources_non_forked/vim-snippets/snippets/go.snippets +++ b/sources_non_forked/vim-snippets/snippets/go.snippets @@ -1,204 +1,205 @@ -# shorthand variable declaration -snippet v +snippet v "shorthand variable declaration" ${1} := ${2} -# variable initialization -snippet vr + +snippet vr "variable initialization" var ${1:t} ${0:string} -# variable declaration -snippet var + +snippet var "variable declaration" var ${1} ${2} = ${3} -# variables declaration -snippet vars + +snippet vars "variables declaration" var ( ${1} ${2} = ${3} ) -# append -snippet ap + +snippet ap "append" append(${1:slice}, ${0:value}) -# bool -snippet bl + +snippet bl "bool" bool -# byte -snippet bt + +snippet bt "byte" byte -# break -snippet br + +snippet br "break" break -# channel -snippet ch + +snippet ch "channel" chan ${0:int} -# case -snippet cs + +snippet cs "case" case ${1:value}: ${0:${VISUAL}} -# const -snippet c + +snippet c "const" const ${1:NAME} = ${0:0} -# constants with iota -snippet co + +snippet co "constants with iota" const ( ${1:NAME1} = iota ${0:NAME2} ) -# continue -snippet cn + +snippet cn "continue" continue -# defer -snippet df + +snippet df "defer" defer ${0:func}() -# defer recover -snippet dfr + +snippet dfr "defer recover" defer func() { if err := recover(); err != nil { ${0:${VISUAL}} } }() -# int -snippet i + +snippet i "int" int -# import -snippet im + +snippet im "import" import ( "${1:package}" ) -# interface -snippet in + +snippet in "interface" interface{} -# full interface snippet -snippet inf + +snippet inf "full interface " interface ${1:name} { ${2:/* methods */} } -# if condition -snippet if + +snippet if "if condition" if ${1:/* condition */} { ${2:${VISUAL}} } -snippet ife + + +snippet ife "if else condition" if ${1:/* condition */} { ${2:${VISUAL}} } else { ${0} } -# else snippet -snippet el + +snippet el "else" else { ${0:${VISUAL}} } -# error snippet -snippet ir + +snippet ir "if error not nil, return err" if err != nil { return err } ${0} -# false -snippet f + +snippet f "false" false -# fallthrough -snippet ft + +snippet ft "fallthrough" fallthrough -# float -snippet fl + +snippet fl "float" float32 -# float32 -snippet f3 + +snippet f3 "float32" float32 -# float64 -snippet f6 + +snippet f6 "float64" float64 -# for int loop -snippet for + +snippet for "for loop" for ${1}{ ${0:${VISUAL}} } -# for int loop -snippet fori + +snippet fori "for int loop" for ${2:i} := 0; $2 < ${1:count}; $2${3:++} { ${0:${VISUAL}} } -# for range loop -snippet forr + +snippet forr "for range loop" for ${1:e} := range ${2:collection} { ${0:${VISUAL}} } -# function simple -snippet fun + +snippet fun "function" func ${1:funcName}(${2}) ${3:error} { ${4} } ${0} -# function on receiver -snippet fum + +snippet fum "method" func (${1:receiver} ${2:type}) ${3:funcName}(${4}) ${5:error} { ${6} } ${0} -# http handler function on reciever -snippet fumh + +snippet fumh "http handler function on reciever" func (${1:receiver} ${2:type}) ${3:funcName}(${4:w} http.ResponseWriter, ${5:r} *http.Request) { ${0:${VISUAL}} } -# log printf -snippet lf + +snippet lf "log printf" log.Printf("%${1:s}", ${2:var}) -# log printf -snippet lp + +snippet lp "log println" log.Println("${1}") -# make -snippet mk + +snippet mk "make" make(${1:[]string}, ${0:0}) -# map -snippet mp + +snippet mp "map" map[${1:string}]${0:int} -# main() -snippet main + +snippet main "func main()" func main() { ${1} } ${0} -# new -snippet nw + +snippet nw "new" new(${0:type}) -# package -snippet pa + +snippet pa "package" package ${1:main} -# panic -snippet pn + +snippet pn "panic" panic("${0:msg}") -# print -snippet pr + +snippet pf "fmt.Printf()" fmt.Printf("%${1:s}\n", ${2:var}) -# println -snippet pl + +snippet pl "fmt.Println()" fmt.Println("${1:s}") -# range -snippet rn + +snippet rn "range" range ${0} -# return -snippet rt + +snippet rt "return" return ${0} -# result -snippet rs + +snippet rs "result" result -# select -snippet sl + +snippet sl "select" select { case ${1:v1} := <-${2:chan1} ${3} default: ${0} } -# string -snippet sr + +snippet sr "string" string -# struct -snippet st + +snippet st "struct" struct ${1:name} { ${2:/* data */} } ${0} -# switch -snippet sw + +snippet sw "switch" switch ${1:var} { case ${2:value1}: ${3} @@ -207,58 +208,62 @@ snippet sw default: ${0} } -snippet sp + +snippet ps "fmt.Sprintf" fmt.Sprintf("%${1:s}", ${2:var}) -# true -snippet t + +snippet t "true" true -# goroutine named function -snippet g + +snippet g "goroutine named function" go ${1:funcName}(${0}) -# goroutine anonymous function -snippet ga + +snippet ga "goroutine anonymous function" go func(${1} ${2:type}) { ${3:/* code */} }(${0}) -snippet test test function + +snippet test "test function" func Test${1:name}(t *testing.T) { ${0:${VISUAL}} } -snippet bench benchmark function + +snippet bench "benchmark function" func Benchmark${1:name}(b *testing.B) { for i := 0; i < b.N; i++ { ${2} } } ${0} -# composite literals -snippet cl + +snippet cl "composite literals" type ${1:name} struct { ${2:attrName} ${3:attrType} } -# if key in a map -snippet om + +snippet om "if key in a map" if ${1:value}, ok := ${2:map}[${3:key}]; ok == true { ${4:/* code */} } -# Grouped globals with anonymous struct -snippet gg + +snippet gg "Grouped globals with anonymous struct" var ${1:var} = struct{ ${2:name} ${3:type} }{ $2: ${4:value}, } -# Marshalable json alias -snippet ja + +snippet ja "Marshalable json alias" type ${1:parentType}Alias $1 func (p *$1) MarshalJSON() ([]byte, error) { return json.Marshal(&struct{ *$1Alias }{(*$1Alias)(p)}) } -snippet errwr # Error handling with errors.Wrap + +snippet errwr "Error handling with errors.Wrap" if ${1}err != nil { return errors.Wrap(err, "${2}") }