Updated vim plugins

pull/728/head
Amir 10 months ago
parent d8db85c663
commit 2b653aa950
  1. 46
      sources_non_forked/ale/ale_linters/ansible/ansible_language_server.vim
  2. 9
      sources_non_forked/ale/ale_linters/markdown/markdownlint.vim
  3. 72
      sources_non_forked/ale/ale_linters/sql/sqlfluff.vim
  4. 9
      sources_non_forked/ale/autoload/ale/fix/registry.vim
  5. 25
      sources_non_forked/ale/autoload/ale/fixers/sqlfluff.vim
  6. 23
      sources_non_forked/ale/doc/ale-ansible.txt
  7. 7
      sources_non_forked/ale/doc/ale-cs.txt
  8. 38
      sources_non_forked/ale/doc/ale-cuda.txt
  9. 4
      sources_non_forked/ale/doc/ale-development.txt
  10. 7
      sources_non_forked/ale/doc/ale-java.txt
  11. 9
      sources_non_forked/ale/doc/ale-javascript.txt
  12. 7
      sources_non_forked/ale/doc/ale-json.txt
  13. 9
      sources_non_forked/ale/doc/ale-markdown.txt
  14. 69
      sources_non_forked/ale/doc/ale-objc.txt
  15. 14
      sources_non_forked/ale/doc/ale-proto.txt
  16. 8
      sources_non_forked/ale/doc/ale-rust.txt
  17. 21
      sources_non_forked/ale/doc/ale-sql.txt
  18. 9
      sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt
  19. 14
      sources_non_forked/ale/doc/ale.txt
  20. 1
      sources_non_forked/ale/plugin/ale.vim
  21. 9
      sources_non_forked/ale/supported-tools.md
  22. 4
      sources_non_forked/dracula/after/plugin/dracula.vim
  23. 76
      sources_non_forked/nginx.vim/indent/nginx.vim
  24. 4
      sources_non_forked/vim-fugitive/autoload/fugitive.vim
  25. 4
      sources_non_forked/vim-markdown/after/ftplugin/markdown.vim
  26. 12
      sources_non_forked/vim-markdown/ftplugin/markdown.vim
  27. 44
      sources_non_forked/vim-markdown/syntax/markdown.vim
  28. 116
      sources_non_forked/vim-markdown/test/header-decrease.vader
  29. 48
      sources_non_forked/vim-markdown/test/setextoatx.vader
  30. 12
      sources_non_forked/vim-markdown/test/syntax.vader
  31. 4
      sources_non_forked/vim-snippets/UltiSnips/tex.snippets
  32. 4
      sources_non_forked/vim-snippets/snippets/lua.snippets

@ -0,0 +1,46 @@
" Author: Horacio Sanson <https://github.com/hsanson>
" 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')}
\})

@ -1,10 +1,15 @@
" Author: Ty-Lucas Kelley <tylucaskelley@gmail.com>
" 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'),

@ -0,0 +1,72 @@
" Author: Carl Smedstad <carl.smedstad at protonmail dot com>
" 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',
\})

@ -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'],

@ -0,0 +1,25 @@
" Author: Carl Smedstad <carl.smedstad at protonmail dot com>
" 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

@ -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:

@ -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*

@ -3,23 +3,11 @@ ALE CUDA Integration *ale-cuda-options*
===============================================================================
nvcc *ale-cuda-nvcc*
g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable*
*b:ale_cuda_nvcc_executable*
Type: |String|
Default: `'nvcc'`
This variable can be changed to use a different executable for nvcc.
Currently only nvcc 8.0 is supported.
clang-format *ale-cuda-clangformat*
g:ale_cuda_nvcc_options *g:ale_cuda_nvcc_options*
*b:ale_cuda_nvcc_options*
Type: |String|
Default: `'-std=c++11'`
See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for CUDA.
This variable can be changed to modify flags given to nvcc.
===============================================================================
clangd *ale-cuda-clangd*
@ -39,11 +27,25 @@ g:ale_cuda_clangd_options *g:ale_cuda_clangd_options*
This variable can be changed to modify flags given to clangd.
===============================================================================
clang-format *ale-cuda-clangformat*
nvcc *ale-cuda-nvcc*
See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for cuda.
g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable*
*b:ale_cuda_nvcc_executable*
Type: |String|
Default: `'nvcc'`
This variable can be changed to use a different executable for nvcc.
Currently only nvcc 8.0 is supported.
g:ale_cuda_nvcc_options *g:ale_cuda_nvcc_options*
*b:ale_cuda_nvcc_options*
Type: |String|
Default: `'-std=c++11'`
This variable can be changed to modify flags given to nvcc.
===============================================================================

@ -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

@ -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*

@ -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*

@ -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*

@ -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|

