diff --git a/sources_non_forked/ale/ale_linters/json/eslint.vim b/sources_non_forked/ale/ale_linters/json/eslint.vim new file mode 100644 index 00000000..bdabb9fa --- /dev/null +++ b/sources_non_forked/ale/ale_linters/json/eslint.vim @@ -0,0 +1,16 @@ +" Author: João Pesce +" Description: eslint for JSON files. +" +" Requires eslint-plugin-jsonc or a similar plugin to work +" +" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp +" + +call ale#linter#Define('json', { +\ 'name': 'eslint', +\ 'output_stream': 'both', +\ 'executable': function('ale#handlers#eslint#GetExecutable'), +\ 'cwd': function('ale#handlers#eslint#GetCwd'), +\ 'command': function('ale#handlers#eslint#GetCommand'), +\ 'callback': 'ale#handlers#eslint#HandleJSON', +\}) diff --git a/sources_non_forked/ale/ale_linters/json5/eslint.vim b/sources_non_forked/ale/ale_linters/json5/eslint.vim new file mode 100644 index 00000000..6207f2d7 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/json5/eslint.vim @@ -0,0 +1,16 @@ +" Author: João Pesce +" Description: eslint for JSON5 files. +" +" Requires eslint-plugin-jsonc or a similar plugin to work +" +" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp +" + +call ale#linter#Define('json5', { +\ 'name': 'eslint', +\ 'output_stream': 'both', +\ 'executable': function('ale#handlers#eslint#GetExecutable'), +\ 'cwd': function('ale#handlers#eslint#GetCwd'), +\ 'command': function('ale#handlers#eslint#GetCommand'), +\ 'callback': 'ale#handlers#eslint#HandleJSON', +\}) diff --git a/sources_non_forked/ale/ale_linters/jsonc/eslint.vim b/sources_non_forked/ale/ale_linters/jsonc/eslint.vim new file mode 100644 index 00000000..1a5cc528 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/jsonc/eslint.vim @@ -0,0 +1,16 @@ +" Author: João Pesce +" Description: eslint for JSONC files. +" +" Requires eslint-plugin-jsonc or a similar plugin to work +" +" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp +" + +call ale#linter#Define('jsonc', { +\ 'name': 'eslint', +\ 'output_stream': 'both', +\ 'executable': function('ale#handlers#eslint#GetExecutable'), +\ 'cwd': function('ale#handlers#eslint#GetCwd'), +\ 'command': function('ale#handlers#eslint#GetCommand'), +\ 'callback': 'ale#handlers#eslint#HandleJSON', +\}) diff --git a/sources_non_forked/ale/ale_linters/mail/languagetool.vim b/sources_non_forked/ale/ale_linters/mail/languagetool.vim index 330fb8ec..f68dab7a 100644 --- a/sources_non_forked/ale/ale_linters/mail/languagetool.vim +++ b/sources_non_forked/ale/ale_linters/mail/languagetool.vim @@ -1,4 +1,4 @@ -" Author: Vincent (wahrwolf [ät] wolfpit.net) +" Author: Vincent (wahrwolf [at] wolfpit.net) " Description: languagetool for mails diff --git a/sources_non_forked/ale/ale_linters/markdown/languagetool.vim b/sources_non_forked/ale/ale_linters/markdown/languagetool.vim index d6bca22e..422a38c3 100644 --- a/sources_non_forked/ale/ale_linters/markdown/languagetool.vim +++ b/sources_non_forked/ale/ale_linters/markdown/languagetool.vim @@ -1,4 +1,4 @@ -" Author: Vincent (wahrwolf [ät] wolfpit.net) +" Author: Vincent (wahrwolf [at] wolfpit.net) " Description: languagetool for markdown files diff --git a/sources_non_forked/ale/ale_linters/python/pyre.vim b/sources_non_forked/ale/ale_linters/python/pyre.vim index d9b46763..5e5786f9 100644 --- a/sources_non_forked/ale/ale_linters/python/pyre.vim +++ b/sources_non_forked/ale/ale_linters/python/pyre.vim @@ -22,14 +22,17 @@ endfunction function! ale_linters#python#pyre#GetCommand(buffer) abort let l:executable = ale_linters#python#pyre#GetExecutable(a:buffer) - - let l:exec_args = l:executable =~? 'pipenv\|poetry$' - \ ? ' run pyre persistent' - \ : ' persistent' + let l:exec_args = (l:executable =~? 'pipenv\|poetry$' ? ' run pyre' : '') . ' persistent' return ale#Escape(l:executable) . l:exec_args endfunction +function! ale_linters#python#pyre#GetCwd(buffer) abort + let l:local_config = ale#path#FindNearestFile(a:buffer, '.pyre_configuration.local') + + return fnamemodify(l:local_config, ':h') +endfunction + call ale#linter#Define('python', { \ 'name': 'pyre', \ 'lsp': 'stdio', @@ -37,4 +40,5 @@ call ale#linter#Define('python', { \ 'command': function('ale_linters#python#pyre#GetCommand'), \ 'project_root': function('ale#python#FindProjectRoot'), \ 'completion_filter': 'ale#completion#python#CompletionItemFilter', +\ 'cwd': function('ale_linters#python#pyre#GetCwd'), \}) diff --git a/sources_non_forked/ale/ale_linters/robot/rflint.vim b/sources_non_forked/ale/ale_linters/robot/rflint.vim new file mode 100644 index 00000000..8fe2d797 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/robot/rflint.vim @@ -0,0 +1,46 @@ +" Author: Samuel Branisa +" Description: rflint linting for robot framework files + +call ale#Set('robot_rflint_executable', 'rflint') + +function! ale_linters#robot#rflint#GetExecutable(buffer) abort + return ale#Var(a:buffer, 'robot_rflint_executable') +endfunction + +function! ale_linters#robot#rflint#GetCommand(buffer) abort + let l:executable = ale_linters#robot#rflint#GetExecutable(a:buffer) + let l:flags = '--format' + \ . ' "{filename}:{severity}:{linenumber}:{char}:{rulename}:{message}"' + + return l:executable + \ . ' ' + \ . l:flags + \ . ' %s' +endfunction + +function! ale_linters#robot#rflint#Handle(buffer, lines) abort + let l:pattern = '\v^([[:alnum:][:punct:]]+):(W|E):([[:digit:]]+):([[:digit:]]+):([[:alnum:]]+):(.*)$' + let l:output = [] + + for l:match in ale#util#GetMatches(a:lines, l:pattern) + call add(l:output, { + \ 'bufnr': a:buffer, + \ 'filename': l:match[1], + \ 'type': l:match[2], + \ 'lnum': str2nr(l:match[3]), + \ 'col': str2nr(l:match[4]), + \ 'text': l:match[5], + \ 'detail': l:match[6], + \}) + endfor + + return l:output +endfunction + +call ale#linter#Define('robot', { +\ 'name': 'rflint', +\ 'executable': function('ale_linters#robot#rflint#GetExecutable'), +\ 'command': function('ale_linters#robot#rflint#GetCommand'), +\ 'callback': 'ale_linters#robot#rflint#Handle', +\}) + diff --git a/sources_non_forked/ale/ale_linters/thrift/thriftcheck.vim b/sources_non_forked/ale/ale_linters/thrift/thriftcheck.vim index 7b8cbee1..bf929d10 100644 --- a/sources_non_forked/ale/ale_linters/thrift/thriftcheck.vim +++ b/sources_non_forked/ale/ale_linters/thrift/thriftcheck.vim @@ -13,9 +13,9 @@ endfunction function! ale_linters#thrift#thriftcheck#Handle(buffer, lines) abort " Matches lines like the following: " - " file.thrift:1:1:error: "py" namespace must match "^idl\\." (namespace.pattern) - " file.thrift:3:5:warning: 64-bit integer constant -2147483649 may not work in all languages (int.64bit) - let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+):(\l+): (.*) \((.*)\)$' + " file.thrift:1:1: error: "py" namespace must match "^idl\\." (namespace.pattern) + " file.thrift:3:5: warning: 64-bit integer constant -2147483649 may not work in all languages (int.64bit) + let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+): ?([^:]+): (.+) \(([^\)]+)\)$' let l:output = [] diff --git a/sources_non_forked/ale/autoload/ale/completion.vim b/sources_non_forked/ale/autoload/ale/completion.vim index 5237288e..e139feaa 100644 --- a/sources_non_forked/ale/autoload/ale/completion.vim +++ b/sources_non_forked/ale/autoload/ale/completion.vim @@ -1001,12 +1001,11 @@ endfunction function! ale#completion#HandleUserData(completed_item) abort let l:user_data_json = get(a:completed_item, 'user_data', '') - let l:user_data = !empty(l:user_data_json) - \ ? ale#util#FuzzyJSONDecode(l:user_data_json, v:null) - \ : v:null + let l:user_data = type(l:user_data_json) is v:t_dict + \ ? l:user_data_json + \ : ale#util#FuzzyJSONDecode(l:user_data_json, {}) - if type(l:user_data) isnot v:t_dict - \|| get(l:user_data, '_ale_completion_item', 0) isnot 1 + if !has_key(l:user_data, '_ale_completion_item') return endif diff --git a/sources_non_forked/ale/autoload/ale/fix/registry.vim b/sources_non_forked/ale/autoload/ale/fix/registry.vim index 7a4d964e..975d02f6 100644 --- a/sources_non_forked/ale/autoload/ale/fix/registry.vim +++ b/sources_non_forked/ale/autoload/ale/fix/registry.vim @@ -246,6 +246,11 @@ let s:default_registry = { \ 'suggested_filetypes': ['go'], \ 'description': 'Fix Go files imports with goimports.', \ }, +\ 'golines': { +\ 'function': 'ale#fixers#golines#Fix', +\ 'suggested_filetypes': ['go'], +\ 'description': 'Fix Go file long lines with golines', +\ }, \ 'gomod': { \ 'function': 'ale#fixers#gomod#Fix', \ 'suggested_filetypes': ['gomod'], @@ -301,6 +306,11 @@ let s:default_registry = { \ 'suggested_filetypes': ['haskell'], \ 'description': 'Refactor Haskell files with stylish-haskell.', \ }, +\ 'purs-tidy': { +\ 'function': 'ale#fixers#purs_tidy#Fix', +\ 'suggested_filetypes': ['purescript'], +\ 'description': 'Format PureScript files with purs-tidy.', +\ }, \ 'purty': { \ 'function': 'ale#fixers#purty#Fix', \ 'suggested_filetypes': ['purescript'], @@ -386,6 +396,11 @@ let s:default_registry = { \ 'suggested_filetypes': ['dart'], \ 'description': 'Fix Dart files with dart format.', \ }, +\ 'dotnet-format': { +\ 'function': 'ale#fixers#dotnet_format#Fix', +\ 'suggested_filetypes': ['cs'], +\ 'description': 'Fix C# files with dotnet format.', +\ }, \ 'xmllint': { \ 'function': 'ale#fixers#xmllint#Fix', \ 'suggested_filetypes': ['xml'], diff --git a/sources_non_forked/ale/autoload/ale/fixers/dhall_format.vim b/sources_non_forked/ale/autoload/ale/fixers/dhall_format.vim index d4021983..4f12abc8 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/dhall_format.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/dhall_format.vim @@ -1,14 +1,11 @@ -" Author: toastal +" Author: toastal " Description: Dhall’s built-in formatter " function! ale#fixers#dhall_format#Fix(buffer) abort let l:executable = ale#dhall#GetExecutableWithOptions(a:buffer) - let l:command = l:executable - \ . ' format' - \ . ' --inplace %t' return { - \ 'command': l:command, - \ 'read_temporary_file': 1, + \ 'command': l:executable + \ . ' format' \} endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/dhall_freeze.vim b/sources_non_forked/ale/autoload/ale/fixers/dhall_freeze.vim index 74ae7530..ff54482d 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/dhall_freeze.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/dhall_freeze.vim @@ -1,18 +1,14 @@ -" Author: toastal +" Author: toastal " Description: Dhall’s package freezing call ale#Set('dhall_freeze_options', '') function! ale#fixers#dhall_freeze#Freeze(buffer) abort let l:executable = ale#dhall#GetExecutableWithOptions(a:buffer) - let l:command = l:executable - \ . ' freeze' - \ . ale#Pad(ale#Var(a:buffer, 'dhall_freeze_options')) - \ . ' --inplace %t' - return { - \ 'command': l:command, - \ 'read_temporary_file': 1, + \ 'command': l:executable + \ . ' freeze' + \ . ale#Pad(ale#Var(a:buffer, 'dhall_freeze_options')) \} endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/dhall_lint.vim b/sources_non_forked/ale/autoload/ale/fixers/dhall_lint.vim index 2abbe6f7..149a6581 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/dhall_lint.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/dhall_lint.vim @@ -1,14 +1,11 @@ -" Author: toastal +" Author: toastal " Description: Dhall’s built-in linter/formatter function! ale#fixers#dhall_lint#Fix(buffer) abort let l:executable = ale#dhall#GetExecutableWithOptions(a:buffer) - let l:command = l:executable - \ . ' lint' - \ . ' --inplace %t' return { - \ 'command': l:command, - \ 'read_temporary_file': 1, + \ 'command': l:executable + \ . ' lint' \} endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/dotnet_format.vim b/sources_non_forked/ale/autoload/ale/fixers/dotnet_format.vim new file mode 100644 index 00000000..b44a28bd --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/fixers/dotnet_format.vim @@ -0,0 +1,18 @@ +" Author: ghsang +" Description: Integration of dotnet format with ALE. + +call ale#Set('cs_dotnet_format_executable', 'dotnet') +call ale#Set('cs_dotnet_format_options', '') + +function! ale#fixers#dotnet_format#Fix(buffer) abort + let l:executable = ale#Var(a:buffer, 'cs_dotnet_format_executable') + let l:options = ale#Var(a:buffer, 'cs_dotnet_format_options') + + return { + \ 'command': ale#Escape(l:executable) + \ . ' format' + \ . (empty(l:options) ? '' : ' ' . l:options) + \ . ' --folder --include %t "$(dirname %t)"', + \ 'read_temporary_file': 1, + \} +endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/golines.vim b/sources_non_forked/ale/autoload/ale/fixers/golines.vim new file mode 100644 index 00000000..9326f482 --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/fixers/golines.vim @@ -0,0 +1,21 @@ +" Author Pig Frown +" Description: Fix Go files long lines with golines" + +call ale#Set('go_golines_executable', 'golines') + +call ale#Set('go_golines_options', '') + +function! ale#fixers#golines#Fix(buffer) abort + let l:executable = ale#Var(a:buffer, 'go_golines_executable') + let l:options = ale#Var(a:buffer, 'go_golines_options') + let l:env = ale#go#EnvString(a:buffer) + + if !executable(l:executable) + return 0 + endif + + return { + \ 'command': l:env . ale#Escape(l:executable) + \ . (empty(l:options) ? '' : ' ' . l:options) + \} +endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/isort.vim b/sources_non_forked/ale/autoload/ale/fixers/isort.vim index a640d233..082e77ec 100644 --- a/sources_non_forked/ale/autoload/ale/fixers/isort.vim +++ b/sources_non_forked/ale/autoload/ale/fixers/isort.vim @@ -5,6 +5,7 @@ call ale#Set('python_isort_executable', 'isort') call ale#Set('python_isort_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_isort_options', '') call ale#Set('python_isort_auto_pipenv', 0) +call ale#Set('python_isort_auto_poetry', 0) function! ale#fixers#isort#GetExecutable(buffer) abort if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_isort_auto_pipenv')) @@ -12,24 +13,34 @@ function! ale#fixers#isort#GetExecutable(buffer) abort return 'pipenv' endif + if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_isort_auto_poetry')) + \ && ale#python#PoetryPresent(a:buffer) + return 'poetry' + endif + return ale#python#FindExecutable(a:buffer, 'python_isort', ['isort']) endfunction function! ale#fixers#isort#Fix(buffer) abort - let l:options = ale#Var(a:buffer, 'python_isort_options') let l:executable = ale#fixers#isort#GetExecutable(a:buffer) - let l:exec_args = l:executable =~? 'pipenv$' - \ ? ' run isort' - \ : '' + let l:cmd = [ale#Escape(l:executable)] - if !executable(l:executable) && l:executable isnot# 'pipenv' - return 0 + if l:executable =~? 'pipenv\|poetry$' + call extend(l:cmd, ['run', 'isort']) endif + call add(l:cmd, '--filename %s') + + let l:options = ale#Var(a:buffer, 'python_isort_options') + + if !empty(l:options) + call add(l:cmd, l:options) + endif + + call add(l:cmd, '-') + return { \ 'cwd': '%s:h', - \ 'command': ale#Escape(l:executable) . l:exec_args - \ . ale#Pad('--filename %s') - \ . (!empty(l:options) ? ' ' . l:options : '') . ' -', + \ 'command': join(l:cmd, ' ') \} endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/purs_tidy.vim b/sources_non_forked/ale/autoload/ale/fixers/purs_tidy.vim new file mode 100644 index 00000000..09fa631b --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/fixers/purs_tidy.vim @@ -0,0 +1,24 @@ +" Author: toastal +" Description: Integration of purs-tidy with ALE. + +call ale#Set('purescript_tidy_executable', 'purs-tidy') +call ale#Set('purescript_tidy_use_global', get(g:, 'ale_use_global_executables', 0)) +call ale#Set('purescript_tidy_options', '') + +function! ale#fixers#purs_tidy#GetExecutable(buffer) abort + return ale#path#FindExecutable(a:buffer, 'purescript_tidy', [ + \ 'node_modules/purescript-tidy/bin/index.js', + \ 'node_modules/.bin/purs-tidy', + \]) +endfunction + +function! ale#fixers#purs_tidy#Fix(buffer) abort + let l:executable = ale#fixers#purs_tidy#GetExecutable(a:buffer) + let l:options = ale#Var(a:buffer, 'purescript_tidy_options') + + return { + \ 'command': ale#Escape(l:executable) + \ . ' format' + \ . ale#Pad(l:options) + \} +endfunction diff --git a/sources_non_forked/ale/autoload/ale/handlers/cppcheck.vim b/sources_non_forked/ale/autoload/ale/handlers/cppcheck.vim index b70ae1bf..a07d0aed 100644 --- a/sources_non_forked/ale/autoload/ale/handlers/cppcheck.vim +++ b/sources_non_forked/ale/autoload/ale/handlers/cppcheck.vim @@ -43,21 +43,25 @@ endfunction function! ale#handlers#cppcheck#HandleCppCheckFormat(buffer, lines) abort " Look for lines like the following. " - "test.cpp:974:6: error: Array 'n[3]' accessed at index 3, which is out of bounds. [arrayIndexOutOfBounds]\ + "test.cpp:974:6: error:inconclusive Array 'n[3]' accessed at index 3, which is out of bounds. [arrayIndexOutOfBounds]\ " n[3]=3; " ^ - let l:pattern = '\v^(\f+):(\d+):(\d+): (\w+): (.*) \[(\w+)\]\' + "" OR if cppcheck doesn't support {column} or {inconclusive:text}: + "test.cpp:974:{column}: error:{inconclusive:inconclusive} Array 'n[3]' accessed at index 3, which is out of bounds. [arrayIndexOutOfBounds]\ + " n[3]=3; + " ^ + let l:pattern = '\v(\f+):(\d+):(\d+|\{column\}): (\w+):(\{inconclusive:inconclusive\})? ?(.*) \[(\w+)\]\' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) if ale#path#IsBufferPath(a:buffer, l:match[1]) call add(l:output, { \ 'lnum': str2nr(l:match[2]), - \ 'col': str2nr(l:match[3]), + \ 'col': match(l:match[3],'{column}') >= 0 ? 1 : str2nr(l:match[3]), \ 'type': l:match[4] is# 'error' ? 'E' : 'W', \ 'sub_type': l:match[4] is# 'style' ? 'style' : '', - \ 'text': l:match[5], - \ 'code': l:match[6] + \ 'text': l:match[6], + \ 'code': l:match[7] \}) endif endfor diff --git a/sources_non_forked/ale/autoload/ale/hover.vim b/sources_non_forked/ale/autoload/ale/hover.vim index cb0379fd..4513c6ad 100644 --- a/sources_non_forked/ale/autoload/ale/hover.vim +++ b/sources_non_forked/ale/autoload/ale/hover.vim @@ -45,7 +45,9 @@ function! ale#hover#HandleTSServerResponse(conn_id, response) abort \&& (l:set_balloons is 1 || l:set_balloons is# 'hover') call balloon_show(a:response.body.displayString) elseif get(l:options, 'truncated_echo', 0) - call ale#cursor#TruncatedEcho(split(a:response.body.displayString, "\n")[0]) + if !empty(a:response.body.displayString) + call ale#cursor#TruncatedEcho(split(a:response.body.displayString, "\n")[0]) + endif elseif g:ale_hover_to_floating_preview || g:ale_floating_preview call ale#floating_preview#Show(split(a:response.body.displayString, "\n"), { \ 'filetype': 'ale-preview.message', diff --git a/sources_non_forked/ale/autoload/ale/lsp_linter.vim b/sources_non_forked/ale/autoload/ale/lsp_linter.vim index b8885f31..ad181912 100644 --- a/sources_non_forked/ale/autoload/ale/lsp_linter.vim +++ b/sources_non_forked/ale/autoload/ale/lsp_linter.vim @@ -271,6 +271,30 @@ function! ale#lsp_linter#OnInit(linter, details, Callback) abort call ale#lsp#NotifyForChanges(l:conn_id, l:buffer) endif + " Tell the relevant buffer that the LSP has started via an autocmd. + if l:buffer > 0 + if l:buffer == bufnr('') + silent doautocmd User ALELSPStarted + else + execute 'augroup ALELSPStartedGroup' . l:buffer + autocmd! + + execute printf( + \ 'autocmd BufEnter ' + \ . ' doautocmd User ALELSPStarted', + \ l:buffer + \) + + " Replicate ++once behavior for backwards compatibility. + execute printf( + \ 'autocmd BufEnter ' + \ . ' autocmd! ALELSPStartedGroup%d', + \ l:buffer, l:buffer + \) + augroup END + endif + endif + call a:Callback(a:linter, a:details) endfunction diff --git a/sources_non_forked/ale/doc/ale-cs.txt b/sources_non_forked/ale/doc/ale-cs.txt index bb13863f..bef495b9 100644 --- a/sources_non_forked/ale/doc/ale-cs.txt +++ b/sources_non_forked/ale/doc/ale-cs.txt @@ -90,6 +90,39 @@ g:ale_cs_csc_assemblies *g:ale_cs_csc_assemblies* \] < +=============================================================================== +dotnet-format *ale-cs-dotnet-format* + +Installation +------------------------------------------------------------------------------- + +Installing .NET SDK should probably ensure that `dotnet` is in your `$PATH`. +For .NET 6 the `dotnet format` tool is already included in the .NET SDK. For +.NET 5 or below you will have to manually install it using the instructions +from listed in this repository: https://github.com/dotnet/format + + +Options +------------------------------------------------------------------------------- + +g:ale_cs_dotnet_format_executable *g:ale_cs_dotnet_format_executable* + *b:ale_cs_dotnet_format_executable* + Type: |String| + Default: `'dotnet'` + + This variable can be set to specify an absolute path to the + `dotnet` executable (or to specify an alternate executable). + + +g:ale_cs_dotnet_format_options *g:ale_cs_dotnet_format_options* + *b:ale_cs_dotnet_format_options* + Type: |String| + Default: `''` + + This variable can be set to pass additional options to the `dotnet format` + fixer. + + =============================================================================== mcs *ale-cs-mcs* diff --git a/sources_non_forked/ale/doc/ale-dhall.txt b/sources_non_forked/ale/doc/ale-dhall.txt index 44b0bf32..9b997b9e 100644 --- a/sources_non_forked/ale/doc/ale-dhall.txt +++ b/sources_non_forked/ale/doc/ale-dhall.txt @@ -6,15 +6,15 @@ g:ale_dhall_executable *g:ale_dhall_executable* Type: |String| Default: `'dhall'` -g:ale_dhall_options g:ale_dhall_options - b:ale_dhall_options +g:ale_dhall_options *g:ale_dhall_options* + *b:ale_dhall_options* Type: |String| Default: `''` This variable can be set to pass additional options to the 'dhall` executable. This is shared with `dhall-freeze` and `dhall-lint`. > - let g:dhall_options = '--ascii' + let g:ale_dhall_options = '--ascii' < =============================================================================== @@ -30,15 +30,15 @@ dhall-freeze *ale-dhall-freeze* Dhall (https://dhall-lang.org/) -g:ale_dhall_freeze_options g:ale_dhall_freeze_options - b:ale_dhall_freeze_options +g:ale_dhall_freeze_options *g:ale_dhall_freeze_options* + *b:ale_dhall_freeze_options* Type: |String| Default: `''` This variable can be set to pass additional options to the 'dhall freeze` executable. > - let g:dhall_freeze_options = '--all' + let g:ale_dhall_freeze_options = '--all' < =============================================================================== diff --git a/sources_non_forked/ale/doc/ale-go.txt b/sources_non_forked/ale/doc/ale-go.txt index 7813c7b3..2f1e4c1c 100644 --- a/sources_non_forked/ale/doc/ale-go.txt +++ b/sources_non_forked/ale/doc/ale-go.txt @@ -133,6 +133,23 @@ g:ale_go_langserver_options *g:ale_go_langserver_options* `-gocodecompletion` option is ignored because it is handled automatically by the |g:ale_completion_enabled| variable. +=============================================================================== +golines *ale-go-golines* + +g:ale_go_golines_executable *g:ale_go_lines_executable* + *b:ale_go_lines_executable* + Type: |String| + Default: `'golines'` + + Location of the golines binary file + +g:ale_go_golines_options *g:ale_go_golines_options* + *b:ale_go_golines_options* + Type: |String| + Default: '' + + Additional options passed to the golines command. By default golines has + --max-length=100 (lines above 100 characters will be wrapped) =============================================================================== golint *ale-go-golint* diff --git a/sources_non_forked/ale/doc/ale-json.txt b/sources_non_forked/ale/doc/ale-json.txt index dc91e14c..ad0a05b1 100644 --- a/sources_non_forked/ale/doc/ale-json.txt +++ b/sources_non_forked/ale/doc/ale-json.txt @@ -2,6 +2,15 @@ ALE JSON Integration *ale-json-options* +=============================================================================== +eslint *ale-json-eslint* + +The `eslint` linter for JSON uses the JavaScript options for `eslint`; see: +|ale-javascript-eslint|. + +You will need a JSON ESLint plugin installed for this to work. + + =============================================================================== fixjson *ale-json-fixjson* diff --git a/sources_non_forked/ale/doc/ale-json5.txt b/sources_non_forked/ale/doc/ale-json5.txt new file mode 100644 index 00000000..bafa60d1 --- /dev/null +++ b/sources_non_forked/ale/doc/ale-json5.txt @@ -0,0 +1,15 @@ +=============================================================================== +ALE JSON5 Integration *ale-json5-options* + + +=============================================================================== +eslint *ale-json5-eslint* + +The `eslint` linter for JSON uses the JavaScript options for `eslint`; see: +|ale-javascript-eslint|. + +You will need a JSON5 ESLint plugin installed for this to work. + + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-jsonc.txt b/sources_non_forked/ale/doc/ale-jsonc.txt new file mode 100644 index 00000000..92247cd4 --- /dev/null +++ b/sources_non_forked/ale/doc/ale-jsonc.txt @@ -0,0 +1,15 @@ +=============================================================================== +ALE JSONC Integration *ale-jsonc-options* + + +=============================================================================== +eslint *ale-jsonc-eslint* + +The `eslint` linter for JSON uses the JavaScript options for `eslint`; see: +|ale-javascript-eslint|. + +You will need a JSONC ESLint plugin installed for this to work. + + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-purescript.txt b/sources_non_forked/ale/doc/ale-purescript.txt index 454bb7e4..91bef558 100644 --- a/sources_non_forked/ale/doc/ale-purescript.txt +++ b/sources_non_forked/ale/doc/ale-purescript.txt @@ -30,6 +30,33 @@ g:ale_purescript_ls_config g:ale_purescript_ls_config \ } \} =============================================================================== +purs-tidy *ale-purescript-tidy* + +g:ale_purescript_tidy_executable *g:ale_purescript_tidy_executable* + *b:ale_purescript_tidy_executable* + Type: |String| + Default: `'purs-tidy'` + + This variable can be changed to use a different executable for purs-tidy. + +g:ale_purescript_tidy_use_global *g:ale_purescript_tidy_use_global* + *b:ale_purescript_tidy_use_global* + Type: |Number| + Default: `get(g:, 'ale_use_global_executables', 0)` + + See |ale-integrations-local-executables| + +g:ale_purescript_tidy_options *g:ale_purescript_tidy_options* + *b:ale_purescript_tidy_options* + Type: String + Default: `''` + + This variable can be set to pass in additional option to the 'purs-tidy' + executable. +> + let g:ale_purescript_options = '--indent 3' +< +=============================================================================== purty *ale-purescript-purty* g:ale_purescript_purty_executable *g:ale_purescript_purty_executable* diff --git a/sources_non_forked/ale/doc/ale-python.txt b/sources_non_forked/ale/doc/ale-python.txt index 7f746147..6e03e872 100644 --- a/sources_non_forked/ale/doc/ale-python.txt +++ b/sources_non_forked/ale/doc/ale-python.txt @@ -356,6 +356,15 @@ g:ale_python_isort_auto_pipenv *g:ale_python_isort_auto_pipenv* if true. This is overridden by a manually-set executable. +g:ale_python_isort_auto_poetry *g:ale_python_isort_auto_poetry* + *b:ale_python_isort_auto_poetry* + Type: |Number| + Default: `0` + + Detect whether the file is inside a poetry, and set the executable to `poetry` + if true. This is overridden by a manually-set executable. + + =============================================================================== mypy *ale-python-mypy* diff --git a/sources_non_forked/ale/doc/ale-robot.txt b/sources_non_forked/ale/doc/ale-robot.txt new file mode 100644 index 00000000..405ae277 --- /dev/null +++ b/sources_non_forked/ale/doc/ale-robot.txt @@ -0,0 +1,16 @@ +=============================================================================== +ALE Robot Integration *ale-robot-options* + + +=============================================================================== +rflint *ale-robot-rflint* + +g:ale_robot_rflint_executable *g:ale_robot_rflint_executable* + *b:ale_robot_rflint_executable* + Type: |String| + Default: `'rflint'` + + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + diff --git a/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt b/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt index eaad7411..32e38b89 100644 --- a/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt +++ b/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt @@ -17,7 +17,7 @@ Notes: * `gcc` * `gnatpp` * Ansible - * `ansible-lint` + * `ansible-lint`!! * API Blueprint * `drafter` * APKBUILD @@ -66,6 +66,7 @@ Notes: * `uncrustify` * C# * `csc`!! + * `dotnet-format` * `mcs` * `mcsc`!! * `uncrustify` @@ -86,7 +87,7 @@ Notes: * `uncrustify` * Chef * `cookstyle` - * `foodcritic` + * `foodcritic`!! * Clojure * `clj-kondo` * `joker` @@ -141,7 +142,7 @@ Notes: * Elixir * `credo` * `dialyxir` - * `dogma` + * `dogma`!! * `elixir-ls` * `mix`!! * Elm @@ -155,7 +156,7 @@ Notes: * `ruumba` * Erlang * `SyntaxErl` - * `dialyzer` + * `dialyzer`!! * `elvis`!! * `erlc` * `erlfmt` @@ -183,6 +184,7 @@ Notes: * `goimports` * `golangci-lint`!! * `golangserver` + * `golines` * `golint` * `gometalinter`!! * `gopls` @@ -240,7 +242,7 @@ Notes: * `ispc`!! * Java * `PMD` - * `checkstyle` + * `checkstyle`!! * `eclipselsp` * `google-java-format` * `javac` @@ -259,16 +261,21 @@ Notes: * `tsserver` * `xo` * JSON + * `eslint` * `fixjson` * `jq` * `jsonlint` * `prettier` * `spectral` +* JSON5 + * `eslint` +* JSONC + * `eslint` * Julia * `languageserver` * Kotlin * `kotlinc`!! - * `ktlint`!! + * `ktlint` * `languageserver` * LaTeX (tex) * `alex`!! @@ -389,8 +396,8 @@ Notes: * Prolog * `swipl` * proto - * `protoc-gen-lint` - * `protolint` + * `protoc-gen-lint`!! + * `protolint`!! * Pug * `pug-lint` * Puppet @@ -399,6 +406,7 @@ Notes: * `puppet-lint` * PureScript * `purescript-language-server` + * `purs-tidy` * `purty` * Python * `autoflake`!! @@ -409,7 +417,7 @@ Notes: * `flake8` * `isort` * `mypy` - * `prospector` + * `prospector`!! * `pycodestyle` * `pydocstyle` * `pyflakes` @@ -446,10 +454,12 @@ Notes: * `textlint` * `vale` * `write-good` +* Robot + * `rflint` * RPM spec * `rpmlint` * Ruby - * `brakeman` + * `brakeman`!! * `debride` * `prettier` * `rails_best_practices`!! @@ -544,7 +554,7 @@ Notes: * `tsserver` * `typecheck` * V - * `v` + * `v`!! * `vfmt` * VALA * `uncrustify` @@ -555,7 +565,7 @@ Notes: * `verilator` * `vlog` * `xvlog` - * `yosys` + * `yosys`!! * VHDL * `ghdl` * `vcom` diff --git a/sources_non_forked/ale/doc/ale.txt b/sources_non_forked/ale/doc/ale.txt index 2f77e7c1..9a21e9f0 100644 --- a/sources_non_forked/ale/doc/ale.txt +++ b/sources_non_forked/ale/doc/ale.txt @@ -1,4 +1,4 @@ -*ale.txt* Plugin to lint and fix files asynchronously +*ale.txt* Plugin to lint and fix files asynchronously *ale* ALE - Asynchronous Lint Engine @@ -2681,6 +2681,7 @@ documented in additional help files. uncrustify............................|ale-cpp-uncrustify| c#......................................|ale-cs-options| csc...................................|ale-cs-csc| + dotnet-format.........................|ale-cs-dotnet-format| mcs...................................|ale-cs-mcs| mcsc..................................|ale-cs-mcsc| uncrustify............................|ale-cs-uncrustify| @@ -2750,6 +2751,7 @@ documented in additional help files. gofmt.................................|ale-go-gofmt| golangci-lint.........................|ale-go-golangci-lint| golangserver..........................|ale-go-golangserver| + golines...............................|ale-go-golines| golint................................|ale-go-golint| gometalinter..........................|ale-go-gometalinter| gopls.................................|ale-go-gopls| @@ -2823,11 +2825,16 @@ documented in additional help files. standard..............................|ale-javascript-standard| xo....................................|ale-javascript-xo| json....................................|ale-json-options| + eslint................................|ale-json-eslint| fixjson...............................|ale-json-fixjson| jsonlint..............................|ale-json-jsonlint| jq....................................|ale-json-jq| prettier..............................|ale-json-prettier| spectral..............................|ale-json-spectral| + jsonc...................................|ale-jsonc-options| + eslint................................|ale-jsonc-eslint| + json5...................................|ale-json5-options| + eslint................................|ale-json5-eslint| julia...................................|ale-julia-options| languageserver........................|ale-julia-languageserver| kotlin..................................|ale-kotlin-options| @@ -2933,6 +2940,7 @@ documented in additional help files. puppet-languageserver.................|ale-puppet-languageserver| purescript..............................|ale-purescript-options| purescript-language-server............|ale-purescript-language-server| + purs-tidy.............................|ale-purescript-tidy| purty.................................|ale-purescript-purty| pyrex (cython)..........................|ale-pyrex-options| cython................................|ale-pyrex-cython| @@ -2971,6 +2979,8 @@ documented in additional help files. restructuredtext........................|ale-restructuredtext-options| textlint..............................|ale-restructuredtext-textlint| write-good............................|ale-restructuredtext-write-good| + robot...................................|ale-robot-options| + rflint................................|ale-robot-rflint| ruby....................................|ale-ruby-options| brakeman..............................|ale-ruby-brakeman| debride...............................|ale-ruby-debride| @@ -4300,6 +4310,13 @@ ALEJobStarted *ALEJobStarted-autocmd* |ale#engine#IsCheckingBuffer()| over |ALELintPre-autocmd|, which is actually triggered before any linters are executed. +ALELSPStarted *ALELSPStarted-autocmd* + *ALELSPStarted* + + This |User| autocommand is trigged immediately after an LSP connection is + successfully initialized. This provides a way to perform any additional + initialization work, such as setting up buffer-level mappings. + ALEWantResults *ALEWantResults-autocmd* *ALEWantResults* diff --git a/sources_non_forked/ale/supported-tools.md b/sources_non_forked/ale/supported-tools.md index 5f36287e..4e04b53a 100644 --- a/sources_non_forked/ale/supported-tools.md +++ b/sources_non_forked/ale/supported-tools.md @@ -14,10 +14,10 @@ formatting. **Legend** -| Key | Definition | -| ------------- | -------------------------------- | -| :floppy_disk: | May only run on files on disk | -| :warning: | Disabled by default | +| Key | Definition | +| ------------- | ----------------------------------------------------------------- | +| :floppy_disk: | May only run on files on disk (see: `help ale-lint-file-linters` | +| :warning: | Disabled by default | --- @@ -26,7 +26,7 @@ formatting. * [gcc](https://gcc.gnu.org) * [gnatpp](https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/gnat_utility_programs.html#the-gnat-pretty-printer-gnatpp) :floppy_disk: * Ansible - * [ansible-lint](https://github.com/willthames/ansible-lint) + * [ansible-lint](https://github.com/willthames/ansible-lint) :floppy_disk: * API Blueprint * [drafter](https://github.com/apiaryio/drafter) * APKBUILD @@ -75,6 +75,7 @@ formatting. * [uncrustify](https://github.com/uncrustify/uncrustify) * C# * [csc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-csc` for details and configuration + * [dotnet-format](https://github.com/dotnet/format) * [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details * [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-mcsc` for details and configuration * [uncrustify](https://github.com/uncrustify/uncrustify) @@ -95,7 +96,7 @@ formatting. * [uncrustify](https://github.com/uncrustify/uncrustify) * Chef * [cookstyle](https://docs.chef.io/cookstyle.html) - * [foodcritic](http://www.foodcritic.io/) + * [foodcritic](http://www.foodcritic.io/) :floppy_disk: * Clojure * [clj-kondo](https://github.com/borkdude/clj-kondo) * [joker](https://github.com/candid82/joker) @@ -119,7 +120,7 @@ formatting. * [cucumber](https://cucumber.io/) * CUDA * [clangd](https://clang.llvm.org/extra/clangd.html) - * [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) + * [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) :floppy_disk: * Cypher * [cypher-lint](https://github.com/cleishm/libcypher-parser) * Cython (pyrex filetype) @@ -134,9 +135,9 @@ formatting. * Dart * [analysis_server](https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server) * [dart-analyze](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) :floppy_disk: - * [dart-format](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) + * [dart-format](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) :floppy_disk: * [dartanalyzer](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) :floppy_disk: - * [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) + * [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) :floppy_disk: * [language_server](https://github.com/natebosch/dart_language_server) * desktop * [desktop-file-validate](https://www.freedesktop.org/wiki/Software/desktop-file-utils/) @@ -149,7 +150,7 @@ formatting. * [hadolint](https://github.com/hadolint/hadolint) * Elixir * [credo](https://github.com/rrrene/credo) - * [dialyxir](https://github.com/jeremyjh/dialyxir) :floppy_disk: + * [dialyxir](https://github.com/jeremyjh/dialyxir) * [dogma](https://github.com/lpil/dogma) :floppy_disk: * [elixir-ls](https://github.com/elixir-lsp/elixir-ls) :warning: * [mix](https://hexdocs.pm/mix/Mix.html) :warning: :floppy_disk: @@ -164,7 +165,7 @@ formatting. * [ruumba](https://github.com/ericqweinstein/ruumba) * Erlang * [SyntaxErl](https://github.com/ten0s/syntaxerl) - * [dialyzer](http://erlang.org/doc/man/dialyzer.html) + * [dialyzer](http://erlang.org/doc/man/dialyzer.html) :floppy_disk: * [elvis](https://github.com/inaka/elvis) :floppy_disk: * [erlc](http://erlang.org/doc/man/erlc.html) * [erlfmt](https://github.com/WhatsApp/erlfmt) @@ -192,6 +193,7 @@ formatting. * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) :warning: * [golangci-lint](https://github.com/golangci/golangci-lint) :warning: :floppy_disk: * [golangserver](https://github.com/sourcegraph/go-langserver) :warning: + * [golines](https://github.com/segmentio/golines) * [golint](https://godoc.org/github.com/golang/lint) * [gometalinter](https://github.com/alecthomas/gometalinter) :warning: :floppy_disk: * [gopls](https://github.com/golang/go/wiki/gopls) @@ -249,7 +251,7 @@ formatting. * [ispc](https://ispc.github.io/) :floppy_disk: * Java * [PMD](https://pmd.github.io/) - * [checkstyle](http://checkstyle.sourceforge.net) + * [checkstyle](http://checkstyle.sourceforge.net) :floppy_disk: * [eclipselsp](https://github.com/eclipse/eclipse.jdt.ls) * [google-java-format](https://github.com/google/google-java-format) * [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html) @@ -268,16 +270,21 @@ formatting. * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29) * [xo](https://github.com/sindresorhus/xo) * JSON + * [eslint](http://eslint.org/) * [fixjson](https://github.com/rhysd/fixjson) * [jq](https://stedolan.github.io/jq/) * [jsonlint](https://github.com/zaach/jsonlint) * [prettier](https://github.com/prettier/prettier) * [spectral](https://github.com/stoplightio/spectral) +* JSON5 + * [eslint](http://eslint.org/) +* JSONC + * [eslint](http://eslint.org/) * Julia * [languageserver](https://github.com/JuliaEditorSupport/LanguageServer.jl) * Kotlin * [kotlinc](https://kotlinlang.org) :floppy_disk: - * [ktlint](https://ktlint.github.io) :floppy_disk: + * [ktlint](https://ktlint.github.io) * [languageserver](https://github.com/fwcd/KotlinLanguageServer) see `:help ale-integration-kotlin` for configuration instructions * LaTeX * [alex](https://github.com/wooorm/alex) :floppy_disk: @@ -393,13 +400,13 @@ formatting. * Pony * [ponyc](https://github.com/ponylang/ponyc) * PowerShell - * [powershell](https://github.com/PowerShell/PowerShell) :floppy_disk: - * [psscriptanalyzer](https://github.com/PowerShell/PSScriptAnalyzer) :floppy_disk: + * [powershell](https://github.com/PowerShell/PowerShell) + * [psscriptanalyzer](https://github.com/PowerShell/PSScriptAnalyzer) * Prolog * [swipl](https://github.com/SWI-Prolog/swipl-devel) * proto - * [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint) - * [protolint](https://github.com/yoheimuta/protolint) + * [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint) :floppy_disk: + * [protolint](https://github.com/yoheimuta/protolint) :floppy_disk: * Pug * [pug-lint](https://github.com/pugjs/pug-lint) * Puppet @@ -408,9 +415,10 @@ formatting. * [puppet-lint](https://puppet-lint.com) * PureScript * [purescript-language-server](https://github.com/nwolverson/purescript-language-server) + * [purs-tidy](https://github.com/natefaubion/purescript-tidy) * [purty](https://gitlab.com/joneshf/purty) * Python - * [autoflake](https://github.com/myint/autoflake) + * [autoflake](https://github.com/myint/autoflake) :floppy_disk: * [autoimport](https://lyz-code.github.io/autoimport/) * [autopep8](https://github.com/hhatto/autopep8) * [bandit](https://github.com/PyCQA/bandit) :warning: @@ -418,7 +426,7 @@ formatting. * [flake8](http://flake8.pycqa.org/en/latest/) * [isort](https://github.com/timothycrosley/isort) * [mypy](http://mypy-lang.org/) - * [prospector](https://github.com/PyCQA/prospector) :warning: + * [prospector](https://github.com/PyCQA/prospector) :warning: :floppy_disk: * [pycodestyle](https://github.com/PyCQA/pycodestyle) :warning: * [pydocstyle](https://www.pydocstyle.org/) :warning: * [pyflakes](https://github.com/PyCQA/pyflakes) @@ -455,11 +463,13 @@ formatting. * [textlint](https://textlint.github.io/) * [vale](https://github.com/ValeLint/vale) * [write-good](https://github.com/btford/write-good) +* Robot + * [rflint](https://github.com/boakley/robotframework-lint) * RPM spec * [rpmlint](https://github.com/rpm-software-management/rpmlint) :warning: (see `:help ale-integration-spec`) * Ruby * [brakeman](http://brakemanscanner.org/) :floppy_disk: - * [debride](https://github.com/seattlerb/debride) :floppy_disk: + * [debride](https://github.com/seattlerb/debride) * [prettier](https://github.com/prettier/plugin-ruby) * [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) :floppy_disk: * [reek](https://github.com/troessner/reek) @@ -553,7 +563,7 @@ formatting. * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29) * typecheck * V - * [v](https://github.com/vlang/v/) + * [v](https://github.com/vlang/v/) :floppy_disk: * [vfmt](https://github.com/vlang/v/) * VALA * [uncrustify](https://github.com/uncrustify/uncrustify) @@ -564,7 +574,7 @@ formatting. * [verilator](http://www.veripool.org/projects/verilator/wiki/Intro) * [vlog](https://www.mentor.com/products/fv/questa/) * [xvlog](https://www.xilinx.com/products/design-tools/vivado.html) - * [yosys](http://www.clifford.at/yosys/) + * [yosys](http://www.clifford.at/yosys/) :floppy_disk: * VHDL * [ghdl](https://github.com/ghdl/ghdl) * [vcom](https://www.mentor.com/products/fv/questa/) diff --git a/sources_non_forked/dracula/after/plugin/dracula.vim b/sources_non_forked/dracula/after/plugin/dracula.vim index 61eaf5cf..b07898c5 100644 --- a/sources_non_forked/dracula/after/plugin/dracula.vim +++ b/sources_non_forked/dracula/after/plugin/dracula.vim @@ -62,6 +62,11 @@ if has('nvim-0.5') && luaeval("pcall(require, 'gitsigns')") endif " }}} " Tree-sitter: {{{ +" The nvim-treesitter library defines many global highlight groups that are +" linked to the regular vim syntax highlight groups. We only need to redefine +" those highlight groups when the defaults do not match the dracula +" specification. +" https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim if exists('g:loaded_nvim_treesitter') " # Misc hi! link TSPunctSpecial Special @@ -89,6 +94,9 @@ if exists('g:loaded_nvim_treesitter') hi! link TSTitle DraculaYellow hi! link TSLiteral DraculaYellow hi! link TSURI DraculaYellow + " HTML and JSX tag attributes. By default, this group is linked to TSProperty, + " which in turn links to Identifer (white). + hi! link TSTagAttribute DraculaGreenItalic endif " }}} diff --git a/sources_non_forked/dracula/colors/dracula.vim b/sources_non_forked/dracula/colors/dracula.vim index 14f6542f..8c941101 100644 --- a/sources_non_forked/dracula/colors/dracula.vim +++ b/sources_non_forked/dracula/colors/dracula.vim @@ -232,7 +232,7 @@ hi! link Question DraculaFgBold hi! link Search DraculaSearch call s:h('SignColumn', s:comment) hi! link TabLine DraculaBoundary -hi! link TabLineFill DraculaBgDarker +hi! link TabLineFill DraculaBgDark hi! link TabLineSel Normal hi! link Title DraculaGreenBold hi! link VertSplit DraculaBoundary diff --git a/sources_non_forked/dracula/screenshot.png b/sources_non_forked/dracula/screenshot.png index cf0a36e1..a6db5c67 100644 Binary files a/sources_non_forked/dracula/screenshot.png and b/sources_non_forked/dracula/screenshot.png differ diff --git a/sources_non_forked/nerdtree/CHANGELOG.md b/sources_non_forked/nerdtree/CHANGELOG.md index 8bbc8f2c..87e0f783 100644 --- a/sources_non_forked/nerdtree/CHANGELOG.md +++ b/sources_non_forked/nerdtree/CHANGELOG.md @@ -5,6 +5,8 @@ - **.PATCH**: Pull Request Title (PR Author) [PR Number](Link to PR) --> #### 6.10 +- **.12**: Answer the question about accessing files over scp or ftp. (PhilRunninger) [#1259](https://github.com/preservim/nerdtree/pull/1259) +- **.11**: Trim filenames created via the fs_menu (elanorigby) [#1243](https://github.com/preservim/nerdtree/pull/1243) - **.10**: Improve F.A.Q. Answers and Issue Templates (PhilRunninger) [#1249](https://github.com/preservim/nerdtree/pull/1249) - **.9**: `go` on a bookmark directory will NERDTreeFind it. (PhilRunninger) [#1236](https://github.com/preservim/nerdtree/pull/1236) - **.8**: Put `Callback` function variables in local scope. (PhilRunninger) [#1230](https://github.com/preservim/nerdtree/pull/1230) diff --git a/sources_non_forked/nerdtree/README.markdown b/sources_non_forked/nerdtree/README.markdown index ea10c119..2de10d6c 100644 --- a/sources_non_forked/nerdtree/README.markdown +++ b/sources_non_forked/nerdtree/README.markdown @@ -187,3 +187,35 @@ let g:NERDTreeDirArrowExpandable = '▸' let g:NERDTreeDirArrowCollapsible = '▾' ``` The preceding values are the non-Windows default arrow symbols. Setting these variables to empty strings will remove the arrows completely and shift the entire tree two character positions to the left. See `:h NERDTreeDirArrowExpandable` for more details. + +### Can NERDTree access remote files via scp or ftp? + +Short answer: No, and there are no plans to add that functionality. However, Vim ships with a plugin that does just that. It's called netrw, and by adding the following lines to your `.vimrc`, you can use it to open files over the `scp:`, `ftp:`, or other protocols, while still using NERDTree for all local files. The function seamlessly makes the decision to open NERDTree or netrw, and other supported protocols can be added to the regular expression. + +```vim +" Function to open the file or NERDTree or netrw. +" Returns: 1 if either file explorer was opened; otherwise, 0. +function! s:OpenFileOrExplorer(...) + if a:0 == 0 || a:1 == '' + NERDTree + elseif filereadable(a:1) + execute 'edit '.a:1 + return 0 + elseif a:1 =~? '^\(scp\|ftp\)://' " Add other protocols as needed. + execute 'Vexplore '.a:1 + elseif isdirectory(a:1) + execute 'NERDTree '.a:1 + endif + return 1 +endfunction + +" Auto commands to handle OS commandline arguments +autocmd StdinReadPre * let s:std_in=1 +autocmd VimEnter * if argc()==1 && !exists('s:std_in') | if OpenFileOrExplorer(argv()[0]) | wincmd p | enew | wincmd p | endif | endif + +" Command to call the OpenFileOrExplorer function. +command! -n=? -complete=file -bar Edit :call OpenFileOrExplorer('') + +" Command-mode abbreviation to replace the :edit Vim command. +cnoreabbrev e Edit +``` diff --git a/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim b/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim index 09cb69b5..33ff6674 100644 --- a/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim +++ b/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim @@ -169,7 +169,7 @@ endfunction function! NERDTreeAddNode() let curDirNode = g:NERDTreeDirNode.GetSelected() let prompt = s:inputPrompt('add') - let newNodeName = input(prompt, curDirNode.path.str() . nerdtree#slash(), 'file') + let newNodeName = trim(input(prompt, curDirNode.path.str() . nerdtree#slash(), 'file')) if newNodeName ==# '' call nerdtree#echo('Node Creation Aborted.') @@ -206,7 +206,7 @@ function! NERDTreeMoveNode() let newNodePath = input(prompt, curNode.path.str(), 'file') while filereadable(newNodePath) call nerdtree#echoWarning('This destination already exists. Try again.') - let newNodePath = input(prompt, curNode.path.str(), 'file') + let newNodePath = trim(input(prompt, curNode.path.str(), 'file')) endwhile @@ -337,7 +337,7 @@ endfunction function! NERDTreeCopyNode() let currentNode = g:NERDTreeFileNode.GetSelected() let prompt = s:inputPrompt('copy') - let newNodePath = input(prompt, currentNode.path.str(), 'file') + let newNodePath = trim(input(prompt, currentNode.path.str(), 'file')) if newNodePath !=# '' "strip trailing slash diff --git a/sources_non_forked/rust.vim/.github/workflows/ci.yml b/sources_non_forked/rust.vim/.github/workflows/ci.yml new file mode 100644 index 00000000..bd6e2265 --- /dev/null +++ b/sources_non_forked/rust.vim/.github/workflows/ci.yml @@ -0,0 +1,9 @@ +on: push +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run tests + run: cd test && ./run-tests + shell: bash diff --git a/sources_non_forked/rust.vim/.travis.yml b/sources_non_forked/rust.vim/.travis.yml deleted file mode 100644 index fa69300e..00000000 --- a/sources_non_forked/rust.vim/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -sudo: required -services: - - docker -language: generic -script: | - cd test && ./run-tests diff --git a/sources_non_forked/rust.vim/autoload/rustfmt.vim b/sources_non_forked/rust.vim/autoload/rustfmt.vim index 5283b840..59a58e84 100644 --- a/sources_non_forked/rust.vim/autoload/rustfmt.vim +++ b/sources_non_forked/rust.vim/autoload/rustfmt.vim @@ -157,14 +157,7 @@ function! s:RunRustfmt(command, tmpname, from_writepre) endif call s:DeleteLines(len(l:content), line('$')) - if has('nvim') && exists('*nvim_buf_set_lines') - " setline() gets called for every item on the array, - " this results on the neovim buffer callbacks being called n times, - " using nvim_buf_set_lines() makes the change in one call. - call nvim_buf_set_lines(0, 0, -1, v:true, l:content) - else - call setline(1, l:content) - endif + call setline(1, l:content) " only clear location list if it was previously filled to prevent " clobbering other additions diff --git a/sources_non_forked/rust.vim/test/run-tests b/sources_non_forked/rust.vim/test/run-tests index a8c63b60..9e11ba5c 100644 --- a/sources_non_forked/rust.vim/test/run-tests +++ b/sources_non_forked/rust.vim/test/run-tests @@ -67,9 +67,9 @@ def image_exists(): def tests_on_docker(): res = docker_run("bash -lc 'python /home/vimtest/run-tests inside-docker'", ok_fail=True) if res == 0: - print "Tests OK" + print("Tests OK") else: - print "Tests Failed" + print("Tests Failed") sys.exit(1) def inside_docker(): @@ -92,7 +92,7 @@ def main(): return if not image_exists(): - print "Need to take image from remote" + print("Need to take image from remote") system("docker pull %s" % (IMAGE, )) if "-i" in sys.argv[1:]: diff --git a/sources_non_forked/vim-fugitive/autoload/fugitive.vim b/sources_non_forked/vim-fugitive/autoload/fugitive.vim index 9816233f..976b7ba8 100644 --- a/sources_non_forked/vim-fugitive/autoload/fugitive.vim +++ b/sources_non_forked/vim-fugitive/autoload/fugitive.vim @@ -38,6 +38,14 @@ function! s:Uniq(list) abort return a:list endfunction +function! s:JoinChomp(list) abort + if empty(a:list[-1]) + return join(a:list[0:-2], "\n") + else + return join(a:list, "\n") + endif +endfunction + function! s:winshell() abort return has('win32') && &shellcmdflag !~# '^-' endfunction @@ -80,9 +88,13 @@ function! s:throw(string) abort endfunction function! s:VersionCheck() abort - if v:version < 704 - return 'return ' . string('echoerr "fugitive: Vim 7.4 or newer required"') + if v:version < 703 + return 'return ' . string('echoerr "fugitive: Vim 7.3 or newer required"') elseif empty(fugitive#GitVersion()) + let exe = get(s:GitCmd(), 0, '') + if len(exe) && !executable(exe) + return 'return ' . string('echoerr "fugitive: cannot find ' . string(exe) . ' in PATH"') + endif return 'return ' . string('echoerr "fugitive: cannot execute Git"') elseif !fugitive#GitVersion(1, 8, 5) return 'return ' . string('echoerr "fugitive: Git 1.8.5 or newer required"') @@ -97,7 +109,7 @@ function! s:DirCheck(...) abort if !empty(vcheck) return vcheck endif - let dir = a:0 ? s:Dir(a:1) : s:Dir() + let dir = call('FugitiveGitDir', a:000) if !empty(dir) && FugitiveWorkTree(dir, 1) is# 0 return 'return ' . string('echoerr "fugitive: ' . s:worktree_error . '"') elseif !empty(dir) @@ -174,46 +186,48 @@ function! s:TempScript(...) abort return FugitiveGitPath(temp) endfunction -function! s:DoAutocmd(cmd) abort +function! s:DoAutocmd(...) abort if v:version >= 704 || (v:version == 703 && has('patch442')) - return 'doautocmd ' . a:cmd + return join(map(copy(a:000), "'doautocmd ' . v:val"), '|') elseif &modelines > 0 - return 'try|set modelines=0|doautocmd ' . a:cmd . '|finally|set modelines=' . &modelines . '|endtry' + return 'try|set modelines=0|' . join(map(copy(a:000), "'doautocmd ' . v:val"), '|') . '|finally|set modelines=' . &modelines . '|endtry' else - return 'doautocmd ' . a:cmd + return join(map(copy(a:000), "'doautocmd ' . v:val"), '|') endif endfunction let s:nowait = v:version >= 704 ? '' : '' function! s:Map(mode, lhs, rhs, ...) abort + let maps = [] for mode in split(a:mode, '\zs') + let skip = 0 let flags = (a:0 ? a:1 : '') . (a:rhs =~# '' ? '' : '