diff --git a/README.md b/README.md index e11b76db..79bd924e 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,6 @@ Just do a git rebase! git pull --rebase python update_plugins.py # use python3 if python is unavailable -NOTE: If you get `ModuleNotFoundError: No module named 'requests'`, you must first install the `requests` python module using `pip`, `pip3`, or `easy_install`. - - pip install requests - ## Some screenshots Colors when editing a Python file: @@ -109,7 +105,6 @@ I recommend reading the docs of these plugins to understand them better. Each pl * [gist-vim](https://github.com/mattn/gist-vim) Easily create gists from Vim using the `:Gist` command * [vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides) Is a plugin for visually displaying indent levels in Vim * [editorconfig-vim](https://github.com/editorconfig/editorconfig-vim) EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs. -* [jedi-vim](https://github.com/davidhalter/jedi-vim) A great Python autocompletion library for VIM. ## Included color schemes @@ -358,14 +353,6 @@ Open [ctrlp.vim](https://github.com/kien/ctrlp.vim) plugin to quickly find a fil nnoremap v :.GBrowse! xnoremap v :'<'>GBrowse! -[jedi-vim](https://github.com/davidhalter/jedi-vim) specific mappings (can be used to browse through Python code quickly): - - let g:jedi#goto_assignments_command = "a" - let g:jedi#usages_command = "u" - let g:jedi#completions_command = "" - let g:jedi#rename_command = "r" - - ### Spell checking Pressing `ss` will toggle spell checking: diff --git a/sources_non_forked/ale/ale_linters/ansible/ansible_language_server.vim b/sources_non_forked/ale/ale_linters/ansible/ansible_language_server.vim new file mode 100644 index 00000000..d1f3fb7d --- /dev/null +++ b/sources_non_forked/ale/ale_linters/ansible/ansible_language_server.vim @@ -0,0 +1,46 @@ +" Author: Horacio Sanson +" Description: Support ansible language server https://github.com/ansible/ansible-language-server/ + +call ale#Set('ansible_language_server_executable', 'ansible-language-server') +call ale#Set('ansible_language_server_config', {}) + +function! ale_linters#ansible#ansible_language_server#Executable(buffer) abort + return ale#Var(a:buffer, 'ansible_language_server_executable') +endfunction + +function! ale_linters#ansible#ansible_language_server#GetCommand(buffer) abort + let l:executable = ale_linters#ansible#ansible_language_server#Executable(a:buffer) + + return ale#Escape(l:executable) . ' --stdio' +endfunction + +function! ale_linters#ansible#ansible_language_server#FindProjectRoot(buffer) abort + let l:dir = fnamemodify( + \ ale#path#FindNearestFile(a:buffer, 'ansible.cfg'), + \ ':h' + \) + + if l:dir isnot# '.' && isdirectory(l:dir) + return l:dir + endif + + let l:dir = fnamemodify( + \ ale#path#FindNearestDirectory(a:buffer, '.git'), + \ ':h:h' + \) + + if l:dir isnot# '.' && isdirectory(l:dir) + return l:dir + endif + + return '' +endfunction + +call ale#linter#Define('ansible', { +\ 'name': 'ansible-language-server', +\ 'lsp': 'stdio', +\ 'executable': function('ale_linters#ansible#ansible_language_server#Executable'), +\ 'command': function('ale_linters#ansible#ansible_language_server#GetCommand'), +\ 'project_root': function('ale_linters#ansible#ansible_language_server#FindProjectRoot'), +\ 'lsp_config': {b -> ale#Var(b, 'ansible_language_server_config')} +\}) 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/markdown/markdownlint.vim b/sources_non_forked/ale/ale_linters/markdown/markdownlint.vim index 7a293938..424c9f24 100644 --- a/sources_non_forked/ale/ale_linters/markdown/markdownlint.vim +++ b/sources_non_forked/ale/ale_linters/markdown/markdownlint.vim @@ -1,10 +1,15 @@ " Author: Ty-Lucas Kelley " Description: Adds support for markdownlint +call ale#Set('markdown_markdownlint_executable', 'markdownlint') call ale#Set('markdown_markdownlint_options', '') +function! ale_linters#markdown#markdownlint#GetExecutable(buffer) abort + return ale#Var(a:buffer, 'markdown_markdownlint_executable') +endfunction + function! ale_linters#markdown#markdownlint#GetCommand(buffer) abort - let l:executable = 'markdownlint' + let l:executable = ale_linters#markdown#markdownlint#GetExecutable(a:buffer) let l:options = ale#Var(a:buffer, 'markdown_markdownlint_options') @@ -14,7 +19,7 @@ endfunction call ale#linter#Define('markdown', { \ 'name': 'markdownlint', -\ 'executable': 'markdownlint', +\ 'executable': function('ale_linters#markdown#markdownlint#GetExecutable'), \ 'lint_file': 1, \ 'output_stream': 'both', \ 'command': function('ale_linters#markdown#markdownlint#GetCommand'), 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/sql/sqlfluff.vim b/sources_non_forked/ale/ale_linters/sql/sqlfluff.vim new file mode 100644 index 00000000..0ec062bd --- /dev/null +++ b/sources_non_forked/ale/ale_linters/sql/sqlfluff.vim @@ -0,0 +1,72 @@ +" Author: Carl Smedstad +" Description: sqlfluff for SQL files + +let g:ale_sql_sqlfluff_executable = +\ get(g:, 'ale_sql_sqlfluff_executable', 'sqlfluff') + +let g:ale_sql_sqlfluff_options = +\ get(g:, 'ale_sql_sqlfluff_options', '') + +function! ale_linters#sql#sqlfluff#Executable(buffer) abort + return ale#Var(a:buffer, 'sql_sqlfluff_executable') +endfunction + +function! ale_linters#sql#sqlfluff#Command(buffer) abort + let l:executable = ale_linters#sql#sqlfluff#Executable(a:buffer) + let l:options = ale#Var(a:buffer, 'sql_sqlfluff_options') + + let l:cmd = + \ ale#Escape(l:executable) + \ . ' lint' + + let l:config_file = ale#path#FindNearestFile(a:buffer, '.sqlfluff') + + if !empty(l:config_file) + let l:cmd .= ' --config ' . ale#Escape(l:config_file) + else + let l:cmd .= ' --dialect ansi' + endif + + let l:cmd .= + \ ' --format json ' + \ . l:options + \ . ' %t' + + return l:cmd +endfunction + +function! ale_linters#sql#sqlfluff#Handle(buffer, lines) abort + let l:output = [] + let l:json_lines = ale#util#FuzzyJSONDecode(a:lines, []) + + if empty(l:json_lines) + return l:output + endif + + let l:json = l:json_lines[0] + + " if there's no warning, 'result' is `null`. + if empty(get(l:json, 'violations')) + return l:output + endif + + for l:violation in get(l:json, 'violations', []) + call add(l:output, { + \ 'filename': l:json.filepath, + \ 'lnum': l:violation.line_no, + \ 'col': l:violation.line_pos, + \ 'text': l:violation.description, + \ 'code': l:violation.code, + \ 'type': 'W', + \}) + endfor + + return l:output +endfunction + +call ale#linter#Define('sql', { +\ 'name': 'sqlfluff', +\ 'executable': function('ale_linters#sql#sqlfluff#Executable'), +\ 'command': function('ale_linters#sql#sqlfluff#Command'), +\ 'callback': 'ale_linters#sql#sqlfluff#Handle', +\}) 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..b8d493f9 100644 --- a/sources_non_forked/ale/autoload/ale/fix/registry.vim +++ b/sources_non_forked/ale/autoload/ale/fix/registry.vim @@ -263,8 +263,8 @@ let s:default_registry = { \ }, \ 'clang-format': { \ 'function': 'ale#fixers#clangformat#Fix', -\ 'suggested_filetypes': ['c', 'cpp', 'cuda'], -\ 'description': 'Fix C/C++ and cuda files with clang-format.', +\ 'suggested_filetypes': ['c', 'cpp', 'cs', 'cuda', 'java', 'javascript', 'json', 'objc', 'proto'], +\ 'description': 'Fix C, C++, C#, CUDA, Java, JavaScript, JSON, ObjectiveC and Protobuf files with clang-format.', \ }, \ 'cmakeformat': { \ 'function': 'ale#fixers#cmakeformat#Fix', @@ -386,6 +386,11 @@ let s:default_registry = { \ 'suggested_filetypes': ['sh'], \ 'description': 'Fix sh files with shfmt.', \ }, +\ 'sqlfluff': { +\ 'function': 'ale#fixers#sqlfluff#Fix', +\ 'suggested_filetypes': ['sql'], +\ 'description': 'Fix SQL files with sqlfluff.', +\ }, \ 'sqlfmt': { \ 'function': 'ale#fixers#sqlfmt#Fix', \ 'suggested_filetypes': ['sql'], @@ -570,6 +575,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/fixers/sqlfluff.vim b/sources_non_forked/ale/autoload/ale/fixers/sqlfluff.vim new file mode 100644 index 00000000..1dc9f5c1 --- /dev/null +++ b/sources_non_forked/ale/autoload/ale/fixers/sqlfluff.vim @@ -0,0 +1,25 @@ +" Author: Carl Smedstad +" Description: Fixing SQL files with sqlfluff + +call ale#Set('sql_sqlfluff_executable', 'sqlfluff') + +function! ale#fixers#sqlfluff#Fix(buffer) abort + let l:executable = ale#Var(a:buffer, 'sql_sqlfluff_executable') + + let l:cmd = + \ ale#Escape(l:executable) + \ . ' fix --force' + + let l:config_file = ale#path#FindNearestFile(a:buffer, '.sqlfluff') + + if !empty(l:config_file) + let l:cmd .= ' --config ' . ale#Escape(l:config_file) + else + let l:cmd .= ' --dialect ansi' + endif + + return { + \ 'command': l:cmd . ' %t > /dev/null', + \ 'read_temporary_file': 1, + \} +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-ansible.txt b/sources_non_forked/ale/doc/ale-ansible.txt index 3a4efaa5..41442b08 100644 --- a/sources_non_forked/ale/doc/ale-ansible.txt +++ b/sources_non_forked/ale/doc/ale-ansible.txt @@ -1,6 +1,28 @@ =============================================================================== ALE Ansible Integration *ale-ansible-options* +=============================================================================== +ansible-language-server *ale-ansible-language-server* + + +g:ale_ansible_language_server_executable *g:ale_ansible_language_server* + *b:ale_ansible_language_server* + + Type: |String| + Default: 'ansible-language-server' + + Variable can be used to modify the executable used for ansible language server. + + +g:ale_ansible_language_server_config *g:ale_ansible_language_server_config* + *b:ale_ansible_language_server_config* + + Type: |Dictionary| + Default: '{}' + + Configuration parameters sent to the language server on start. Refer to the + ansible language server configuration documentation for list of available + options: https://als.readthedocs.io/en/latest/settings/ =============================================================================== ansible-lint *ale-ansible-ansible-lint* @@ -12,5 +34,6 @@ g:ale_ansible_ansible_lint_executable *g:ale_ansible_ansible_lint_executable* This variable can be changed to modify the executable used for ansible-lint. + =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-cs.txt b/sources_non_forked/ale/doc/ale-cs.txt index 26e2b023..d9a9dc00 100644 --- a/sources_non_forked/ale/doc/ale-cs.txt +++ b/sources_non_forked/ale/doc/ale-cs.txt @@ -6,6 +6,13 @@ In addition to the linters that are provided with ALE, C# code can be checked with the OmniSharp plugin. See here: https://github.com/OmniSharp/omnisharp-vim +=============================================================================== +clang-format *ale-cs-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for C#. + + =============================================================================== csc *ale-cs-csc* diff --git a/sources_non_forked/ale/doc/ale-cuda.txt b/sources_non_forked/ale/doc/ale-cuda.txt index 06aa48ce..729d86b5 100644 --- a/sources_non_forked/ale/doc/ale-cuda.txt +++ b/sources_non_forked/ale/doc/ale-cuda.txt @@ -2,6 +2,32 @@ ALE CUDA Integration *ale-cuda-options* +=============================================================================== +clang-format *ale-cuda-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for CUDA. + + +=============================================================================== +clangd *ale-cuda-clangd* + +g:ale_cuda_clangd_executable *g:ale_cuda_clangd_executable* + *b:ale_cuda_clangd_executable* + Type: |String| + Default: `'clangd'` + + This variable can be changed to use a different executable for clangd. + + +g:ale_cuda_clangd_options *g:ale_cuda_clangd_options* + *b:ale_cuda_clangd_options* + Type: |String| + Default: `''` + + This variable can be changed to modify flags given to clangd. + + =============================================================================== nvcc *ale-cuda-nvcc* @@ -21,30 +47,6 @@ g:ale_cuda_nvcc_options *g:ale_cuda_nvcc_options* This variable can be changed to modify flags given to nvcc. -=============================================================================== -clangd *ale-cuda-clangd* - -g:ale_cuda_clangd_executable *g:ale_cuda_clangd_executable* - *b:ale_cuda_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_cuda_clangd_options *g:ale_cuda_clangd_options* - *b:ale_cuda_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - -=============================================================================== -clang-format *ale-cuda-clangformat* - -See |ale-c-clangformat| for information about the available options. -Note that the C options are also used for cuda. - =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-development.txt b/sources_non_forked/ale/doc/ale-development.txt index a0bba468..0f06642c 100644 --- a/sources_non_forked/ale/doc/ale-development.txt +++ b/sources_non_forked/ale/doc/ale-development.txt @@ -154,9 +154,9 @@ ALE runs tests with the following versions of Vim in the following environments. 1. Vim 8.0.0027 on Linux via GitHub Actions. -2. Vim 8.2.4693 on Linux via GitHub Actions. +2. Vim 9.0.0133 on Linux via GitHub Actions. 3. NeoVim 0.2.0 on Linux via GitHub Actions. -4. NeoVim 0.7.0 on Linux via GitHub Actions. +4. NeoVim 0.8.0 on Linux via GitHub Actions. 6. Vim 8 (stable builds) on Windows via AppVeyor. If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs 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..69611866 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. @@ -41,6 +41,13 @@ g:ale_java_checkstyle_options *g:ale_java_checkstyle_options* configuration files set with |g:ale_java_checkstyle_config|. +=============================================================================== +clang-format *ale-java-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for Java. + + =============================================================================== cspell *ale-java-cspell* @@ -124,8 +131,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 +180,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-javascript.txt b/sources_non_forked/ale/doc/ale-javascript.txt index 7d626efe..a55cd643 100644 --- a/sources_non_forked/ale/doc/ale-javascript.txt +++ b/sources_non_forked/ale/doc/ale-javascript.txt @@ -17,12 +17,21 @@ You should change the structure of your project from this: > /path/foo/.eslintrc.js # root: true /path/foo/bar/.eslintrc.js # root: false < + To this: > /path/foo/.base-eslintrc.js # Base configuration here /path/foo/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] /path/foo/bar/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] < + +=============================================================================== +clang-format *ale-javascript-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for JavaScript. + + =============================================================================== cspell *ale-javascript-cspell* diff --git a/sources_non_forked/ale/doc/ale-json.txt b/sources_non_forked/ale/doc/ale-json.txt index 154aee62..7b240373 100644 --- a/sources_non_forked/ale/doc/ale-json.txt +++ b/sources_non_forked/ale/doc/ale-json.txt @@ -2,6 +2,13 @@ ALE JSON Integration *ale-json-options* +=============================================================================== +clang-format *ale-json-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for JSON. + + =============================================================================== cspell *ale-json-cspell* 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-markdown.txt b/sources_non_forked/ale/doc/ale-markdown.txt index 6ba78ff0..3f44da27 100644 --- a/sources_non_forked/ale/doc/ale-markdown.txt +++ b/sources_non_forked/ale/doc/ale-markdown.txt @@ -17,6 +17,15 @@ See |ale-dprint-options| and https://dprint.dev/plugins/markdown =============================================================================== markdownlint *ale-markdown-markdownlint* +g:ale_markdown_markdown_executable *g:ale_markdown_markdownlint_executable* + *b:ale_markdown_markdownlint_executable* + Type: |String| + Default: `'markdownlint'` + + Override the invoked markdownlint binary. You can use other binaries such as + markdownlint-cli2. + + g:ale_markdown_markdownlint_options *g:ale_markdown_markdownlint_options* *b:ale_markdown_markdownlint_options* Type: |String| diff --git a/sources_non_forked/ale/doc/ale-objc.txt b/sources_non_forked/ale/doc/ale-objc.txt index 0163175a..e1a0c2a2 100644 --- a/sources_non_forked/ale/doc/ale-objc.txt +++ b/sources_non_forked/ale/doc/ale-objc.txt @@ -2,42 +2,6 @@ ALE Objective-C Integration *ale-objc-options* -=============================================================================== -clang *ale-objc-clang* - -g:ale_objc_clang_options *g:ale_objc_clang_options* - *b:ale_objc_clang_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-objc-clangd* - -g:ale_objc_clangd_executable *g:ale_objc_clangd_executable* - *b:ale_objc_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_objc_clangd_options *g:ale_objc_clangd_options* - *b:ale_objc_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -uncrustify *ale-objc-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - =============================================================================== ccls *ale-objc-ccls* @@ -69,5 +33,48 @@ g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options* available options and explanations. +=============================================================================== +clang *ale-objc-clang* + +g:ale_objc_clang_options *g:ale_objc_clang_options* + *b:ale_objc_clang_options* + Type: |String| + Default: `'-std=c11 -Wall'` + + This variable can be changed to modify flags given to clang. + + +=============================================================================== +clang-format *ale-objc-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for Objective-C. + + +=============================================================================== +clangd *ale-objc-clangd* + +g:ale_objc_clangd_executable *g:ale_objc_clangd_executable* + *b:ale_objc_clangd_executable* + Type: |String| + Default: `'clangd'` + + This variable can be changed to use a different executable for clangd. + + +g:ale_objc_clangd_options *g:ale_objc_clangd_options* + *b:ale_objc_clangd_options* + Type: |String| + Default: `''` + + This variable can be changed to modify flags given to clangd. + + +=============================================================================== +uncrustify *ale-objc-uncrustify* + +See |ale-c-uncrustify| for information about the available options. + + =============================================================================== 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..e7015dcc 100644 --- a/sources_non_forked/ale/doc/ale-proto.txt +++ b/sources_non_forked/ale/doc/ale-proto.txt @@ -9,12 +9,15 @@ To enable `.proto` file linting, update |g:ale_linters| as appropriate: > " Enable linter for .proto files let g:ale_linters = {'proto': ['buf-lint', 'protoc-gen-lint', 'protolint']} +< To enable `.proto` file fixing, update |g:ale_fixers| as appropriate: > " Enable linter for .proto files let b:ale_fixers = {'proto': ['buf-format', 'protolint']} < + + =============================================================================== buf-format *ale-proto-buf-format* @@ -25,10 +28,11 @@ 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. + =============================================================================== buf-lint *ale-proto-buf-lint* @@ -39,7 +43,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. @@ -53,6 +57,14 @@ g:ale_proto_buf_lint_config *g:ale_proto_buf_lint_config* The path to the configuration file can be an absolute path or a relative path. ALE will search for the relative path in parent directories. + +=============================================================================== +clang-format *ale-proto-clangformat* + +See |ale-c-clangformat| for information about the available options. +Note that the C options are also used for Proto. + + =============================================================================== protoc-gen-lint *ale-proto-protoc-gen-lint* @@ -68,6 +80,7 @@ g:ale_proto_protoc_gen_lint_options *g:ale_proto_protoc_gen_lint_options* directory of the linted file is always passed as an include path with '-I' before any user-supplied options. + =============================================================================== protolint *ale-proto-protolint* @@ -80,7 +93,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. @@ -94,5 +107,6 @@ g:ale_proto_protolint_config *g:ale_proto_protolint_config* The path to the configuration file can be an absolute path or a relative path. ALE will search for the relative path in parent directories. + =============================================================================== 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 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..36d69b5e 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 @@ -288,5 +288,13 @@ g:ale_rust_rustfmt_options *g:ale_rust_rustfmt_options* This variable can be set to pass additional options to the rustfmt fixer. +g:ale_rust_rustfmt_executable *g:ale_rust_rustfmt_executable* + *b:ale_rust_rustfmt_executable* + Type: |String| + Default: `'rustfmt'` + + This variable can be modified to change the executable path for `rustfmt`. + + =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/sources_non_forked/ale/doc/ale-sql.txt b/sources_non_forked/ale/doc/ale-sql.txt index 80929264..225ac7df 100644 --- a/sources_non_forked/ale/doc/ale-sql.txt +++ b/sources_non_forked/ale/doc/ale-sql.txt @@ -27,6 +27,27 @@ g:ale_sql_pgformatter_options *g:ale_sql_pgformatter_options* This variable can be set to pass additional options to the pgformatter fixer. +=============================================================================== +sqlfluff *ale-sql-sqlfluff* + +g:ale_sql_sqlfluff_executable *g:ale_sql_sqlfluff_executable* + *b:ale_sql_sqlfluff_executable* + Type: |String| + Default: `'sqlfluff'` + + This variable sets executable used for sqlfluff. + +g:ale_sql_sqlfluff_options *g:ale_sql_sqlfluff_options* + *b:ale_sql_sqlfluff_options* + Type: |String| + Default: `''` + + This variable can be set to pass additional options to the sqlfluff linter. + + +=============================================================================== + + =============================================================================== sqlfmt *ale-sql-sqlfmt* 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..2477fe5a 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 @@ -18,6 +18,7 @@ Notes: * `gcc` * `gnatpp` * Ansible + * `ansible-language-server` * `ansible-lint`!! * API Blueprint * `drafter` @@ -75,6 +76,7 @@ Notes: * `gcc` (`cc`) * `uncrustify` * C# + * `clang-format` * `csc`!! * `cspell` * `dotnet-format` @@ -128,6 +130,7 @@ Notes: * Cucumber * `cucumber` * CUDA + * `clang-format` * `clangd` * `nvcc`!! * Cypher @@ -178,6 +181,7 @@ Notes: * `SyntaxErl` * `dialyzer`!! * `elvis`!! + * `erlang_ls` * `erlc` * `erlfmt` * Fish @@ -269,6 +273,7 @@ Notes: * Java * `PMD` * `checkstyle`!! + * `clang-format` * `cspell` * `eclipselsp` * `google-java-format` @@ -276,6 +281,7 @@ Notes: * `javalsp` * `uncrustify` * JavaScript + * `clang-format` * `cspell` * `deno` * `dprint` @@ -292,6 +298,7 @@ Notes: * `xo` * JSON * `VSCode JSON language server` + * `clang-format` * `cspell` * `dprint` * `eslint` @@ -382,6 +389,7 @@ Notes: * Objective-C * `ccls` * `clang` + * `clang-format` * `clangd` * `uncrustify` * Objective-C++ @@ -448,6 +456,7 @@ Notes: * proto * `buf-format`!! * `buf-lint`!! + * `clang-format` * `protoc-gen-lint`!! * `protolint`!! * Pug @@ -482,6 +491,7 @@ Notes: * `pyre` * `pyright` * `reorder-python-imports` + * ruff * `unimport` * `vulture`!! * `yapf` @@ -495,6 +505,7 @@ Notes: * Racket * `racket-langserver` * `raco` + * `raco_fmt` * Re:VIEW * `redpen` * ReasonML @@ -570,6 +581,7 @@ Notes: * `dprint` * `pgformatter` * `sql-lint` + * `sqlfluff` * `sqlfmt` * `sqlformat` * `sqlint` 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..9752ce6f 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* @@ -2767,6 +2767,7 @@ documented in additional help files. gnatpp................................|ale-ada-gnatpp| ada-language-server...................|ale-ada-language-server| ansible.................................|ale-ansible-options| + ansible-language-server...............|ale-ansible-language-server| ansible-lint..........................|ale-ansible-ansible-lint| apkbuild................................|ale-apkbuild-options| apkbuild-lint.........................|ale-apkbuild-apkbuild-lint| @@ -2833,6 +2834,7 @@ documented in additional help files. flawfinder............................|ale-cpp-flawfinder| uncrustify............................|ale-cpp-uncrustify| c#......................................|ale-cs-options| + clang-format..........................|ale-cs-clangformat| csc...................................|ale-cs-csc| cspell................................|ale-cs-cspell| dotnet-format.........................|ale-cs-dotnet-format| @@ -2847,9 +2849,9 @@ documented in additional help files. stylelint.............................|ale-css-stylelint| vscodecss.............................|ale-css-vscode| cuda....................................|ale-cuda-options| - nvcc..................................|ale-cuda-nvcc| - clangd................................|ale-cuda-clangd| clang-format..........................|ale-cuda-clangformat| + clangd................................|ale-cuda-clangd| + nvcc..................................|ale-cuda-nvcc| d.......................................|ale-d-options| dfmt..................................|ale-d-dfmt| dls...................................|ale-d-dls| @@ -2885,6 +2887,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| @@ -2973,6 +2976,7 @@ documented in additional help files. ispc..................................|ale-ispc-ispc| java....................................|ale-java-options| checkstyle............................|ale-java-checkstyle| + clang-format..........................|ale-java-clangformat| cspell................................|ale-java-cspell| javac.................................|ale-java-javac| google-java-format....................|ale-java-google-java-format| @@ -2981,6 +2985,7 @@ documented in additional help files. eclipselsp............................|ale-java-eclipselsp| uncrustify............................|ale-java-uncrustify| javascript..............................|ale-javascript-options| + clang-format..........................|ale-javascript-clangformat| cspell................................|ale-javascript-cspell| deno..................................|ale-javascript-deno| dprint................................|ale-javascript-dprint| @@ -2996,6 +3001,7 @@ documented in additional help files. standard..............................|ale-javascript-standard| xo....................................|ale-javascript-xo| json....................................|ale-json-options| + clang-format..........................|ale-json-clangformat| cspell................................|ale-json-cspell| dprint................................|ale-json-dprint| eslint................................|ale-json-eslint| @@ -3036,6 +3042,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| @@ -3061,10 +3069,11 @@ documented in additional help files. nroff...................................|ale-nroff-options| write-good............................|ale-nroff-write-good| objc....................................|ale-objc-options| + ccls..................................|ale-objc-ccls| clang.................................|ale-objc-clang| + clang-format..........................|ale-objc-clangformat| clangd................................|ale-objc-clangd| uncrustify............................|ale-objc-uncrustify| - ccls..................................|ale-objc-ccls| objcpp..................................|ale-objcpp-options| clang.................................|ale-objcpp-clang| clangd................................|ale-objcpp-clangd| @@ -3123,6 +3132,7 @@ documented in additional help files. proto...................................|ale-proto-options| buf-format............................|ale-proto-buf-format| buf-lint..............................|ale-proto-buf-lint| + clang-format..........................|ale-proto-clangformat| protoc-gen-lint.......................|ale-proto-protoc-gen-lint| protolint.............................|ale-proto-protolint| pug.....................................|ale-pug-options| @@ -3159,6 +3169,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| @@ -3237,6 +3248,7 @@ documented in additional help files. sql.....................................|ale-sql-options| dprint................................|ale-sql-dprint| pgformatter...........................|ale-sql-pgformatter| + sqlfluff..............................|ale-sql-sqlfluff| sqlfmt................................|ale-sql-sqlfmt| sqlformat.............................|ale-sql-sqlformat| stylus..................................|ale-stylus-options| @@ -4558,7 +4570,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 +4603,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/plugin/ale.vim b/sources_non_forked/ale/plugin/ale.vim index 4ba24c1d..dc7f259a 100644 --- a/sources_non_forked/ale/plugin/ale.vim +++ b/sources_non_forked/ale/plugin/ale.vim @@ -323,6 +323,7 @@ nnoremap (ale_go_to_type_definition) :ALEGoToTypeDefinition (ale_go_to_type_definition_in_tab) :ALEGoToTypeDefinition -tab nnoremap (ale_go_to_type_definition_in_split) :ALEGoToTypeDefinition -split nnoremap (ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinition -vsplit +nnoremap (ale_go_to_implementation) :ALEGoToImplementation nnoremap (ale_go_to_implementation_in_tab) :ALEGoToImplementation -tab nnoremap (ale_go_to_implementation_in_split) :ALEGoToImplementation -split nnoremap (ale_go_to_implementation_in_vsplit) :ALEGoToImplementation -vsplit diff --git a/sources_non_forked/ale/supported-tools.md b/sources_non_forked/ale/supported-tools.md index face9e39..6fca98f9 100644 --- a/sources_non_forked/ale/supported-tools.md +++ b/sources_non_forked/ale/supported-tools.md @@ -27,6 +27,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-language-server](https://github.com/ansible/ansible-language-server/) * [ansible-lint](https://github.com/willthames/ansible-lint) :floppy_disk: * API Blueprint * [drafter](https://github.com/apiaryio/drafter) @@ -84,6 +85,7 @@ formatting. * [gcc](https://gcc.gnu.org/) * [uncrustify](https://github.com/uncrustify/uncrustify) * C# + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [csc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-csc` for details and configuration * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [dotnet-format](https://github.com/dotnet/format) @@ -137,6 +139,7 @@ formatting. * Cucumber * [cucumber](https://cucumber.io/) * CUDA + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [clangd](https://clang.llvm.org/extra/clangd.html) * [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) :floppy_disk: * Cypher @@ -187,6 +190,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 @@ -278,6 +282,7 @@ formatting. * Java * [PMD](https://pmd.github.io/) * [checkstyle](http://checkstyle.sourceforge.net) :floppy_disk: + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [eclipselsp](https://github.com/eclipse/eclipse.jdt.ls) * [google-java-format](https://github.com/google/google-java-format) @@ -285,6 +290,7 @@ formatting. * [javalsp](https://github.com/georgewfraser/vscode-javac) * [uncrustify](https://github.com/uncrustify/uncrustify) * JavaScript + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [deno](https://deno.land/) * [dprint](https://dprint.dev/) @@ -301,6 +307,7 @@ formatting. * [xo](https://github.com/sindresorhus/xo) * JSON * [VSCode JSON language server](https://github.com/hrsh7th/vscode-langservers-extracted) + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning: * [dprint](https://dprint.dev) * [eslint](http://eslint.org/) :warning: @@ -391,6 +398,7 @@ formatting. * Objective-C * [ccls](https://github.com/MaskRay/ccls) * [clang](http://clang.llvm.org/) + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [clangd](https://clang.llvm.org/extra/clangd.html) * [uncrustify](https://github.com/uncrustify/uncrustify) * Objective-C++ @@ -457,6 +465,7 @@ formatting. * proto * [buf-format](https://github.com/bufbuild/buf) :floppy_disk: * [buf-lint](https://github.com/bufbuild/buf) :floppy_disk: + * [clang-format](https://clang.llvm.org/docs/ClangFormat.html) * [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint) :floppy_disk: * [protolint](https://github.com/yoheimuta/protolint) :floppy_disk: * Pug @@ -491,6 +500,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 +514,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 @@ -579,6 +590,7 @@ formatting. * [dprint](https://dprint.dev) * [pgformatter](https://github.com/darold/pgFormatter) * [sql-lint](https://github.com/joereynolds/sql-lint) + * [sqlfluff](https://github.com/sqlfluff/sqlfluff) * [sqlfmt](https://github.com/jackc/sqlfmt) * [sqlformat](https://github.com/andialbrecht/sqlparse) * [sqlint](https://github.com/purcell/sqlint) diff --git a/sources_non_forked/dracula/after/plugin/dracula.vim b/sources_non_forked/dracula/after/plugin/dracula.vim index 3fd3c32f..a4cdb066 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,55 @@ 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.1') + " # 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 + hi! link @text.diff.add DiffAdd + hi! link @text.diff.delete DiffDelete + " # 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/indent/nginx.vim b/sources_non_forked/nginx.vim/indent/nginx.vim index 7a0123cc..c7500c67 100644 --- a/sources_non_forked/nginx.vim/indent/nginx.vim +++ b/sources_non_forked/nginx.vim/indent/nginx.vim @@ -1,13 +1,73 @@ -if exists("b:did_indent") - finish +" Only load this indent file when no other was loaded. +if exists('b:did_indent') + finish endif let b:did_indent = 1 -setlocal indentexpr= +setlocal indentexpr=GetNginxIndent() -" cindent actually works for nginx' simple file structure -setlocal cindent -" Just make sure that the comments are not reset as defs would be. -setlocal cinkeys-=0# +setlocal indentkeys=0{,0},0#,!^F,o,O -let b:undo_indent = "setl cin< cink< inde<" +let b:undo_indent = 'setl inde< indk<' + +" Only define the function once. +if exists('*GetNginxIndent') + finish +endif + +function! GetNginxIndent() abort + let plnum = s:PrevNotAsBlank(v:lnum - 1) + + " Hit the start of the file, use zero indent. + if plnum == 0 + return 0 + endif + + let ind = indent(plnum) + + " Add a 'shiftwidth' after '{' + if s:AsEndWith(getline(plnum), '{') + let ind = ind + shiftwidth() + end + + " Subtract a 'shiftwidth' on '}' + " This is the part that requires 'indentkeys'. + if getline(v:lnum) =~ '^\s*}' + let ind = ind - shiftwidth() + endif + + let pplnum = s:PrevNotAsBlank(plnum - 1) + + if s:IsLineContinuation(plnum) + if !s:IsLineContinuation(pplnum) + let ind = ind + shiftwidth() + end + else + if s:IsLineContinuation(pplnum) + let ind = ind - shiftwidth() + end + endif + + return ind +endfunction + +" Find the first line at or above {lnum} that is non-blank and not a comment. +function! s:PrevNotAsBlank(lnum) abort + let lnum = prevnonblank(a:lnum) + while lnum > 0 + if getline(lnum) !~ '^\s*#' + break + endif + let lnum = prevnonblank(lnum - 1) + endwhile + return lnum +endfunction + +" Check whether {line} ends with {pat}, ignoring trailing comments. +function! s:AsEndWith(line, pat) abort + return a:line =~ a:pat . '\m\s*\%(#.*\)\?$' +endfunction + +function! s:IsLineContinuation(lnum) abort + return a:lnum > 0 && !s:AsEndWith(getline(a:lnum), '[;{}]') +endfunction 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..272efcb7 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 ==# '--' @@ -7548,7 +7553,7 @@ function! s:SquashArgument(...) abort if &filetype == 'fugitive' let commit = matchstr(getline('.'), '^\%(\%(\x\x\x\)\@!\l\+\s\+\)\=\zs[0-9a-f]\{4,\}\ze \|^' . s:ref_header . ': \zs\S\+') elseif has_key(s:temp_files, s:cpath(expand('%:p'))) - let commit = matchstr(getline('.'), '\S\@') + let commit = matchstr(getline('.'), '\S\@ 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/after/ftplugin/markdown.vim b/sources_non_forked/vim-markdown/after/ftplugin/markdown.vim index 73d0232d..38c1bc98 100644 --- a/sources_non_forked/vim-markdown/after/ftplugin/markdown.vim +++ b/sources_non_forked/vim-markdown/after/ftplugin/markdown.vim @@ -25,7 +25,7 @@ if get(g:, 'vim_markdown_folding_style_pythonic', 0) let b:fenced_block = 0 endif " else, if we're caring about front matter - elseif g:vim_markdown_frontmatter == 1 + elseif get(g:, 'vim_markdown_frontmatter', 0) == 1 " if we're in front matter and not on line 1 if b:front_matter == 1 && a:lnum > 2 let l0 = getline(a:lnum-1) @@ -111,7 +111,7 @@ else " vim_markdown_folding_style_pythonic == 0 elseif b:fenced_block == 1 let b:fenced_block = 0 endif - elseif g:vim_markdown_frontmatter == 1 + elseif get(g:, 'vim_markdown_frontmatter', 0) == 1 if b:front_matter == 1 if l0 ==# '---' let b:front_matter = 0 diff --git a/sources_non_forked/vim-markdown/ftplugin/markdown.vim b/sources_non_forked/vim-markdown/ftplugin/markdown.vim index 5e402269..4c4c85ea 100644 --- a/sources_non_forked/vim-markdown/ftplugin/markdown.vim +++ b/sources_non_forked/vim-markdown/ftplugin/markdown.vim @@ -494,7 +494,9 @@ endfunction function! s:SetexToAtx(line1, line2) let l:originalNumLines = line('$') execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n\=+$/# \1/' - execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n-+$/## \1/' + + let l:changed = l:originalNumLines - line('$') + execute 'silent! ' . a:line1 . ',' . (a:line2 - l:changed) . 'substitute/\v(.*\S.*)\n-+$/## \1' return l:originalNumLines - line('$') endfunction @@ -546,7 +548,7 @@ function! s:TableFormat() let l:flags = (&gdefault ? '' : 'g') execute 's/\(:\@ 1 && &syntax != 'OFF' + if s:IsHighlightSourcesEnabledForBuffer() && line('$') > 1 && &syntax != 'OFF' call s:MarkdownHighlightSources(a:force) endif endfunction function! s:MarkdownClearSyntaxVariables() - if &filetype =~# 'markdown' + if s:IsHighlightSourcesEnabledForBuffer() unlet! b:mkd_included_filetypes endif endfunction diff --git a/sources_non_forked/vim-markdown/syntax/markdown.vim b/sources_non_forked/vim-markdown/syntax/markdown.vim index 96bfbc9a..4d54d3c3 100644 --- a/sources_non_forked/vim-markdown/syntax/markdown.vim +++ b/sources_non_forked/vim-markdown/syntax/markdown.vim @@ -109,8 +109,9 @@ syn region mkdFootnote start="\[^" end="\]" syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/ syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained -syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained -syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,@Spell +syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained nextgroup=mkdListItemCheckbox +syn match mkdListItemCheckbox /\[[xXoO ]\]\ze\s\+/ contained contains=mkdListItem +syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,mkdListItemCheckbox,@Spell syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*\(\*\|\s\)*$/ syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-\(-\|\s\)*$/ @@ -158,25 +159,26 @@ endif syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,mkdStrike "highlighting for Markdown groups -HtmlHiLink mkdString String -HtmlHiLink mkdCode String -HtmlHiLink mkdCodeDelimiter String -HtmlHiLink mkdCodeStart String -HtmlHiLink mkdCodeEnd String -HtmlHiLink mkdFootnote Comment -HtmlHiLink mkdBlockquote Comment -HtmlHiLink mkdListItem Identifier -HtmlHiLink mkdRule Identifier -HtmlHiLink mkdLineBreak Visual -HtmlHiLink mkdFootnotes htmlLink -HtmlHiLink mkdLink htmlLink -HtmlHiLink mkdURL htmlString -HtmlHiLink mkdInlineURL htmlLink -HtmlHiLink mkdID Identifier -HtmlHiLink mkdLinkDef mkdID -HtmlHiLink mkdLinkDefTarget mkdURL -HtmlHiLink mkdLinkTitle htmlString -HtmlHiLink mkdDelimiter Delimiter +HtmlHiLink mkdString String +HtmlHiLink mkdCode String +HtmlHiLink mkdCodeDelimiter String +HtmlHiLink mkdCodeStart String +HtmlHiLink mkdCodeEnd String +HtmlHiLink mkdFootnote Comment +HtmlHiLink mkdBlockquote Comment +HtmlHiLink mkdListItem Identifier +HtmlHiLink mkdListItemCheckbox Identifier +HtmlHiLink mkdRule Identifier +HtmlHiLink mkdLineBreak Visual +HtmlHiLink mkdFootnotes htmlLink +HtmlHiLink mkdLink htmlLink +HtmlHiLink mkdURL htmlString +HtmlHiLink mkdInlineURL htmlLink +HtmlHiLink mkdID Identifier +HtmlHiLink mkdLinkDef mkdID +HtmlHiLink mkdLinkDefTarget mkdURL +HtmlHiLink mkdLinkTitle htmlString +HtmlHiLink mkdDelimiter Delimiter let b:current_syntax = 'mkd' diff --git a/sources_non_forked/vim-markdown/test/header-decrease.vader b/sources_non_forked/vim-markdown/test/header-decrease.vader new file mode 100644 index 00000000..4fa58ef6 --- /dev/null +++ b/sources_non_forked/vim-markdown/test/header-decrease.vader @@ -0,0 +1,116 @@ +Given markdown; +# a + +## b + +### c + +#### d + +##### e + +Execute (HeaderIncrease without forbidden level): + :HeaderIncrease + +Expect (increase level of all headers): + ## a + + ### b + + #### c + + ##### d + + ###### e + +Given markdown; +# a + +###### b + +Execute (HeaderIncrease with forbidden level): + :HeaderIncrease + +Expect (no changes): + # a + + ###### b + +Given markdown; +## a + +### b + +#### c + +##### d + +###### e + +Execute (HeaderDecrease without forbidden level): + :HeaderDecrease + +Expect (decrease level of all headers): + # a + + ## b + + ### c + + #### d + + ##### e + +Given markdown; +# a + +## b + +### c + +#### d + +##### e + +###### f + +Execute (HeaderDecrease with forbidden level): + :HeaderDecrease + +Expect (no changes): + # a + + ## b + + ### c + + #### d + + ##### e + + ###### f + +Given markdown; +a += + +b +- + +Execute (HeaderIncrease with setext headers): + :HeaderIncrease + +Expect (convert to atx headers): + ## a + + ### b + +Given markdown; +a +- + +Execute (HeaderDecrease with setext headers): + :HeaderDecrease + +Expect (convert to atx headers): + # a diff --git a/sources_non_forked/vim-markdown/test/setextoatx.vader b/sources_non_forked/vim-markdown/test/setextoatx.vader new file mode 100644 index 00000000..a27938fa --- /dev/null +++ b/sources_non_forked/vim-markdown/test/setextoatx.vader @@ -0,0 +1,48 @@ +Given markdown; +# a + +a += + +## b + +b +- + +Execute (SetexToAtx): + :SetexToAtx + +Expect (convert setex-style headings to atx): + # a + + # a + + ## b + + ## b + +Given markdown; +a += + +b += + +c +- + +d +- + +Execute (SetexToAtx with range): + :1,8SetexToAtx + +Expect (only convert setex headings in original range): + # a + + # b + + ## c + + d + - diff --git a/sources_non_forked/vim-markdown/test/syntax.vader b/sources_non_forked/vim-markdown/test/syntax.vader index 03496ced..3d1a9911 100644 --- a/sources_non_forked/vim-markdown/test/syntax.vader +++ b/sources_non_forked/vim-markdown/test/syntax.vader @@ -2,6 +2,7 @@ Before: unlet! b:mkd_known_filetypes unlet! b:mkd_included_filetypes unlet! g:vim_markdown_math + unlet! b:liquid_subtype Given markdown; a **b** c @@ -855,6 +856,17 @@ a Execute (fenced code block with extended info strings): AssertEqual SyntaxOf('a'), 'mkdCode' +Given liquid; +```vim +let g:a = 1 +``` + +Execute (fenced code block syntax in liquid file with markdown subtype): + let b:liquid_subtype = 'markdown' + let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') + call b:func(0) + AssertEqual SyntaxOf('g:a'), 'vimVar' + # Code Blocks in pre and code tag Given markdown; diff --git a/sources_non_forked/vim-multiple-cursors/Gemfile.lock b/sources_non_forked/vim-multiple-cursors/Gemfile.lock index 5e909c4a..e833b243 100644 --- a/sources_non_forked/vim-multiple-cursors/Gemfile.lock +++ b/sources_non_forked/vim-multiple-cursors/Gemfile.lock @@ -2,7 +2,7 @@ GEM remote: https://rubygems.org/ specs: diff-lcs (1.2.5) - rake (12.3.3) + rake (10.4.2) rspec (3.4.0) rspec-core (~> 3.4.0) rspec-expectations (~> 3.4.0) diff --git a/sources_non_forked/vim-snippets/UltiSnips/tex.snippets b/sources_non_forked/vim-snippets/UltiSnips/tex.snippets index 00e910de..8b71c283 100644 --- a/sources_non_forked/vim-snippets/UltiSnips/tex.snippets +++ b/sources_non_forked/vim-snippets/UltiSnips/tex.snippets @@ -371,11 +371,11 @@ snippet != "Not Equal" w \neq endsnippet -snippet <= "leq" Aw +snippet <= "leq" w \le endsnippet -snippet >= "geq" Aw +snippet >= "geq" w \ge endsnippet diff --git a/sources_non_forked/vim-snippets/snippets/lua.snippets b/sources_non_forked/vim-snippets/snippets/lua.snippets index 87cdc8e4..6fe3fd36 100644 --- a/sources_non_forked/vim-snippets/snippets/lua.snippets +++ b/sources_non_forked/vim-snippets/snippets/lua.snippets @@ -68,5 +68,5 @@ snippet fwrs io.${1:stderr}:write("$0") snippet fwrf io.${1:stderr}:write(string.format("${2:%s}"$0)) -snippet im - import "${1:import file}" +snippet req + require('${1:mod}') 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 diff --git a/update_plugins.py b/update_plugins.py index a0e130af..2b5d53e0 100644 --- a/update_plugins.py +++ b/update_plugins.py @@ -7,11 +7,11 @@ except ImportError: futures = None import re -import zipfile import shutil import tempfile -import requests - +import urllib.request +import zipfile +from io import BytesIO from os import path # --- Globals ---------------------------------------------- @@ -63,7 +63,6 @@ vim-indent-guides https://github.com/nathanaelkane/vim-indent-guides mru.vim https://github.com/vim-scripts/mru.vim editorconfig-vim https://github.com/editorconfig/editorconfig-vim dracula https://github.com/dracula/vim -jedi-vim https://github.com/davidhalter/jedi-vim """.strip() GITHUB_ZIP = "%s/archive/master.zip" @@ -72,16 +71,12 @@ SOURCE_DIR = path.join(path.dirname(__file__), "sources_non_forked") def download_extract_replace(plugin_name, zip_path, temp_dir, source_dir): - temp_zip_path = path.join(temp_dir, plugin_name) - # Download and extract file in temp dir - req = requests.get(zip_path) - open(temp_zip_path, "wb").write(req.content) + with urllib.request.urlopen(zip_path) as req: + zip_f = zipfile.ZipFile(BytesIO(req.read())) + zip_f.extractall(temp_dir) + content_disp = req.headers.get("Content-Disposition") - zip_f = zipfile.ZipFile(temp_zip_path) - zip_f.extractall(temp_dir) - - content_disp = req.headers.get("Content-Disposition") filename = re.findall("filename=(.+).zip", content_disp)[0] plugin_temp_path = path.join(temp_dir, path.join(temp_dir, filename)) diff --git a/vimrcs/basic.vim b/vimrcs/basic.vim index c09b2dce..2c94fdf9 100644 --- a/vimrcs/basic.vim +++ b/vimrcs/basic.vim @@ -1,6 +1,6 @@ """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Maintainer: -" Amir Salihefendic — @amix3k +" Amir Salihefendic - @amix3k " " Awesome_version: " Get this config, nice color schemes and lots of plugins! diff --git a/vimrcs/plugins_config.vim b/vimrcs/plugins_config.vim index 4f8081bc..bef19b1c 100644 --- a/vimrcs/plugins_config.vim +++ b/vimrcs/plugins_config.vim @@ -211,4 +211,4 @@ let g:airline_skip_empty_sections = 1 let g:indentLine_enabled = 1 let g:indentLine_concealcursor = '' let g:indentLine_char = '┆' -let g:indentLine_faster = 1 +let g:indentLine_faster = 1 \ No newline at end of file