From b8073ac5c45694195e6d2369df0a6b177b0d4fc9 Mon Sep 17 00:00:00 2001 From: Amir Date: Sun, 20 Nov 2022 12:21:23 +0100 Subject: [PATCH] Updated plugins --- .../ale/ale_linters/awk/gawk.vim | 2 +- .../ale/ale_linters/cpp/clangtidy.vim | 2 +- .../ale/ale_linters/dockerfile/hadolint.vim | 3 +- .../ale/ale_linters/erlang/erlang_ls.vim | 49 +++++++++++ .../ale/ale_linters/make/checkmake.vim | 14 +++- .../ale/ale_linters/matlab/mlint.vim | 2 +- .../ale/ale_linters/python/ruff.vim | 84 +++++++++++++++++++ .../ale/ale_linters/tex/lacheck.vim | 2 +- .../ale/autoload/ale/code_action.vim | 2 +- .../ale/autoload/ale/completion.vim | 1 + .../ale/autoload/ale/fix/registry.vim | 5 ++ .../ale/autoload/ale/fixers/raco_fmt.vim | 15 ++++ .../ale/autoload/ale/fixers/ruff.vim | 54 ++++++++++++ .../ale/autoload/ale/handlers/hdl_checker.vim | 2 +- sources_non_forked/ale/autoload/ale/java.vim | 2 +- sources_non_forked/ale/autoload/ale/list.vim | 4 +- .../ale/autoload/ale/lsp_linter.vim | 2 +- sources_non_forked/ale/doc/ale-dockerfile.txt | 10 +++ sources_non_forked/ale/doc/ale-erlang.txt | 25 ++++++ sources_non_forked/ale/doc/ale-eruby.txt | 2 +- sources_non_forked/ale/doc/ale-go.txt | 2 +- sources_non_forked/ale/doc/ale-haskell.txt | 8 +- sources_non_forked/ale/doc/ale-java.txt | 8 +- sources_non_forked/ale/doc/ale-julia.txt | 2 +- sources_non_forked/ale/doc/ale-kotlin.txt | 2 +- sources_non_forked/ale/doc/ale-llvm.txt | 2 +- sources_non_forked/ale/doc/ale-make.txt | 18 ++++ sources_non_forked/ale/doc/ale-perl.txt | 2 +- sources_non_forked/ale/doc/ale-powershell.txt | 2 +- sources_non_forked/ale/doc/ale-proto.txt | 6 +- sources_non_forked/ale/doc/ale-purescript.txt | 2 +- sources_non_forked/ale/doc/ale-python.txt | 65 +++++++++++++- sources_non_forked/ale/doc/ale-ruby.txt | 28 +++---- sources_non_forked/ale/doc/ale-rust.txt | 4 +- .../doc/ale-supported-languages-and-tools.txt | 3 + sources_non_forked/ale/doc/ale-tex.txt | 2 +- sources_non_forked/ale/doc/ale-typescript.txt | 2 +- sources_non_forked/ale/doc/ale-verilog.txt | 2 +- sources_non_forked/ale/doc/ale-xml.txt | 2 +- sources_non_forked/ale/doc/ale.txt | 30 ++++--- sources_non_forked/ale/supported-tools.md | 3 + .../dracula/after/plugin/dracula.vim | 49 +++++++++++ sources_non_forked/dracula/colors/dracula.vim | 11 ++- sources_non_forked/dracula/doc/dracula.txt | 5 ++ .../autoload/editorconfig_core/ini.vim | 15 ++-- .../editorconfig-vim/doc/editorconfig.txt | 23 ++++- .../editorconfig-vim/plugin/editorconfig.vim | 20 ++++- .../tests/plugin/spec/editorconfig_spec.rb | 7 ++ sources_non_forked/nginx.vim/syntax/nginx.vim | 2 +- .../vim-commentary/plugin/commentary.vim | 2 +- .../vim-fugitive/autoload/fugitive.vim | 19 +++-- .../vim-fugitive/doc/fugitive.txt | 4 +- .../vim-fugitive/plugin/fugitive.vim | 2 +- .../vim-gitgutter/autoload/gitgutter/hunk.vim | 32 +++++-- .../vim-markdown/ftplugin/markdown.vim | 2 +- .../vim-multiple-cursors/Gemfile.lock | 2 +- .../vim-surround/README.markdown | 7 ++ 57 files changed, 578 insertions(+), 101 deletions(-) create mode 100644 sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim create mode 100644 sources_non_forked/ale/ale_linters/python/ruff.vim create mode 100644 sources_non_forked/ale/autoload/ale/fixers/raco_fmt.vim create mode 100644 sources_non_forked/ale/autoload/ale/fixers/ruff.vim create mode 100644 sources_non_forked/ale/doc/ale-make.txt diff --git a/sources_non_forked/ale/ale_linters/awk/gawk.vim b/sources_non_forked/ale/ale_linters/awk/gawk.vim index fe961ae3..0c3212fd 100644 --- a/sources_non_forked/ale/ale_linters/awk/gawk.vim +++ b/sources_non_forked/ale/ale_linters/awk/gawk.vim @@ -1,5 +1,5 @@ " Author: kmarc -" Description: This file adds support for using GNU awk with sripts. +" Description: This file adds support for using GNU awk with scripts. call ale#Set('awk_gawk_executable', 'gawk') call ale#Set('awk_gawk_options', '') diff --git a/sources_non_forked/ale/ale_linters/cpp/clangtidy.vim b/sources_non_forked/ale/ale_linters/cpp/clangtidy.vim index d6944aae..fa9f8e31 100644 --- a/sources_non_forked/ale/ale_linters/cpp/clangtidy.vim +++ b/sources_non_forked/ale/ale_linters/cpp/clangtidy.vim @@ -26,7 +26,7 @@ function! ale_linters#cpp#clangtidy#GetCommand(buffer, output) abort " Tell clang-tidy a .h header with a C++ filetype in Vim is a C++ file " only when compile-commands.json file is not there. Adding these - " flags makes clang-tidy completely ignore compile commmands. + " flags makes clang-tidy completely ignore compile commands. if expand('#' . a:buffer) =~# '\.h$' let l:options .= !empty(l:options) ? ' -x c++' : '-x c++' endif diff --git a/sources_non_forked/ale/ale_linters/dockerfile/hadolint.vim b/sources_non_forked/ale/ale_linters/dockerfile/hadolint.vim index 278e9466..9a6a6258 100644 --- a/sources_non_forked/ale/ale_linters/dockerfile/hadolint.vim +++ b/sources_non_forked/ale/ale_linters/dockerfile/hadolint.vim @@ -3,6 +3,7 @@ " always, yes, never call ale#Set('dockerfile_hadolint_use_docker', 'never') call ale#Set('dockerfile_hadolint_docker_image', 'hadolint/hadolint') +call ale#Set('dockerfile_hadolint_options', '') function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort " Matches patterns line the following: @@ -102,7 +103,7 @@ endfunction function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer) - let l:opts = '--no-color -' + let l:opts = ale#Var(a:buffer, 'dockerfile_hadolint_options') . ' --no-color -' if l:command is# 'docker' return printf('docker run --rm -i %s hadolint %s', diff --git a/sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim b/sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim new file mode 100644 index 00000000..b747e454 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/erlang/erlang_ls.vim @@ -0,0 +1,49 @@ +" Author: Dmitri Vereshchagin +" Description: LSP linter for Erlang files + +call ale#Set('erlang_erlang_ls_executable', 'erlang_ls') +call ale#Set('erlang_erlang_ls_log_dir', '') +call ale#Set('erlang_erlang_ls_log_level', 'info') + +function! s:GetCommand(buffer) abort + let l:log_dir = ale#Var(a:buffer, 'erlang_erlang_ls_log_dir') + let l:log_level = ale#Var(a:buffer, 'erlang_erlang_ls_log_level') + + let l:command = '%e' + + if !empty(l:log_dir) + let l:command .= ' --log-dir=' . ale#Escape(l:log_dir) + endif + + let l:command .= ' --log-level=' . ale#Escape(l:log_level) + + return l:command +endfunction + +function! s:FindProjectRoot(buffer) abort + let l:markers = ['_build/', 'erlang_ls.config', 'rebar.lock'] + + " This is a way to find Erlang/OTP root (the one that is managed + " by kerl or asdf). Useful if :ALEGoToDefinition takes us there. + let l:markers += ['.kerl_config'] + + for l:marker in l:markers + let l:path = l:marker[-1:] is# '/' + \ ? ale#path#FindNearestDirectory(a:buffer, l:marker) + \ : ale#path#FindNearestFile(a:buffer, l:marker) + + if !empty(l:path) + return ale#path#Dirname(l:path) + endif + endfor + + return '' +endfunction + +call ale#linter#Define('erlang', { +\ 'name': 'erlang_ls', +\ 'executable': {b -> ale#Var(b, 'erlang_erlang_ls_executable')}, +\ 'command': function('s:GetCommand'), +\ 'lsp': 'stdio', +\ 'project_root': function('s:FindProjectRoot'), +\}) diff --git a/sources_non_forked/ale/ale_linters/make/checkmake.vim b/sources_non_forked/ale/ale_linters/make/checkmake.vim index d5f95d6f..fed01b5f 100644 --- a/sources_non_forked/ale/ale_linters/make/checkmake.vim +++ b/sources_non_forked/ale/ale_linters/make/checkmake.vim @@ -1,5 +1,7 @@ " Author: aurieh - https://github.com/aurieh +call ale#Set('make_checkmake_config', '') + function! ale_linters#make#checkmake#Handle(buffer, lines) abort let l:pattern = '\v^(\d+):(.+):(.+)$' let l:output = [] @@ -17,9 +19,19 @@ function! ale_linters#make#checkmake#Handle(buffer, lines) abort return l:output endfunction +function! ale_linters#make#checkmake#GetCommand(buffer) abort + let l:config = ale#Var(a:buffer, 'make_checkmake_config') + let l:cmd = 'checkmake' + \ . ' --format="{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"' + \ . (!empty(l:config) ? ' --config="' . l:config . '"' : '') + \ . ' %s' + + return l:cmd +endfunction + call ale#linter#Define('make', { \ 'name': 'checkmake', \ 'executable': 'checkmake', -\ 'command': 'checkmake %s --format="{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"', +\ 'command': function('ale_linters#make#checkmake#GetCommand'), \ 'callback': 'ale_linters#make#checkmake#Handle', \}) diff --git a/sources_non_forked/ale/ale_linters/matlab/mlint.vim b/sources_non_forked/ale/ale_linters/matlab/mlint.vim index f58f8b6d..e7daf37e 100644 --- a/sources_non_forked/ale/ale_linters/matlab/mlint.vim +++ b/sources_non_forked/ale/ale_linters/matlab/mlint.vim @@ -17,7 +17,7 @@ function! ale_linters#matlab#mlint#Handle(buffer, lines) abort let l:code = l:match[3] let l:text = l:match[4] - " Suppress erroneous waring about filename + " Suppress erroneous warning about filename " TODO: Enable this error when copying filename is supported if l:code is# 'FNDEF' continue diff --git a/sources_non_forked/ale/ale_linters/python/ruff.vim b/sources_non_forked/ale/ale_linters/python/ruff.vim new file mode 100644 index 00000000..67595fe3 --- /dev/null +++ b/sources_non_forked/ale/ale_linters/python/ruff.vim @@ -0,0 +1,84 @@ +" Author: Yining +" Description: ruff as linter for python files + +call ale#Set('python_ruff_executable', 'ruff') +call ale#Set('python_ruff_options', '') +call ale#Set('python_ruff_use_global', get(g:, 'ale_use_global_executables', 0)) +call ale#Set('python_ruff_change_directory', 1) +call ale#Set('python_ruff_auto_pipenv', 0) +call ale#Set('python_ruff_auto_poetry', 0) + +call ale#fix#registry#Add('ruff', +\ 'ale#fixers#ruff#Fix', +\ ['python'], +\ 'A python linter/fixer for Python written in Rust' +\) + +function! ale_linters#python#ruff#GetExecutable(buffer) abort + if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_ruff_auto_pipenv')) + \ && ale#python#PipenvPresent(a:buffer) + return 'pipenv' + endif + + if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_ruff_auto_poetry')) + \ && ale#python#PoetryPresent(a:buffer) + return 'poetry' + endif + + return ale#python#FindExecutable(a:buffer, 'python_ruff', ['ruff']) +endfunction + +function! ale_linters#python#ruff#GetCwd(buffer) abort + if ale#Var(a:buffer, 'python_ruff_change_directory') + " Run from project root if found, else from buffer dir. + let l:project_root = ale#python#FindProjectRoot(a:buffer) + + return !empty(l:project_root) ? l:project_root : '%s:h' + endif + + return '' +endfunction + +function! ale_linters#python#ruff#GetCommand(buffer, version) abort + let l:executable = ale_linters#python#ruff#GetExecutable(a:buffer) + let l:exec_args = l:executable =~? 'pipenv\|poetry$' + \ ? ' run ruff' + \ : '' + + " NOTE: ruff version `0.0.69` supports liniting input from stdin + return ale#Escape(l:executable) . l:exec_args + \ . ale#Pad(ale#Var(a:buffer, 'python_ruff_options')) + \ . ' --format text' + \ . (ale#semver#GTE(a:version, [0, 0, 69]) ? ' -' : ' %s') +endfunction + +function! ale_linters#python#ruff#Handle(buffer, lines) abort + "Example: path/to/file.py:10:5: E999 SyntaxError: unexpected indent + let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+)?:? (.+)$' + let l:output = [] + + for l:match in ale#util#GetMatches(a:lines, l:pattern) + call add(l:output, { + \ 'lnum': l:match[1] + 0, + \ 'col': l:match[2] + 0, + \ 'text': l:match[3], + \}) + endfor + + return l:output +endfunction + +call ale#linter#Define('python', { +\ 'name': 'ruff', +\ 'executable': function('ale_linters#python#ruff#GetExecutable'), +\ 'cwd': function('ale_linters#python#ruff#GetCwd'), +\ 'command': {buffer -> ale#semver#RunWithVersionCheck( +\ buffer, +\ ale_linters#python#ruff#GetExecutable(buffer), +\ '%e --version', +\ function('ale_linters#python#ruff#GetCommand'), +\ )}, +\ 'callback': 'ale_linters#python#ruff#Handle', +\ 'output_stream': 'both', +\ 'read_buffer': 1, +\}) diff --git a/sources_non_forked/ale/ale_linters/tex/lacheck.vim b/sources_non_forked/ale/ale_linters/tex/lacheck.vim index 19d69403..35aad083 100644 --- a/sources_non_forked/ale/ale_linters/tex/lacheck.vim +++ b/sources_non_forked/ale/ale_linters/tex/lacheck.vim @@ -13,7 +13,7 @@ function! ale_linters#tex#lacheck#Handle(buffer, lines) abort for l:match in ale#util#GetMatches(a:lines, l:pattern) " lacheck follows `\input{}` commands. If the cwd is not the same as the - " file in the buffer then it will fail to find the inputed items. We do not + " file in the buffer then it will fail to find the inputted items. We do not " want warnings from those items anyway if !empty(matchstr(l:match[3], '^Could not open ".\+"$')) continue diff --git a/sources_non_forked/ale/autoload/ale/code_action.vim b/sources_non_forked/ale/autoload/ale/code_action.vim index 60106a24..db31aad5 100644 --- a/sources_non_forked/ale/autoload/ale/code_action.vim +++ b/sources_non_forked/ale/autoload/ale/code_action.vim @@ -216,7 +216,7 @@ function! s:UpdateCursor(cursor, start, end, offset) abort " to the end of the changes let l:cur_line = l:end_line + l:line_offset let l:cur_column = l:end_column + l:column_offset - " else is not necesary, it means modifications are happening + " else is not necessary, it means modifications are happening " after the cursor so no cursor updates need to be done endif endif diff --git a/sources_non_forked/ale/autoload/ale/completion.vim b/sources_non_forked/ale/autoload/ale/completion.vim index 920c03cc..c05ca53d 100644 --- a/sources_non_forked/ale/autoload/ale/completion.vim +++ b/sources_non_forked/ale/autoload/ale/completion.vim @@ -130,6 +130,7 @@ let s:should_complete_map = { \ '': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$', \ 'clojure': s:lisp_regex, \ 'lisp': s:lisp_regex, +\ 'racket': '\k\+$', \ 'typescript': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|''$|"$', \ 'rust': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$', \ 'cpp': '\v[a-zA-Z$_][a-zA-Z$_0-9]*$|\.$|::$|-\>$', diff --git a/sources_non_forked/ale/autoload/ale/fix/registry.vim b/sources_non_forked/ale/autoload/ale/fix/registry.vim index f058123e..2062f543 100644 --- a/sources_non_forked/ale/autoload/ale/fix/registry.vim +++ b/sources_non_forked/ale/autoload/ale/fix/registry.vim @@ -570,6 +570,11 @@ let s:default_registry = { \ 'function': 'ale#fixers#zigfmt#Fix', \ 'suggested_filetypes': ['zig'], \ 'description': 'Official formatter for Zig', +\ }, +\ 'raco_fmt': { +\ 'function': 'ale#fixers#raco_fmt#Fix', +\ 'suggested_filetypes': ['racket'], +\ 'description': 'Fix Racket files with raco fmt.', \ } \} diff --git a/sources_non_forked/ale/autoload/ale/fixers/raco_fmt.vim b/sources_non_forked/ale/autoload/ale/fixers/raco_fmt.vim new file mode 100644 index 00000000..16cf4468 --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/fixers/raco_fmt.vim @@ -0,0 +1,15 @@ +" Author: Jeremy Cantrell +" Description: Integration of raco fmt with ALE. + +call ale#Set('racket_raco_fmt_executable', 'raco') +call ale#Set('racket_raco_fmt_options', '') + +function! ale#fixers#raco_fmt#Fix(buffer) abort + let l:executable = ale#Var(a:buffer, 'racket_raco_fmt_executable') + let l:options = ale#Var(a:buffer, 'racket_raco_fmt_options') + + return { + \ 'command': ale#Escape(l:executable) . ' fmt' + \ . (empty(l:options) ? '' : ' ' . l:options), + \} +endfunction diff --git a/sources_non_forked/ale/autoload/ale/fixers/ruff.vim b/sources_non_forked/ale/autoload/ale/fixers/ruff.vim new file mode 100644 index 00000000..92f9b75b --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/fixers/ruff.vim @@ -0,0 +1,54 @@ +" Author: Yining +" Description: ruff as ALE fixer for python files + +function! ale#fixers#ruff#GetCwd(buffer) abort + if ale#Var(a:buffer, 'python_ruff_change_directory') + " Run from project root if found, else from buffer dir. + let l:project_root = ale#python#FindProjectRoot(a:buffer) + + return !empty(l:project_root) ? l:project_root : '%s:h' + endif + + return '' +endfunction + +function! ale#fixers#ruff#GetExecutable(buffer) abort + if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_ruff_auto_pipenv')) + \ && ale#python#PipenvPresent(a:buffer) + return 'pipenv' + endif + + if (ale#Var(a:buffer, 'python_auto_poetry') || ale#Var(a:buffer, 'python_ruff_auto_poetry')) + \ && ale#python#PoetryPresent(a:buffer) + return 'poetry' + endif + + return ale#python#FindExecutable(a:buffer, 'python_ruff', ['ruff']) +endfunction + +function! ale#fixers#ruff#GetCommand(buffer, version) abort + let l:executable = ale_linters#python#ruff#GetExecutable(a:buffer) + let l:exec_args = l:executable =~? 'pipenv\|poetry$' + \ ? ' run ruff' + \ : '' + + " NOTE: ruff version `0.0.72` implement `--fix` with stdin + return ale#Escape(l:executable) . l:exec_args + \ . ale#Pad(ale#Var(a:buffer, 'python_ruff_options')) + \ . ' --fix' + \ . (ale#semver#GTE(a:version, [0, 0, 72]) ? ' -' : ' %s') +endfunction + +function! ale#fixers#ruff#Fix(buffer) abort + let l:fix_cmd = {buffer -> ale#semver#RunWithVersionCheck( + \ buffer, + \ ale#fixers#ruff#GetExecutable(buffer), + \ '%e --version', + \ function('ale#fixers#ruff#GetCommand'), + \ )}(a:buffer) + + return { + \ 'cwd': ale#fixers#ruff#GetCwd(a:buffer), + \ 'command': l:fix_cmd, + \} +endfunction diff --git a/sources_non_forked/ale/autoload/ale/handlers/hdl_checker.vim b/sources_non_forked/ale/autoload/ale/handlers/hdl_checker.vim index e11c5377..e871b083 100644 --- a/sources_non_forked/ale/autoload/ale/handlers/hdl_checker.vim +++ b/sources_non_forked/ale/autoload/ale/handlers/hdl_checker.vim @@ -13,7 +13,7 @@ function! ale#handlers#hdl_checker#IsDotGit(path) abort return ! empty(a:path) && isdirectory(a:path) endfunction -" Sould return (in order of preference) +" Should return (in order of preference) " 1. Nearest config file " 2. Nearest .git directory " 3. The current path diff --git a/sources_non_forked/ale/autoload/ale/java.vim b/sources_non_forked/ale/autoload/ale/java.vim index e641ac6c..859d938d 100644 --- a/sources_non_forked/ale/autoload/ale/java.vim +++ b/sources_non_forked/ale/autoload/ale/java.vim @@ -1,7 +1,7 @@ " Author: Horacio Sanson https://github.com/hsanson " Description: Functions for integrating with Java tools -" Find the nearest dir contining a gradle or pom file and asume it +" Find the nearest dir contining a gradle or pom file and assume it " the root of a java app. function! ale#java#FindProjectRoot(buffer) abort let l:gradle_root = ale#gradle#FindProjectRoot(a:buffer) diff --git a/sources_non_forked/ale/autoload/ale/list.vim b/sources_non_forked/ale/autoload/ale/list.vim index f10d0910..8ce8597e 100644 --- a/sources_non_forked/ale/autoload/ale/list.vim +++ b/sources_non_forked/ale/autoload/ale/list.vim @@ -18,7 +18,7 @@ if !exists('s:timer_args') let s:timer_args = {} endif -" Return 1 if there is a buffer with buftype == 'quickfix' in bufffer list +" Return 1 if there is a buffer with buftype == 'quickfix' in buffer list function! ale#list#IsQuickfixOpen() abort let l:res = getqflist({ 'winid' : winnr() }) @@ -190,7 +190,7 @@ function! s:RestoreViewIfNeeded(buffer) abort return endif - " Check wether the cursor has moved since linting was actually requested. If + " Check whether the cursor has moved since linting was actually requested. If " the user has indeed moved lines, do nothing let l:current_view = winsaveview() diff --git a/sources_non_forked/ale/autoload/ale/lsp_linter.vim b/sources_non_forked/ale/autoload/ale/lsp_linter.vim index 1fb2e9b6..1c98d628 100644 --- a/sources_non_forked/ale/autoload/ale/lsp_linter.vim +++ b/sources_non_forked/ale/autoload/ale/lsp_linter.vim @@ -434,7 +434,7 @@ function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort if empty(l:root) && a:linter.lsp isnot# 'tsserver' " If there's no project root, then we can't check files with LSP, " unless we are using tsserver, which doesn't use project roots. - call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server wont't start.") + call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server won't start.") return 0 endif diff --git a/sources_non_forked/ale/doc/ale-dockerfile.txt b/sources_non_forked/ale/doc/ale-dockerfile.txt index b6e87623..51b9acc1 100644 --- a/sources_non_forked/ale/doc/ale-dockerfile.txt +++ b/sources_non_forked/ale/doc/ale-dockerfile.txt @@ -37,6 +37,16 @@ hadolint *ale-dockerfile-hadolint* hadolint can be found at: https://github.com/hadolint/hadolint +g:ale_dockerfile_hadolint_options *g:ale_dockerfile_hadolint_options* + *b:ale_dockerfile_hadolint_options* + Type: |String| + Default: `''` + + This variable can be changed to add command-line arguments to the hadolint + invocation. These arguments will be used whether docker is being used or not + (see below). + + g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker* *b:ale_dockerfile_hadolint_use_docker* Type: |String| diff --git a/sources_non_forked/ale/doc/ale-erlang.txt b/sources_non_forked/ale/doc/ale-erlang.txt index ede179d1..2c6ff22a 100644 --- a/sources_non_forked/ale/doc/ale-erlang.txt +++ b/sources_non_forked/ale/doc/ale-erlang.txt @@ -51,6 +51,31 @@ g:ale_erlang_elvis_executable *g:ale_erlang_elvis_executable* This variable can be changed to specify the elvis executable. +------------------------------------------------------------------------------- +erlang_ls *ale-erlang-erlang_ls* + +g:ale_erlang_erlang_ls_executable *g:ale_erlang_erlang_ls_executable* + *b:ale_erlang_erlang_ls_executable* + Type: |String| + Default: `'erlang_ls'` + + This variable can be changed to specify the erlang_ls executable. + +g:ale_erlang_erlang_ls_log_dir *g:ale_erlang_erlang_ls_log_dir* + *b:ale_erlang_erlang_ls_log_dir* + Type: |String| + Default: `''` + + If set this variable overrides default directory where logs will be written. + +g:ale_erlang_erlang_ls_log_level *g:ale_erlang_erlang_ls_log_level* + *b:ale_erlang_erlang_ls_log_level* + Type: |String| + Default: `'info'` + + This variable can be changed to specify log level. + + ------------------------------------------------------------------------------- erlc *ale-erlang-erlc* diff --git a/sources_non_forked/ale/doc/ale-eruby.txt b/sources_non_forked/ale/doc/ale-eruby.txt index 48a34895..4cf08d07 100644 --- a/sources_non_forked/ale/doc/ale-eruby.txt +++ b/sources_non_forked/ale/doc/ale-eruby.txt @@ -39,7 +39,7 @@ ruumba *ale-eruby-ruumba* g:ale_eruby_ruumba_executable *g:ale_eruby_ruumba_executable* *b:ale_eruby_ruumba_executable* - Type: String + Type: |String| Default: `'ruumba` Override the invoked ruumba binary. This is useful for running ruumba diff --git a/sources_non_forked/ale/doc/ale-go.txt b/sources_non_forked/ale/doc/ale-go.txt index bce85470..367618ea 100644 --- a/sources_non_forked/ale/doc/ale-go.txt +++ b/sources_non_forked/ale/doc/ale-go.txt @@ -169,7 +169,7 @@ g:ale_go_golines_executable *g:ale_go_lines_executable* g:ale_go_golines_options *g:ale_go_golines_options* *b:ale_go_golines_options* Type: |String| - Default: '' + Default: `''` Additional options passed to the golines command. By default golines has --max-length=100 (lines above 100 characters will be wrapped) diff --git a/sources_non_forked/ale/doc/ale-haskell.txt b/sources_non_forked/ale/doc/ale-haskell.txt index 10b676d7..bd5a5edf 100644 --- a/sources_non_forked/ale/doc/ale-haskell.txt +++ b/sources_non_forked/ale/doc/ale-haskell.txt @@ -123,8 +123,8 @@ g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable* g:ale_haskell_hlint_options g:ale_haskell_hlint_options b:ale_haskell_hlint_options - Type: String - Default: '' + Type: |String| + Default: `''` This variable can be used to pass extra options to the underlying hlint executable. @@ -217,8 +217,8 @@ g:ale_haskell_ormolu_executable *g:ale_haskell_ormolu_executable* g:ale_haskell_ormolu_options *g:ale_haskell_ormolu_options* *b:ale_haskell_ormolu_options* - Type: String - Default: '' + Type: |String| + Default: `''` This variable can be used to pass extra options to the underlying ormolu executable. diff --git a/sources_non_forked/ale/doc/ale-java.txt b/sources_non_forked/ale/doc/ale-java.txt index fa38fd3a..8767c791 100644 --- a/sources_non_forked/ale/doc/ale-java.txt +++ b/sources_non_forked/ale/doc/ale-java.txt @@ -24,7 +24,7 @@ g:ale_java_checkstyle_executable *g:ale_java_checkstyle_executable* *b:ale_java_checkstyle_executable* Type: |String| - Default: 'checkstyle' + Default: `'checkstyle'` This variable can be changed to modify the executable used for checkstyle. @@ -124,8 +124,8 @@ pmd *ale-java-pmd* g:ale_java_pmd_options *g:ale_java_pmd_options* *b:ale_java_pmd_options* - Type: String - Default: '-R category/java/bestpractices' + Type: |String| + Default: `'-R category/java/bestpractices'` This variable can be changed to modify flags given to PMD. Do not specify -f and -d. They are added automatically. @@ -173,7 +173,7 @@ g:ale_java_javalsp_config *g:ale_java_javalsp_config* Type: |Dictionary| Default: `{}` -The javalsp linter automatically detects external depenencies for Maven and +The javalsp linter automatically detects external dependencies for Maven and Gradle projects. In case the javalsp fails to detect some of them, you can specify them setting a dictionary to |g:ale_java_javalsp_config| variable. > diff --git a/sources_non_forked/ale/doc/ale-julia.txt b/sources_non_forked/ale/doc/ale-julia.txt index 51532419..ab74ee12 100644 --- a/sources_non_forked/ale/doc/ale-julia.txt +++ b/sources_non_forked/ale/doc/ale-julia.txt @@ -11,7 +11,7 @@ g:ale_julia_executable *g:ale_julia_executable* *b:ale_julia_executable* Type: |String| - Default: 'julia' + Default: `'julia'` Path to the julia exetuable. diff --git a/sources_non_forked/ale/doc/ale-kotlin.txt b/sources_non_forked/ale/doc/ale-kotlin.txt index 4028531f..87cf56c5 100644 --- a/sources_non_forked/ale/doc/ale-kotlin.txt +++ b/sources_non_forked/ale/doc/ale-kotlin.txt @@ -79,7 +79,7 @@ g:ale_kotlin_ktlint_executable *g:ale_kotlin_ktlint_executable* g:ale_kotlin_ktlint_rulesets *g:ale_kotlin_ktlint_rulesets* Type: |List| of |String|s - Default: [] + Default: `[]` This list should contain paths to ruleset jars and/or strings of maven artifact triples. Example: diff --git a/sources_non_forked/ale/doc/ale-llvm.txt b/sources_non_forked/ale/doc/ale-llvm.txt index 2f4a46bd..fff1c305 100644 --- a/sources_non_forked/ale/doc/ale-llvm.txt +++ b/sources_non_forked/ale/doc/ale-llvm.txt @@ -9,7 +9,7 @@ g:ale_llvm_llc_executable *g:ale_llvm_llc_executable* *b:ale_llvm_llc_executable* Type: |String| - Default: "llc" + Default: `"llc"` The command to use for checking. This variable is useful when llc command has suffix like "llc-5.0". diff --git a/sources_non_forked/ale/doc/ale-make.txt b/sources_non_forked/ale/doc/ale-make.txt new file mode 100644 index 00000000..74de798f --- /dev/null +++ b/sources_non_forked/ale/doc/ale-make.txt @@ -0,0 +1,18 @@ +=============================================================================== +ALE Make Integration *ale-make-options* + + +=============================================================================== +checkmake *ale-make-checkmake* + +g:ale_make_checkmake_config *g:ale_make_checkmake_config* + *b:ale_make_checkmake_config* + Type: |String| + Default: `''` + + This variable can be used to set the `--config` option of checkmake command. + if the value is empty, the checkmake command will not be invoked with the + option. + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-perl.txt b/sources_non_forked/ale/doc/ale-perl.txt index 761c2735..5eebc0e3 100644 --- a/sources_non_forked/ale/doc/ale-perl.txt +++ b/sources_non_forked/ale/doc/ale-perl.txt @@ -72,7 +72,7 @@ g:ale_perl_perlcritic_options *g:ale_perl_perlcritic_options* g:ale_perl_perlcritic_showrules *g:ale_perl_perlcritic_showrules* Type: |Number| - Default: 0 + Default: `0` Controls whether perlcritic rule names are shown after the error message. Defaults to off to reduce length of message. diff --git a/sources_non_forked/ale/doc/ale-powershell.txt b/sources_non_forked/ale/doc/ale-powershell.txt index 46bc6cfb..44a3c618 100644 --- a/sources_non_forked/ale/doc/ale-powershell.txt +++ b/sources_non_forked/ale/doc/ale-powershell.txt @@ -13,7 +13,7 @@ powershell *ale-powershell-powershell* g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable* *b:ale_powershell_powershell_executable* - Type: String + Type: |String| Default: `'pwsh'` This variable can be changed to use a different executable for powershell. diff --git a/sources_non_forked/ale/doc/ale-proto.txt b/sources_non_forked/ale/doc/ale-proto.txt index a1bf1303..198ae3b6 100644 --- a/sources_non_forked/ale/doc/ale-proto.txt +++ b/sources_non_forked/ale/doc/ale-proto.txt @@ -25,7 +25,7 @@ buf-format *ale-proto-buf-format* g:ale_proto_buf_format_executable *g:ale_proto_buf_format_executable* Type: |String| - Default: 'buf' + Default: `'buf'` This variable can be changed to modify the executable used for buf. @@ -39,7 +39,7 @@ buf-lint *ale-proto-buf-lint* g:ale_proto_buf_lint_executable *g:ale_proto_buf_lint_executable* Type: |String| - Default: 'buf' + Default: `'buf'` This variable can be changed to modify the executable used for buf. @@ -80,7 +80,7 @@ protolint *ale-proto-protolint g:ale_proto_protolint_executable *g:ale_proto_protolint_executable* Type: |String| - Default: 'protolint' + Default: `'protolint'` This variable can be changed to modify the executable used for protolint. diff --git a/sources_non_forked/ale/doc/ale-purescript.txt b/sources_non_forked/ale/doc/ale-purescript.txt index 91bef558..25b3dd8d 100644 --- a/sources_non_forked/ale/doc/ale-purescript.txt +++ b/sources_non_forked/ale/doc/ale-purescript.txt @@ -48,7 +48,7 @@ g:ale_purescript_tidy_use_global *g:ale_purescript_tidy_use_global* g:ale_purescript_tidy_options *g:ale_purescript_tidy_options* *b:ale_purescript_tidy_options* - Type: String + Type: |String| Default: `''` This variable can be set to pass in additional option to the 'purs-tidy' diff --git a/sources_non_forked/ale/doc/ale-python.txt b/sources_non_forked/ale/doc/ale-python.txt index d5d01dc5..6badcff3 100644 --- a/sources_non_forked/ale/doc/ale-python.txt +++ b/sources_non_forked/ale/doc/ale-python.txt @@ -979,7 +979,7 @@ g:ale_python_pylsp_options *g:ale_python_pylsp_options let g:ale_python_pylsp_executable = 'python3' let g:ale_python_pylsp_options = '-m pylsp' - An example stragety for installing `pylsp`: + An example strategy for installing `pylsp`: `python3 -m pip install --user pylsp` @@ -1115,6 +1115,69 @@ g:ale_python_reorder_python_imports_use_global See |ale-integrations-local-executables| +=============================================================================== +ruff *ale-python-ruff* + +g:ale_python_ruff_change_directory *g:ale_python_ruff_change_directory* + *b:ale_python_ruff_change_directory* + Type: |Number| + Default: `1` + + If set to `1`, `ruff` will be run from a detected project root, per + |ale-python-root|. if set to `0` or no project root detected, + `ruff` will be run from the buffer's directory. + + +g:ale_python_ruff_executable *g:ale_python_ruff_executable* + *b:ale_python_ruff_executable* + Type: |String| + Default: `'ruff'` + + See |ale-integrations-local-executables| + + Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`. + Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`. + + +g:ale_python_ruff_options *g:ale_python_ruff_options* + *b:ale_python_ruff_options* + Type: |String| + Default: `''` + + This variable can be changed to add command-line arguments to the ruff + invocation. + + For example, to select/enable and/or disable some error codes, + you may want to set > + let g:ale_python_ruff_options = '--ignore F401' + + +g:ale_python_ruff_use_global *g:ale_python_ruff_use_global* + *b:ale_python_ruff_use_global* + Type: |Number| + Default: `get(g:, 'ale_use_global_executables', 0)` + + See |ale-integrations-local-executables| + + +g:ale_python_ruff_auto_pipenv *g:ale_python_ruff_auto_pipenv* + *b:ale_python_ruff_auto_pipenv* + Type: |Number| + Default: `0` + + Detect whether the file is inside a pipenv, and set the executable to `pipenv` + if true. This is overridden by a manually-set executable. + + +g:ale_python_ruff_auto_poetry *g:ale_python_ruff_auto_poetry* + *b:ale_python_ruff_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. + + =============================================================================== unimport *ale-python-unimport* diff --git a/sources_non_forked/ale/doc/ale-ruby.txt b/sources_non_forked/ale/doc/ale-ruby.txt index bd7bd57d..b0773fdd 100644 --- a/sources_non_forked/ale/doc/ale-ruby.txt +++ b/sources_non_forked/ale/doc/ale-ruby.txt @@ -7,7 +7,7 @@ brakeman *ale-ruby-brakeman* g:ale_ruby_brakeman_executable *g:ale_ruby_brakeman_executable* *b:ale_ruby_brakeman_executable* - Type: String + Type: |String| Default: `'brakeman'` Override the invoked brakeman binary. Set this to `'bundle'` to invoke @@ -33,7 +33,7 @@ debride *ale-ruby-debride* g:ale_ruby_debride_executable *g:ale_ruby_debride_executable* *b:ale_ruby_debride_executable* - Type: String + Type: |String| Default: `'debride'` Override the invoked debride binary. Set this to `'bundle'` to invoke @@ -60,7 +60,7 @@ rails_best_practices *ale-ruby-rails_best_practices* g:ale_ruby_rails_best_practices_executable *g:ale_ruby_rails_best_practices_executable* *b:ale_ruby_rails_best_practices_executable* - Type: String + Type: |String| Default: `'rails_best_practices'` Override the invoked rails_best_practices binary. Set this to `'bundle'` to @@ -81,7 +81,7 @@ reek *ale-ruby-reek* g:ale_ruby_reek_executable *g:ale_ruby_reek_executable* *b:ale_ruby_reek_executable* - Type: String + Type: |String| Default: `'reek'` Override the invoked reek binary. Set this to `'bundle'` to invoke @@ -91,7 +91,7 @@ g:ale_ruby_reek_executable *g:ale_ruby_reek_executable* g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context* *b:ale_ruby_reek_show_context* Type: |Number| - Default: 0 + Default: `0` Controls whether context is included in the linter message. Defaults to off because context is usually obvious while viewing a file. @@ -100,7 +100,7 @@ g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context* g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link* *b:ale_ruby_reek_show_wiki_link* Type: |Number| - Default: 0 + Default: `0` Controls whether linter messages contain a link to an explanatory wiki page for the type of code smell. Defaults to off to improve readability. @@ -111,7 +111,7 @@ rubocop *ale-ruby-rubocop* g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable* *b:ale_ruby_rubocop_executable* - Type: String + Type: |String| Default: `'rubocop'` Override the invoked rubocop binary. Set this to `'bundle'` to invoke @@ -128,7 +128,7 @@ g:ale_ruby_rubocop_options *g:ale_ruby_rubocop_options* g:ale_ruby_rubocop_auto_correct_all *g:ale_ruby_rubocop_auto_correct_all* *b:ale_ruby_rubocop_auto_correct_all* - Type: Number + Type: |Number| Default: `0` This variable can be changed to make rubocop to correct all offenses (unsafe). @@ -139,7 +139,7 @@ ruby *ale-ruby-ruby* g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable* *b:ale_ruby_ruby_executable* - Type: String + Type: |String| Default: `'ruby'` This variable can be changed to use a different executable for ruby. @@ -150,7 +150,7 @@ rufo *ale-ruby-rufo* g:ale_ruby_rufo_executable *g:ale_ruby_rufo_executable* *b:ale_ruby_rufo_executable* - Type: String + Type: |String| Default: `'rufo'` Override the invoked rufo binary. This is useful for running rufo from @@ -162,7 +162,7 @@ solargraph *ale-ruby-solargraph* g:ale_ruby_solargraph_executable *g:ale_ruby_solargraph_executable* *b:ale_ruby_solargraph_executable* - Type: String + Type: |String| Default: `'solargraph'` Override the invoked solargraph binary. This is useful for running solargraph @@ -174,7 +174,7 @@ sorbet *ale-ruby-sorbet* g:ale_ruby_sorbet_executable *g:ale_ruby_sorbet_executable* *b:ale_ruby_sorbet_executable* - Type: String + Type: |String| Default: `'srb'` Override the invoked sorbet binary. Set this to `'bundle'` to invoke @@ -204,7 +204,7 @@ standardrb *ale-ruby-standardrb* g:ale_ruby_standardrb_executable *g:ale_ruby_standardrb_executable* *b:ale_ruby_standardrb_executable* - Type: String + Type: |String| Default: `'standardrb'` Override the invoked standardrb binary. Set this to `'bundle'` to invoke @@ -224,7 +224,7 @@ syntax_tree *ale-ruby-syntax_tree* g:ale_ruby_syntax_tree_executable *g:ale_ruby_syntax_tree_executable* *b:ale_ruby_syntax_tree_executable* - Type: String + Type: |String| Default: `'stree'` Override the invoked SyntaxTree binary. Set this to `'bundle'` to invoke diff --git a/sources_non_forked/ale/doc/ale-rust.txt b/sources_non_forked/ale/doc/ale-rust.txt index c8ec9b13..ceef12e3 100644 --- a/sources_non_forked/ale/doc/ale-rust.txt +++ b/sources_non_forked/ale/doc/ale-rust.txt @@ -261,8 +261,8 @@ g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes* g:ale_rust_ignore_secondary_spans *g:ale_rust_ignore_secondary_spans* *b:ale_rust_ignore_secondary_spans* - Type: Number - Default: 0 + Type: |Number| + Default: `0` When set to 1, instructs the Rust error reporting to ignore secondary spans. The problem with secondary spans is that they sometimes appear in error 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 476b57f6..591f1cb3 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 @@ -178,6 +178,7 @@ Notes: * `SyntaxErl` * `dialyzer`!! * `elvis`!! + * `erlang_ls` * `erlc` * `erlfmt` * Fish @@ -482,6 +483,7 @@ Notes: * `pyre` * `pyright` * `reorder-python-imports` + * ruff * `unimport` * `vulture`!! * `yapf` @@ -495,6 +497,7 @@ Notes: * Racket * `racket-langserver` * `raco` + * `raco_fmt` * Re:VIEW * `redpen` * ReasonML diff --git a/sources_non_forked/ale/doc/ale-tex.txt b/sources_non_forked/ale/doc/ale-tex.txt index 147aacc4..fa0d827e 100644 --- a/sources_non_forked/ale/doc/ale-tex.txt +++ b/sources_non_forked/ale/doc/ale-tex.txt @@ -33,7 +33,7 @@ lacheck *ale-tex-lacheck* g:ale_lacheck_executable *g:ale_lacheck_executable* *b:ale_lacheck_executable* Type: |String| - Default: '`lacheck`' + Default: `'lacheck'` This variable can be changed to change the path to lacheck. diff --git a/sources_non_forked/ale/doc/ale-typescript.txt b/sources_non_forked/ale/doc/ale-typescript.txt index 788a7a5c..4a993793 100644 --- a/sources_non_forked/ale/doc/ale-typescript.txt +++ b/sources_non_forked/ale/doc/ale-typescript.txt @@ -29,7 +29,7 @@ g:ale_deno_lsp_project_root *g:ale_deno_lsp_project_root* executing the following steps in the given order: 1. Find an ancestor directory containing a tsconfig.json. - 2. Find an ancestory directory containing a .git folder. + 2. Find an ancestor directory containing a .git folder. 3. Use the directory of the current buffer (if the buffer was opened from a file). diff --git a/sources_non_forked/ale/doc/ale-verilog.txt b/sources_non_forked/ale/doc/ale-verilog.txt index 11e988bb..611ed2f9 100644 --- a/sources_non_forked/ale/doc/ale-verilog.txt +++ b/sources_non_forked/ale/doc/ale-verilog.txt @@ -134,7 +134,7 @@ g:ale_verilog_yosys_options *g:ale_verilog_yosys_options* Default: `'-Q -T -p ''read_verilog %s'''` This variable can be changed to modify the flags/options passed to 'yosys'. - By default, Yosys is an interative program. To obtain linting functionality, + By default, Yosys is an interactive program. To obtain linting functionality, the `'read_verilog'` command is used. diff --git a/sources_non_forked/ale/doc/ale-xml.txt b/sources_non_forked/ale/doc/ale-xml.txt index e43fdefd..a7180df8 100644 --- a/sources_non_forked/ale/doc/ale-xml.txt +++ b/sources_non_forked/ale/doc/ale-xml.txt @@ -24,7 +24,7 @@ g:ale_xml_xmllint_options *g:ale_xml_xmllint_options* g:ale_xml_xmllint_indentsize *g:ale_xml_xmllint_indentsize* *b:ale_xml_xmllint_indentsize* Type: |Number| - Default: 2 + Default: `2` This variable can be sent to specify the amount of spaces used for indentation. diff --git a/sources_non_forked/ale/doc/ale.txt b/sources_non_forked/ale/doc/ale.txt index b17e2e42..27d2c65c 100644 --- a/sources_non_forked/ale/doc/ale.txt +++ b/sources_non_forked/ale/doc/ale.txt @@ -750,7 +750,7 @@ g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled* g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures* Type: |Number| - Default: undefined + Default: not set When set to `1`, ALE will cache failing executable checks for linters. By default, only executable checks which succeed will be cached. @@ -864,7 +864,7 @@ g:ale_completion_enabled *g:ale_completion_enabled* *g:ale_completion_tsserver_remove_warnings* g:ale_completion_tsserver_remove_warnings - Type: Number + Type: |Number| Default: `0` When this option is set to `0`, ALE will return all completion items, @@ -874,7 +874,7 @@ g:ale_completion_tsserver_remove_warnings g:ale_completion_autoimport *g:ale_completion_autoimport* - Type: Number + Type: |Number| Default: `1` When this option is set to `1`, ALE will try to automatically import @@ -1836,7 +1836,7 @@ g:ale_max_signs *g:ale_max_signs* g:ale_maximum_file_size *g:ale_maximum_file_size* *b:ale_maximum_file_size* Type: |Number| - Default: undefined + Default: not set A maximum file size in bytes for ALE to check. If set to any positive number, ALE will skip checking files larger than the given size. @@ -1879,7 +1879,7 @@ g:ale_open_list *g:ale_open_list* g:ale_pattern_options *g:ale_pattern_options* Type: |Dictionary| - Default: undefined + Default: not set This option maps regular expression patterns to |Dictionary| values for buffer variables. This option can be set to automatically configure @@ -1908,7 +1908,7 @@ g:ale_pattern_options *g:ale_pattern_options* g:ale_pattern_options_enabled *g:ale_pattern_options_enabled* Type: |Number| - Default: undefined + Default: not set This option can be used for disabling pattern options. If set to `0`, ALE will not set buffer variables per |g:ale_pattern_options|. @@ -1954,7 +1954,7 @@ g:ale_root *g:ale_root* *b:ale_root* Type: |Dictionary| or |String| - Default: {} + Default: `{}` This option is used to determine the project root for a linter. If the value is a |Dictionary|, it maps a linter to either a |String| containing the @@ -2006,7 +2006,7 @@ g:ale_set_balloons *g:ale_set_balloons* g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo* *b:ale_set_balloons_legacy_echo* Type: |Number| - Default: undefined + Default: not set If set to `1`, moving your mouse over documents in Vim will make ALE ask `tsserver` or `LSP` servers for information about the symbol where the mouse @@ -2240,10 +2240,10 @@ g:ale_sign_highlight_linenrs *g:ale_sign_highlight_linenrs* g:ale_update_tagstack *g:ale_update_tagstack* *b:ale_update_tagstack* - Type: |Number| - Default: `1` + Type: |Number| + Default: `1` - This option can be set to disable updating Vim's |tagstack| automatically. + This option can be set to disable updating Vim's |tagstack| automatically. g:ale_type_map *g:ale_type_map* @@ -2885,6 +2885,7 @@ documented in additional help files. erlang..................................|ale-erlang-options| dialyzer..............................|ale-erlang-dialyzer| elvis.................................|ale-erlang-elvis| + erlang_ls.............................|ale-erlang-erlang_ls| erlc..................................|ale-erlang-erlc| erlfmt................................|ale-erlang-erlfmt| syntaxerl.............................|ale-erlang-syntaxerl| @@ -3036,6 +3037,8 @@ documented in additional help files. luafmt................................|ale-lua-luafmt| selene................................|ale-lua-selene| stylua................................|ale-lua-stylua| + make....................................|ale-make-options| + checkmake.............................|ale-make-checkmake| markdown................................|ale-markdown-options| cspell................................|ale-markdown-cspell| dprint................................|ale-markdown-dprint| @@ -3159,6 +3162,7 @@ documented in additional help files. pyre..................................|ale-python-pyre| pyright...............................|ale-python-pyright| reorder-python-imports................|ale-python-reorder_python_imports| + ruff..................................|ale-python-ruff| unimport..............................|ale-python-unimport| vulture...............................|ale-python-vulture| yapf..................................|ale-python-yapf| @@ -4558,7 +4562,7 @@ ALEFixPost *ALEFixPost-autocmd* These |User| autocommands are triggered before and after every lint or fix cycle. They can be used to update statuslines, send notifications, etc. The autocmd commands are run with |:silent|, so |:unsilent| is required for - echoing messges. + echoing messages. For example to change the color of the statusline while the linter is running: @@ -4591,7 +4595,7 @@ ALEJobStarted *ALEJobStarted-autocmd* ALELSPStarted *ALELSPStarted-autocmd* *ALELSPStarted* - This |User| autocommand is trigged immediately after an LSP connection is + This |User| autocommand is triggered 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. diff --git a/sources_non_forked/ale/supported-tools.md b/sources_non_forked/ale/supported-tools.md index face9e39..2989bfbc 100644 --- a/sources_non_forked/ale/supported-tools.md +++ b/sources_non_forked/ale/supported-tools.md @@ -187,6 +187,7 @@ formatting. * [SyntaxErl](https://github.com/ten0s/syntaxerl) * [dialyzer](http://erlang.org/doc/man/dialyzer.html) :floppy_disk: * [elvis](https://github.com/inaka/elvis) :floppy_disk: + * [erlang_ls](https://github.com/erlang-ls/erlang_ls) * [erlc](http://erlang.org/doc/man/erlc.html) * [erlfmt](https://github.com/WhatsApp/erlfmt) * Fish @@ -491,6 +492,7 @@ formatting. * [pyre](https://github.com/facebook/pyre-check) :warning: * [pyright](https://github.com/microsoft/pyright) * [reorder-python-imports](https://github.com/asottile/reorder_python_imports) + * [ruff](https://github.com/charliermarsh/ruff) * [unimport](https://github.com/hakancelik96/unimport) * [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk: * [yapf](https://github.com/google/yapf) @@ -504,6 +506,7 @@ formatting. * Racket * [racket-langserver](https://github.com/jeapostrophe/racket-langserver/tree/master) * [raco](https://docs.racket-lang.org/raco/) + * [raco_fmt](https://docs.racket-lang.org/fmt/) * Re:VIEW * [redpen](http://redpen.cc/) * ReasonML diff --git a/sources_non_forked/dracula/after/plugin/dracula.vim b/sources_non_forked/dracula/after/plugin/dracula.vim index 3fd3c32f..6f1d12f7 100644 --- a/sources_non_forked/dracula/after/plugin/dracula.vim +++ b/sources_non_forked/dracula/after/plugin/dracula.vim @@ -68,6 +68,8 @@ endif " specification. " https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim if exists('g:loaded_nvim_treesitter') + " deprecated TS* highlight groups + " see https://github.com/nvim-treesitter/nvim-treesitter/pull/3656 " # Misc hi! link TSPunctSpecial Special " # Constants @@ -97,6 +99,53 @@ if exists('g:loaded_nvim_treesitter') " HTML and JSX tag attributes. By default, this group is linked to TSProperty, " which in turn links to Identifer (white). hi! link TSTagAttribute DraculaGreenItalic + + if has('nvim-0.8') + " # Misc + hi! link @punctuation.delimiter Delimiter + hi! link @punctuation.bracket Normal + hi! link @punctuation.special Special + " # Constants + hi! link @constant Constant + hi! link @constant.builtin Constant + hi! link @constant.macro Macro + hi! link @string.regex String + hi! link @string.escape Character + hi! link @symbol DraculaPurple + hi! link @annotation DraculaYellow + hi! link @attribute DraculaGreenItalic + hi! link @namespace Structure + " # Functions + hi! link @function.builtin DraculaCyan + hi! link @funcion.macro Function + hi! link @parameter DraculaOrangeItalic + hi! link @parameter.reference DraculaOrange + hi! link @field DraculaOrange + hi! link @property Normal + hi! link @constructor DraculaCyan + " # Keywords + hi! link @label DraculaPurpleItalic + hi! link @keyword.function DraculaPink + hi! link @keyword.operator Operator + hi! link @exception DraculaPurple + " # Variable + hi! link @variable Normal + hi! link @variable.builtin DraculaPurpleItalic + " # Text + hi! link @text Normal + hi! link @text.strong DraculaFgBold + hi! link @text.emphasis DraculaFg + hi! link @text.underline Underlined + hi! link @text.title DraculaYellow + hi! link @text.literal DraculaYellow + hi! link @text.uri DraculaYellow + " # Tags + hi! link @tag DraculaCyan + hi! link @tag.delimiter Normal + " HTML and JSX tag attributes. By default, this group is linked to TSProperty, + " which in turn links to Identifer (white). + hi! link @tag.attribute DraculaGreenItalic + endif endif " }}} " nvim-cmp: {{{ diff --git a/sources_non_forked/dracula/colors/dracula.vim b/sources_non_forked/dracula/colors/dracula.vim index 67d36f4b..cac11386 100644 --- a/sources_non_forked/dracula/colors/dracula.vim +++ b/sources_non_forked/dracula/colors/dracula.vim @@ -97,6 +97,10 @@ if !exists('g:dracula_colorterm') let g:dracula_colorterm = 1 endif +if !exists('g:dracula_high_contrast_diff') + let g:dracula_high_contrast_diff = 0 +endif + "}}}2 " Script Helpers: {{{2 @@ -197,7 +201,12 @@ call s:h('DraculaBoundary', s:comment, s:bgdark) call s:h('DraculaWinSeparator', s:comment, s:bgdark) call s:h('DraculaLink', s:cyan, s:none, [s:attrs.underline]) -call s:h('DraculaDiffChange', s:orange, s:none) +if g:dracula_high_contrast_diff + call s:h('DraculaDiffChange', s:yellow, s:purple) +else + call s:h('DraculaDiffChange', s:orange, s:none) +endif + call s:h('DraculaDiffText', s:bg, s:orange) call s:h('DraculaDiffDelete', s:red, s:bgdark) diff --git a/sources_non_forked/dracula/doc/dracula.txt b/sources_non_forked/dracula/doc/dracula.txt index 9becf935..80e44f19 100644 --- a/sources_non_forked/dracula/doc/dracula.txt +++ b/sources_non_forked/dracula/doc/dracula.txt @@ -93,6 +93,11 @@ terminal emulators, set to 1 to allow underline/undercurl highlights without changing the foreground color. > let g:dracula_full_special_attrs_support = 1 +* *g:dracula_high_contrast_diff* +Use high-contrast color when in diff mode. By default it is disabled, set to +1 to enable it. + let g:dracula_high_contrast_diff = 1 + * *g:dracula_inverse* Include inverse attributes in highlighting > let g:dracula_inverse = 1 diff --git a/sources_non_forked/editorconfig-vim/autoload/editorconfig_core/ini.vim b/sources_non_forked/editorconfig-vim/autoload/editorconfig_core/ini.vim index 279b381d..d773323f 100644 --- a/sources_non_forked/editorconfig-vim/autoload/editorconfig_core/ini.vim +++ b/sources_non_forked/editorconfig-vim/autoload/editorconfig_core/ini.vim @@ -60,23 +60,26 @@ lockvar s:SECTCRE s:OPTCRE s:MAX_SECTION_NAME s:MAX_PROPERTY_NAME s:MAX_PROPERTY " Read \p config_filename and return the options applicable to " \p target_filename. This is the main entry point in this file. function! editorconfig_core#ini#read_ini_file(config_filename, target_filename) - let l:oldenc = &encoding - if !filereadable(a:config_filename) return {} endif - try " so &encoding will always be reset - let &encoding = 'utf-8' " so readfile() will strip BOM + try let l:lines = readfile(a:config_filename) + if &encoding !=? 'utf-8' + " strip BOM + if len(l:lines) > 0 && l:lines[0][:2] ==# "\xEF\xBB\xBF" + let l:lines[0] = l:lines[0][3:] + endif + " convert from UTF-8 to 'encoding' + call map(l:lines, 'iconv(v:val, "utf-8", &encoding)') + endif let result = s:parse(a:config_filename, a:target_filename, l:lines) catch - let &encoding = l:oldenc " rethrow, but with a prefix since throw 'Vim...' fails. throw 'Could not read editorconfig file at ' . v:throwpoint . ': ' . string(v:exception) endtry - let &encoding = l:oldenc return result endfunction diff --git a/sources_non_forked/editorconfig-vim/doc/editorconfig.txt b/sources_non_forked/editorconfig-vim/doc/editorconfig.txt index 66e9e5bf..98f374e6 100644 --- a/sources_non_forked/editorconfig-vim/doc/editorconfig.txt +++ b/sources_non_forked/editorconfig-vim/doc/editorconfig.txt @@ -124,11 +124,11 @@ is restarted. *g:EditorConfig_max_line_indicator* The way to show the line where the maximal length is reached. Accepted values -are "line", "fill", otherwise there will be no max line indicator. +are "line", "fill" and "exceeding", otherwise there will be no max line +indicator. "line": the right column of the max line length column will be - highlighted, made possible by setting 'colorcolumn' to - "max_line_length + 1". + highlighted, made possible by adding "+1" to 'colorcolumn'. "fill": all the columns to the right of the max line length column will be highlighted, made possible by setting 'colorcolumn' @@ -161,6 +161,23 @@ max_line_length is set: < This option defaults to 0. + *g:EditorConfig_softtabstop_space* +When spaces are used for indent, Vim's 'softtabstop' feature will make the +backspace key delete one indent level. If you turn off that feature (by +setting the option to 0), only a single space will be deleted. +This option defaults to 1, which enables 'softtabstop' and uses the +'shiftwidth' value for it. You can also set this to -1 to automatically follow +the current 'shiftwidth' value (since Vim 7.3.693). Or set this to [] if +EditorConfig should not touch 'softtabstop' at all. + + *g:EditorConfig_softtabstop_tab* +When tabs are used for indent, Vim's 'softtabstop' feature only applies to +backspacing over existing runs of spaces. +This option defaults to 1, so backspace will delete one indent level worth of +spaces; -1 does the same but automatically follows the current 'shiftwidth' +value. Set this to 0 to have backspace delete just a single space character. +Or set this to [] if EditorConfig should not touch 'softtabstop' at all. + *g:EditorConfig_verbose* Set this to 1 if you want debug info printed: > diff --git a/sources_non_forked/editorconfig-vim/plugin/editorconfig.vim b/sources_non_forked/editorconfig-vim/plugin/editorconfig.vim index d0deb265..dba9ec37 100644 --- a/sources_non_forked/editorconfig-vim/plugin/editorconfig.vim +++ b/sources_non_forked/editorconfig-vim/plugin/editorconfig.vim @@ -60,6 +60,14 @@ if !exists('g:EditorConfig_disable_rules') let g:EditorConfig_disable_rules = [] endif +if !exists('g:EditorConfig_softtabstop_space') + let g:EditorConfig_softtabstop_space = 1 +endif + +if !exists('g:EditorConfig_softtabstop_tab') + let g:EditorConfig_softtabstop_tab = 1 +endif + " Copy some of the globals into script variables --- changes to these " globals won't affect the plugin until the plugin is reloaded. if exists('g:EditorConfig_core_mode') && !empty(g:EditorConfig_core_mode) @@ -394,12 +402,18 @@ function! s:ApplyConfig(config) abort " Set the buffer options {{{1 " value if a:config["indent_size"] == "tab" let &l:shiftwidth = &l:tabstop - let &l:softtabstop = &l:shiftwidth + if type(g:EditorConfig_softtabstop_tab) != type([]) + let &l:softtabstop = g:EditorConfig_softtabstop_tab > 0 ? + \ &l:shiftwidth : g:EditorConfig_softtabstop_tab + endif else let l:indent_size = str2nr(a:config["indent_size"]) if l:indent_size > 0 let &l:shiftwidth = l:indent_size - let &l:softtabstop = &l:shiftwidth + if type(g:EditorConfig_softtabstop_space) != type([]) + let &l:softtabstop = g:EditorConfig_softtabstop_space > 0 ? + \ &l:shiftwidth : g:EditorConfig_softtabstop_space + endif endif endif @@ -473,7 +487,7 @@ function! s:ApplyConfig(config) abort " Set the buffer options {{{1 if exists('+colorcolumn') if l:max_line_length > 0 if g:EditorConfig_max_line_indicator == 'line' - let &l:colorcolumn = l:max_line_length + 1 + setlocal colorcolumn+=+1 elseif g:EditorConfig_max_line_indicator == 'fill' && \ l:max_line_length < &l:columns " Fill only if the columns of screen is large enough diff --git a/sources_non_forked/editorconfig-vim/tests/plugin/spec/editorconfig_spec.rb b/sources_non_forked/editorconfig-vim/tests/plugin/spec/editorconfig_spec.rb index fd1644b0..67e2eb71 100644 --- a/sources_non_forked/editorconfig-vim/tests/plugin/spec/editorconfig_spec.rb +++ b/sources_non_forked/editorconfig-vim/tests/plugin/spec/editorconfig_spec.rb @@ -160,3 +160,10 @@ if extcore ) test_instance vim end + +# Test the vim core with latin1 encoding +(lambda do + puts 'Testing with express vim_core mode' + vim = create_vim("set encoding=latin1") + test_instance vim +end).call diff --git a/sources_non_forked/nginx.vim/syntax/nginx.vim b/sources_non_forked/nginx.vim/syntax/nginx.vim index dea504bb..18dd50cb 100644 --- a/sources_non_forked/nginx.vim/syntax/nginx.vim +++ b/sources_non_forked/nginx.vim/syntax/nginx.vim @@ -1940,7 +1940,7 @@ syn keyword ngxDirectiveThirdParty srcache_default_expire syn keyword ngxDirectiveThirdParty srcache_max_expire " SSSD Info Module -" Retrieves additional attributes from SSSD for current authentizated user +" Retrives additional attributes from SSSD for current authentizated user syn keyword ngxDirectiveThirdParty sssd_info syn keyword ngxDirectiveThirdParty sssd_info_output_to syn keyword ngxDirectiveThirdParty sssd_info_groups diff --git a/sources_non_forked/vim-commentary/plugin/commentary.vim b/sources_non_forked/vim-commentary/plugin/commentary.vim index da850a39..53701066 100644 --- a/sources_non_forked/vim-commentary/plugin/commentary.vim +++ b/sources_non_forked/vim-commentary/plugin/commentary.vim @@ -18,7 +18,7 @@ function! s:strip_white_space(l,r,line) abort if l[-1:] ==# ' ' && stridx(a:line,l) == -1 && stridx(a:line,l[0:-2]) == 0 let l = l[:-2] endif - if r[0] ==# ' ' && a:line[-strlen(r):] != r && a:line[1-strlen(r):] == r[1:] + if r[0] ==# ' ' && (' ' . a:line)[-strlen(r)-1:] != r && a:line[-strlen(r):] == r[1:] let r = r[1:] endif return [l, r] diff --git a/sources_non_forked/vim-fugitive/autoload/fugitive.vim b/sources_non_forked/vim-fugitive/autoload/fugitive.vim index f3746f63..315db95f 100644 --- a/sources_non_forked/vim-fugitive/autoload/fugitive.vim +++ b/sources_non_forked/vim-fugitive/autoload/fugitive.vim @@ -470,7 +470,7 @@ function! s:GitCmd() abort let string = strpart(string, len(arg)) let arg = substitute(arg, '^\s\+', '', '') let arg = substitute(arg, - \ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\)\|' . s:expand, + \ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\)\|' . s:expand, \ '\=submatch(0)[0] ==# "\\" ? submatch(0)[1] : submatch(0)[1:-2]', 'g') call add(list, arg) endwhile @@ -1958,6 +1958,7 @@ endfunction let s:var = '\%(<\%(cword\|cWORD\|cexpr\|cfile\|sfile\|slnum\|afile\|abuf\|amatch' . (has('clientserver') ? '\|client' : '') . '\)>\|%\|#<\=\d\+\|##\=\)' let s:flag = '\%(:[p8~.htre]\|:g\=s\(.\).\{-\}\1.\{-\}\1\)' let s:expand = '\%(\(' . s:var . '\)\(' . s:flag . '*\)\(:S\)\=\)' +let s:commit_expand = '!\\\@!#\=\d*\|!%' function! s:BufName(var) abort if a:var ==# '%' @@ -1978,8 +1979,8 @@ function! s:ExpandVar(other, var, flags, esc, ...) abort return substitute(a:other[1:-2], "''", "'", "g") elseif a:other =~# '^"' return substitute(a:other[1:-2], '""', '"', "g") - elseif a:other =~# '^!' - let buffer = s:BufName(len(a:other) > 1 ? '#'. a:other[1:-1] : '%') + elseif a:other =~# '^[!`]' + let buffer = s:BufName(a:other =~# '[0-9#]' ? '#' . matchstr(a:other, '\d\+') : '%') let owner = s:Owner(buffer) return len(owner) ? owner : '@' elseif a:other =~# '^\~[~.]$' @@ -2033,7 +2034,11 @@ function! s:ExpandVar(other, var, flags, esc, ...) abort return join(files, "\1") endfunction -let s:fnameescape = " \t\n*?[{`$\\%#'\"|!<" +if has('win32') + let s:fnameescape = " \t\n*?`%#'\"|!<" +else + let s:fnameescape = " \t\n*?[{`$\\%#'\"|!<" +endif function! s:Expand(rev, ...) abort if a:rev =~# '^>' && s:Slash(@%) =~# '^fugitive://' && empty(s:DirCommitFile(@%)[1]) @@ -2060,13 +2065,13 @@ function! s:Expand(rev, ...) abort let file = a:rev endif return substitute(file, - \ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\|^\~[~.]\)\|' . s:expand, + \ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\|^\~[~.]\)\|' . s:expand, \ '\=tr(s:ExpandVar(submatch(1),submatch(2),submatch(3),"", a:0 ? a:1 : getcwd()), "\1", " ")', 'g') endfunction function! fugitive#Expand(object) abort return substitute(a:object, - \ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\|^\~[~.]\)\|' . s:expand, + \ '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\|^\~[~.]\)\|' . s:expand, \ '\=tr(s:ExpandVar(submatch(1),submatch(2),submatch(3),submatch(5)), "\1", " ")', 'g') endfunction @@ -2087,7 +2092,7 @@ function! s:SplitExpandChain(string, ...) abort \ '\=s:DotRelative(s:Slash(simplify(getcwd() . "/" . submatch(0))), cwd)', '') endif let arg = substitute(arg, - \ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\|^\~[~]\|^\~\w*\|\$\w\+\)\|' . s:expand, + \ '\(' . dquote . '''\%(''''\|[^'']\)*''\|\\[' . s:fnameescape . ']\|^\\[>+-]\|' . s:commit_expand . '\|^\~[~]\|^\~\w*\|\$\w\+\)\|' . s:expand, \ '\=s:ExpandVar(submatch(1),submatch(2),submatch(3),submatch(5), cwd)', 'g') call extend(list, split(arg, "\1", 1)) if arg ==# '--' diff --git a/sources_non_forked/vim-fugitive/doc/fugitive.txt b/sources_non_forked/vim-fugitive/doc/fugitive.txt index 1edfb836..902a6e13 100644 --- a/sources_non_forked/vim-fugitive/doc/fugitive.txt +++ b/sources_non_forked/vim-fugitive/doc/fugitive.txt @@ -70,12 +70,10 @@ that are part of Git repositories). O jump to patch or blob in new tab p jump to patch or blob in preview window - reblame at commit - ~ reblame at commit~[count] - P reblame at commit^[count] *g:fugitive_dynamic_colors* In the GUI or a 256 color terminal, commit hashes will - highlighted in different colors. To disable this: + be highlighted in different colors. To disable this: > let g:fugitive_dynamic_colors = 0 < diff --git a/sources_non_forked/vim-fugitive/plugin/fugitive.vim b/sources_non_forked/vim-fugitive/plugin/fugitive.vim index 45bfc6d5..a97a4772 100644 --- a/sources_non_forked/vim-fugitive/plugin/fugitive.vim +++ b/sources_non_forked/vim-fugitive/plugin/fugitive.vim @@ -140,7 +140,7 @@ function! FugitiveExecute(args, ...) abort return call('fugitive#Execute', [a:args] + a:000) endfunction -" FugitiveShellCommand() turns an array of arugments into a Git command string +" FugitiveShellCommand() turns an array of arguments into a Git command string " which can be executed with functions like system() and commands like :!. " Integer arguments will be treated as buffer numbers, and the appropriate " relative path inserted in their place. diff --git a/sources_non_forked/vim-gitgutter/autoload/gitgutter/hunk.vim b/sources_non_forked/vim-gitgutter/autoload/gitgutter/hunk.vim index 8d3074c8..7eabf8fe 100644 --- a/sources_non_forked/vim-gitgutter/autoload/gitgutter/hunk.vim +++ b/sources_non_forked/vim-gitgutter/autoload/gitgutter/hunk.vim @@ -501,18 +501,15 @@ endfunction " Floating window: does not care where cursor is. " Preview window: assumes cursor is in preview window. function! s:populate_hunk_preview_window(header, body) - let body_length = len(a:body) - if g:gitgutter_preview_win_floating if exists('*nvim_open_win') - let height = min([body_length, g:gitgutter_floating_window_options.height]) - " Assumes cursor is not in previewing window. call nvim_buf_set_var(winbufnr(s:winid), 'hunk_header', a:header) let [_scrolloff, &scrolloff] = [&scrolloff, 0] - let width = max(map(copy(a:body), 'strdisplaywidth(v:val)')) + let [width, height] = s:screen_lines(a:body) + let height = min([height, g:gitgutter_floating_window_options.height]) call nvim_win_set_width(s:winid, width) call nvim_win_set_height(s:winid, height) @@ -548,9 +545,7 @@ function! s:populate_hunk_preview_window(header, body) call setline(1, a:body) setlocal nomodified - normal! G$ - let hunk_height = max([body_length, winline()]) - let height = min([hunk_height, &previewheight]) + let [_, height] = s:screen_lines(a:body) execute 'resize' height 1 @@ -565,6 +560,27 @@ function! s:populate_hunk_preview_window(header, body) endfunction +" Calculates the number of columns and the number of screen lines the given +" array of lines will take up, taking account of wrapping. +function! s:screen_lines(lines) + let [_virtualedit, &virtualedit]=[&virtualedit, 'all'] + let cursor = getcurpos() + normal! g$ + let available_width = virtcol('.') + call setpos('.', cursor) + let &virtualedit=_virtualedit + let width = min([max(map(copy(a:lines), 'strdisplaywidth(v:val)')), available_width]) + + if exists('*reduce') + let height = reduce(a:lines, { acc, val -> acc + strdisplaywidth(val) / width + (strdisplaywidth(val) % width == 0 ? 0 : 1) }, 0) + else + let height = eval(join(map(copy(a:lines), 'strdisplaywidth(v:val) / width + (strdisplaywidth(v:val) % width == 0 ? 0 : 1)'), '+')) + endif + + return [width, height] +endfunction + + function! s:enable_staging_from_hunk_preview_window() augroup gitgutter_hunk_preview autocmd! diff --git a/sources_non_forked/vim-markdown/ftplugin/markdown.vim b/sources_non_forked/vim-markdown/ftplugin/markdown.vim index 5e402269..1a62ff23 100644 --- a/sources_non_forked/vim-markdown/ftplugin/markdown.vim +++ b/sources_non_forked/vim-markdown/ftplugin/markdown.vim @@ -546,7 +546,7 @@ function! s:TableFormat() let l:flags = (&gdefault ? '' : 'g') execute 's/\(:\@ 3.4.0) rspec-expectations (~> 3.4.0) diff --git a/sources_non_forked/vim-surround/README.markdown b/sources_non_forked/vim-surround/README.markdown index 5321eec4..d2a5c298 100644 --- a/sources_non_forked/vim-surround/README.markdown +++ b/sources_non_forked/vim-surround/README.markdown @@ -70,6 +70,13 @@ support: git clone https://tpope.io/vim/surround.git vim -u NONE -c "helptags surround/doc" -c q +## FAQ + +> How do I surround without adding a space? + +Only the opening brackets—`[`, `{`, and `(`—add a space. Use a closing +bracket, or the `b` (`(`) and `B` (`{`) aliases. + ## Contributing See the contribution guidelines for