@ -2,6 +2,37 @@
ALE Objective-C Integration *ale-objc-options*
===============================================================================
ccls *ale-objc-ccls*
g:ale_objc_ccls_executable *g:ale_objc_ccls_executable*
*b:ale_objc_ccls_executable*
Type: |String|
Default: `'ccls'`
This variable can be changed to use a different executable for ccls.
g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options*
*b:ale_objc_ccls_init_options*
Type: |Dictionary|
Default: `{}`
This variable can be changed to customize ccls initialization options.
Example: >
{
\ 'cacheDirectory': '/tmp/ccls',
\ 'cacheFormat': 'binary',
\ 'diagnostics': {
\ 'onOpen': 0,
\ 'opChange': 1000,
\ },
\ }
<
Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all
available options and explanations.
===============================================================================
clang *ale-objc-clang*
@ -13,6 +44,13 @@ g:ale_objc_clang_options *g:ale_objc_clang_options*
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*
@ -38,36 +76,5 @@ uncrustify *ale-objc-uncrustify*
See |ale-c-uncrustify| for information about the available options.
===============================================================================
ccls *ale-objc-ccls*
g:ale_objc_ccls_executable *g:ale_objc_ccls_executable*
*b:ale_objc_ccls_executable*
Type: |String|
Default: `'ccls'`
This variable can be changed to use a different executable for ccls.
g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options*
*b:ale_objc_ccls_init_options*
Type: |Dictionary|
Default: `{}`
This variable can be changed to customize ccls initialization options.
Example: >
{
\ 'cacheDirectory': '/tmp/ccls',
\ 'cacheFormat': 'binary',
\ 'diagnostics': {
\ 'onOpen': 0,
\ 'opChange': 1000,
\ },
\ }
<
Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all
available options and explanations.
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

@ -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*
@ -29,6 +32,7 @@ g:ale_proto_buf_format_executable *g:ale_proto_buf_format_executable*
This variable can be changed to modify the executable used for buf.
===============================================================================
buf-lint *ale-proto-buf-lint*
@ -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*
@ -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:

@ -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:

@ -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*

@ -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
@ -270,6 +273,7 @@ Notes:
* Java
* `PMD`
* `checkstyle`!!
* `clang-format`
* `cspell`
* `eclipselsp`
* `google-java-format`
@ -277,6 +281,7 @@ Notes:
* `javalsp`
* `uncrustify`
* JavaScript
* `clang-format`
* `cspell`
* `deno`
* `dprint`
@ -293,6 +298,7 @@ Notes:
* `xo`
* JSON
* `VSCode JSON language server`
* `clang-format`
* `cspell`
* `dprint`
* `eslint`
@ -383,6 +389,7 @@ Notes:
* Objective-C
* `ccls`
* `clang`
* `clang-format`
* `clangd`
* `uncrustify`
* Objective-C++
@ -449,6 +456,7 @@ Notes:
* proto
* `buf-format`!!
* `buf-lint`!!
* `clang-format`
* `protoc-gen-lint`!!
* `protolint`!!
* Pug
@ -573,6 +581,7 @@ Notes:
* `dprint`
* `pgformatter`
* `sql-lint`
* `sqlfluff`
* `sqlfmt`
* `sqlformat`
* `sqlint`

@ -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|
@ -2974,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|
@ -2982,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|
@ -2997,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|
@ -3064,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|
@ -3126,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|
@ -3241,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|

@ -323,6 +323,7 @@ nnoremap <silent> <Plug>(ale_go_to_type_definition) :ALEGoToTypeDefinition<Retur
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_tab) :ALEGoToTypeDefinition -tab<Return>
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_split) :ALEGoToTypeDefinition -split<Return>
nnoremap <silent> <Plug>(ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinition -vsplit<Return>
nnoremap <silent> <Plug>(ale_go_to_implementation) :ALEGoToImplementation<Return>
nnoremap <silent> <Plug>(ale_go_to_implementation_in_tab) :ALEGoToImplementation -tab<Return>
nnoremap <silent> <Plug>(ale_go_to_implementation_in_split) :ALEGoToImplementation -split<Return>
nnoremap <silent> <Plug>(ale_go_to_implementation_in_vsplit) :ALEGoToImplementation -vsplit<Return>

@ -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
@ -279,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)
@ -286,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/)
@ -302,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:
@ -392,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++
@ -458,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
@ -582,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)

@ -100,7 +100,7 @@ if exists('g:loaded_nvim_treesitter')
" which in turn links to Identifer (white).
hi! link TSTagAttribute DraculaGreenItalic
if has('nvim-0.8')
if has('nvim-0.8.1')
" # Misc
hi! link @punctuation.delimiter Delimiter
hi! link @punctuation.bracket Normal
@ -139,6 +139,8 @@ if exists('g:loaded_nvim_treesitter')
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

@ -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

@ -7553,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\@<!\x\{4,\}\>')
let commit = matchstr(getline('.'), '\S\@<!\x\{4,\}\S\@!')
else
let commit = s:Owner(@%)
endif
@ -7599,7 +7599,7 @@ function! s:HunkPosition(lnum) abort
let lnum -= 1
let line_char = getline(lnum)[0]
endwhile
let starts = matchlist(getline(lnum), '^@@\+[ 0-9,-]* -\(\d\+\),\d\+ +\(\d\+\),')
let starts = matchlist(getline(lnum), '^@@\+[ 0-9,-]* -\(\d\+\)\%(,\d\+\)\= +\(\d\+\)[ ,]')
if empty(starts)
return [0, 0, 0]
endif

@ -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

@ -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
@ -854,19 +856,23 @@ function! s:SyntaxInclude(filetype)
return grouplistname
endfunction
function! s:IsHighlightSourcesEnabledForBuffer()
" Enable for markdown buffers, and for liquid buffers with markdown format
return &filetype =~# 'markdown' || get(b:, 'liquid_subtype', '') =~# 'markdown'
endfunction
function! s:MarkdownRefreshSyntax(force)
" Use != to compare &syntax's value to use the same logic run on
" $VIMRUNTIME/syntax/synload.vim.
"
" vint: next-line -ProhibitEqualTildeOperator
if &filetype =~# 'markdown' && line('$') > 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

@ -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'

@ -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

@ -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
-

@ -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;

@ -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

@ -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}')

Loading…
Cancel
Save