From ea643b97ab08e571a543f4bd89cd3170f3f288e2 Mon Sep 17 00:00:00 2001 From: David Houston Date: Thu, 18 Nov 2021 17:41:05 -0500 Subject: [PATCH] Add cspell Linter (#3981) * Add cspell linter Add cspell linter, with the languages it supports. Signed-off-by: David Houston * Add cspell Global Variables Documentation Add documentation to /doc/ale.txt with cspell configuration options. Signed-off-by: David Houston * Add cspell to docs, Minor Cleanup Add cspell for each supported language, adding some spaces and removing others when caught navigating the file. Signed-off-by: David Houston --- ale_linters/ada/cspell.vim | 5 ++ ale_linters/asciidoc/cspell.vim | 5 ++ ale_linters/c/cspell.vim | 5 ++ ale_linters/cpp/cspell.vim | 5 ++ ale_linters/cs/cspell.vim | 5 ++ ale_linters/css/cspell.vim | 5 ++ ale_linters/elixir/cspell.vim | 5 ++ ale_linters/go/cspell.vim | 5 ++ ale_linters/haskell/cspell.vim | 5 ++ ale_linters/help/cspell.vim | 5 ++ ale_linters/html/cspell.vim | 5 ++ ale_linters/java/cspell.vim | 5 ++ ale_linters/javascript/cspell.vim | 5 ++ ale_linters/json/cspell.vim | 5 ++ ale_linters/lua/cspell.vim | 5 ++ ale_linters/markdown/cspell.vim | 5 ++ ale_linters/php/cspell.vim | 5 ++ ale_linters/powershell/cspell.vim | 5 ++ ale_linters/python/cspell.vim | 5 ++ ale_linters/rst/cspell.vim | 5 ++ ale_linters/ruby/cspell.vim | 5 ++ ale_linters/rust/cspell.vim | 5 ++ ale_linters/scala/cspell.vim | 5 ++ ale_linters/sh/cspell.vim | 5 ++ ale_linters/swift/cspell.vim | 5 ++ ale_linters/tex/cspell.vim | 5 ++ ale_linters/texinfo/cspell.vim | 5 ++ ale_linters/text/cspell.vim | 5 ++ ale_linters/typescript/cspell.vim | 5 ++ ale_linters/vue/cspell.vim | 5 ++ ale_linters/xhtml/cspell.vim | 5 ++ autoload/ale/handlers/cspell.vim | 54 ++++++++++++ doc/ale-ada.txt | 5 ++ doc/ale-asciidoc.txt | 6 ++ doc/ale-c.txt | 6 ++ doc/ale-cpp.txt | 6 ++ doc/ale-cs.txt | 6 ++ doc/ale-css.txt | 6 ++ doc/ale-elixir.txt | 24 ++++-- doc/ale-go.txt | 8 +- doc/ale-haskell.txt | 6 ++ doc/ale-help.txt | 12 +++ doc/ale-html.txt | 5 ++ doc/ale-java.txt | 16 +++- doc/ale-javascript.txt | 7 ++ doc/ale-json.txt | 6 ++ doc/ale-latex.txt | 7 +- doc/ale-lua.txt | 11 +++ doc/ale-markdown.txt | 8 +- doc/ale-php.txt | 11 +++ doc/ale-powershell.txt | 15 ++-- doc/ale-python.txt | 19 +++-- doc/ale-restructuredtext.txt | 9 +- doc/ale-ruby.txt | 9 +- doc/ale-rust.txt | 15 ++-- doc/ale-scala.txt | 6 ++ doc/ale-sh.txt | 6 ++ doc/ale-supported-languages-and-tools.txt | 30 +++++++ doc/ale-swift.txt | 13 ++- doc/ale-tex.txt | 27 +++--- doc/ale-texinfo.txt | 8 +- doc/ale-text.txt | 8 +- doc/ale-typescript.txt | 13 ++- doc/ale-vue.txt | 6 ++ doc/ale-xhtml.txt | 8 +- doc/ale.txt | 82 +++++++++++++++++-- supported-tools.md | 30 +++++++ test/handler/test_cspell_handler.vader | 13 +++ test/linter/test_cspell.vader | 69 ++++++++++++++++ .../node-modules-2/node_modules/cspell/bin.js | 0 .../node-modules/node_modules/.bin/cspell | 0 71 files changed, 689 insertions(+), 62 deletions(-) create mode 100644 ale_linters/ada/cspell.vim create mode 100644 ale_linters/asciidoc/cspell.vim create mode 100644 ale_linters/c/cspell.vim create mode 100644 ale_linters/cpp/cspell.vim create mode 100644 ale_linters/cs/cspell.vim create mode 100644 ale_linters/css/cspell.vim create mode 100644 ale_linters/elixir/cspell.vim create mode 100644 ale_linters/go/cspell.vim create mode 100644 ale_linters/haskell/cspell.vim create mode 100644 ale_linters/help/cspell.vim create mode 100644 ale_linters/html/cspell.vim create mode 100644 ale_linters/java/cspell.vim create mode 100644 ale_linters/javascript/cspell.vim create mode 100644 ale_linters/json/cspell.vim create mode 100644 ale_linters/lua/cspell.vim create mode 100644 ale_linters/markdown/cspell.vim create mode 100644 ale_linters/php/cspell.vim create mode 100644 ale_linters/powershell/cspell.vim create mode 100644 ale_linters/python/cspell.vim create mode 100644 ale_linters/rst/cspell.vim create mode 100644 ale_linters/ruby/cspell.vim create mode 100644 ale_linters/rust/cspell.vim create mode 100644 ale_linters/scala/cspell.vim create mode 100644 ale_linters/sh/cspell.vim create mode 100644 ale_linters/swift/cspell.vim create mode 100644 ale_linters/tex/cspell.vim create mode 100644 ale_linters/texinfo/cspell.vim create mode 100644 ale_linters/text/cspell.vim create mode 100644 ale_linters/typescript/cspell.vim create mode 100644 ale_linters/vue/cspell.vim create mode 100644 ale_linters/xhtml/cspell.vim create mode 100644 autoload/ale/handlers/cspell.vim create mode 100644 doc/ale-help.txt create mode 100644 test/handler/test_cspell_handler.vader create mode 100644 test/linter/test_cspell.vader create mode 100755 test/test-files/cspell/node-modules-2/node_modules/cspell/bin.js create mode 100755 test/test-files/cspell/node-modules/node_modules/.bin/cspell diff --git a/ale_linters/ada/cspell.vim b/ale_linters/ada/cspell.vim new file mode 100644 index 00000000..7342d2b6 --- /dev/null +++ b/ale_linters/ada/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Ada files. + +call ale#handlers#cspell#DefineLinter('ada') diff --git a/ale_linters/asciidoc/cspell.vim b/ale_linters/asciidoc/cspell.vim new file mode 100644 index 00000000..b228b2e8 --- /dev/null +++ b/ale_linters/asciidoc/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for ASCIIDoc files. + +call ale#handlers#cspell#DefineLinter('asciidoc') diff --git a/ale_linters/c/cspell.vim b/ale_linters/c/cspell.vim new file mode 100644 index 00000000..5f016548 --- /dev/null +++ b/ale_linters/c/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for C files. + +call ale#handlers#cspell#DefineLinter('c') diff --git a/ale_linters/cpp/cspell.vim b/ale_linters/cpp/cspell.vim new file mode 100644 index 00000000..ace4c3b2 --- /dev/null +++ b/ale_linters/cpp/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for C++ files. + +call ale#handlers#cspell#DefineLinter('cpp') diff --git a/ale_linters/cs/cspell.vim b/ale_linters/cs/cspell.vim new file mode 100644 index 00000000..c62dd11b --- /dev/null +++ b/ale_linters/cs/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for C# files. + +call ale#handlers#cspell#DefineLinter('cs') diff --git a/ale_linters/css/cspell.vim b/ale_linters/css/cspell.vim new file mode 100644 index 00000000..d42375b4 --- /dev/null +++ b/ale_linters/css/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for CSS files. + +call ale#handlers#cspell#DefineLinter('css') diff --git a/ale_linters/elixir/cspell.vim b/ale_linters/elixir/cspell.vim new file mode 100644 index 00000000..12dc271f --- /dev/null +++ b/ale_linters/elixir/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Elixir files. + +call ale#handlers#cspell#DefineLinter('elixir') diff --git a/ale_linters/go/cspell.vim b/ale_linters/go/cspell.vim new file mode 100644 index 00000000..f986a31a --- /dev/null +++ b/ale_linters/go/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Go files. + +call ale#handlers#cspell#DefineLinter('go') diff --git a/ale_linters/haskell/cspell.vim b/ale_linters/haskell/cspell.vim new file mode 100644 index 00000000..b0971a9e --- /dev/null +++ b/ale_linters/haskell/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Haskell files. + +call ale#handlers#cspell#DefineLinter('haskell') diff --git a/ale_linters/help/cspell.vim b/ale_linters/help/cspell.vim new file mode 100644 index 00000000..92eb9501 --- /dev/null +++ b/ale_linters/help/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for help files. + +call ale#handlers#cspell#DefineLinter('help') diff --git a/ale_linters/html/cspell.vim b/ale_linters/html/cspell.vim new file mode 100644 index 00000000..743350ea --- /dev/null +++ b/ale_linters/html/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for HTML files. + +call ale#handlers#cspell#DefineLinter('html') diff --git a/ale_linters/java/cspell.vim b/ale_linters/java/cspell.vim new file mode 100644 index 00000000..a6eecc0b --- /dev/null +++ b/ale_linters/java/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Java files. + +call ale#handlers#cspell#DefineLinter('java') diff --git a/ale_linters/javascript/cspell.vim b/ale_linters/javascript/cspell.vim new file mode 100644 index 00000000..5a496779 --- /dev/null +++ b/ale_linters/javascript/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for JavaScript files. + +call ale#handlers#cspell#DefineLinter('javascript') diff --git a/ale_linters/json/cspell.vim b/ale_linters/json/cspell.vim new file mode 100644 index 00000000..0d7314a4 --- /dev/null +++ b/ale_linters/json/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for JSON files. + +call ale#handlers#cspell#DefineLinter('json') diff --git a/ale_linters/lua/cspell.vim b/ale_linters/lua/cspell.vim new file mode 100644 index 00000000..215b82f8 --- /dev/null +++ b/ale_linters/lua/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Lua files. + +call ale#handlers#cspell#DefineLinter('lua') diff --git a/ale_linters/markdown/cspell.vim b/ale_linters/markdown/cspell.vim new file mode 100644 index 00000000..45c586cc --- /dev/null +++ b/ale_linters/markdown/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Markdown files. + +call ale#handlers#cspell#DefineLinter('markdown') diff --git a/ale_linters/php/cspell.vim b/ale_linters/php/cspell.vim new file mode 100644 index 00000000..574df575 --- /dev/null +++ b/ale_linters/php/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for PHP files. + +call ale#handlers#cspell#DefineLinter('php') diff --git a/ale_linters/powershell/cspell.vim b/ale_linters/powershell/cspell.vim new file mode 100644 index 00000000..4a66dbaa --- /dev/null +++ b/ale_linters/powershell/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for PowerShell files. + +call ale#handlers#cspell#DefineLinter('powershell') diff --git a/ale_linters/python/cspell.vim b/ale_linters/python/cspell.vim new file mode 100644 index 00000000..a2325311 --- /dev/null +++ b/ale_linters/python/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Python files. + +call ale#handlers#cspell#DefineLinter('python') diff --git a/ale_linters/rst/cspell.vim b/ale_linters/rst/cspell.vim new file mode 100644 index 00000000..14cfb42e --- /dev/null +++ b/ale_linters/rst/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for ReStructuredText files. + +call ale#handlers#cspell#DefineLinter('rst') diff --git a/ale_linters/ruby/cspell.vim b/ale_linters/ruby/cspell.vim new file mode 100644 index 00000000..780356b1 --- /dev/null +++ b/ale_linters/ruby/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Ruby files. + +call ale#handlers#cspell#DefineLinter('ruby') diff --git a/ale_linters/rust/cspell.vim b/ale_linters/rust/cspell.vim new file mode 100644 index 00000000..d2523c7d --- /dev/null +++ b/ale_linters/rust/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Rust files. + +call ale#handlers#cspell#DefineLinter('rust') diff --git a/ale_linters/scala/cspell.vim b/ale_linters/scala/cspell.vim new file mode 100644 index 00000000..fa09d420 --- /dev/null +++ b/ale_linters/scala/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Scala files. + +call ale#handlers#cspell#DefineLinter('scala') diff --git a/ale_linters/sh/cspell.vim b/ale_linters/sh/cspell.vim new file mode 100644 index 00000000..e3c5a6f0 --- /dev/null +++ b/ale_linters/sh/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for shell scripts. + +call ale#handlers#cspell#DefineLinter('sh') diff --git a/ale_linters/swift/cspell.vim b/ale_linters/swift/cspell.vim new file mode 100644 index 00000000..25451e9d --- /dev/null +++ b/ale_linters/swift/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Swift files. + +call ale#handlers#cspell#DefineLinter('swift') diff --git a/ale_linters/tex/cspell.vim b/ale_linters/tex/cspell.vim new file mode 100644 index 00000000..4cf2b08e --- /dev/null +++ b/ale_linters/tex/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for TeX files. + +call ale#handlers#cspell#DefineLinter('tex') diff --git a/ale_linters/texinfo/cspell.vim b/ale_linters/texinfo/cspell.vim new file mode 100644 index 00000000..d691b3a7 --- /dev/null +++ b/ale_linters/texinfo/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for TeXInfo files. + +call ale#handlers#cspell#DefineLinter('texinfo') diff --git a/ale_linters/text/cspell.vim b/ale_linters/text/cspell.vim new file mode 100644 index 00000000..813ef3b8 --- /dev/null +++ b/ale_linters/text/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for general text files. + +call ale#handlers#cspell#DefineLinter('text') diff --git a/ale_linters/typescript/cspell.vim b/ale_linters/typescript/cspell.vim new file mode 100644 index 00000000..6061b75c --- /dev/null +++ b/ale_linters/typescript/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for TypeScript files. + +call ale#handlers#cspell#DefineLinter('typescript') diff --git a/ale_linters/vue/cspell.vim b/ale_linters/vue/cspell.vim new file mode 100644 index 00000000..2d8bfdc3 --- /dev/null +++ b/ale_linters/vue/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for Vue files. + +call ale#handlers#cspell#DefineLinter('vue') diff --git a/ale_linters/xhtml/cspell.vim b/ale_linters/xhtml/cspell.vim new file mode 100644 index 00000000..c465b41b --- /dev/null +++ b/ale_linters/xhtml/cspell.vim @@ -0,0 +1,5 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: cspell support for XHTML files. + +call ale#handlers#cspell#DefineLinter('xhtml') diff --git a/autoload/ale/handlers/cspell.vim b/autoload/ale/handlers/cspell.vim new file mode 100644 index 00000000..2cd02d5c --- /dev/null +++ b/autoload/ale/handlers/cspell.vim @@ -0,0 +1,54 @@ +scriptencoding utf-8 +" Author: David Houston +" Description: Define a handler function for cspell's output + +function! ale#handlers#cspell#GetExecutable(buffer) abort + return ale#path#FindExecutable(a:buffer, + \ 'cspell', [ + \ 'node_modules/.bin/cspell', + \ 'node_modules/cspell/bin.js', + \ ] + \) +endfunction + +function! ale#handlers#cspell#GetCommand(buffer) abort + let l:executable = ale#handlers#cspell#GetExecutable(a:buffer) + let l:options = ale#Var(a:buffer, 'cspell_options') + + return ale#node#Executable(a:buffer, l:executable) + \ . ' lint --no-color --no-progress --no-summary' + \ . ale#Pad(l:options) + \ . ' -- stdin' +endfunction + +function! ale#handlers#cspell#Handle(buffer, lines) abort + " Look for lines like the following: + " + " /home/user/repos/ale/README.md:723:48 - Unknown word (stylelint) + let l:pattern = '\v^.*:(\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], + \ 'type': 'W', + \}) + endfor + + return l:output +endfunction + +function! ale#handlers#cspell#DefineLinter(filetype) abort + call ale#Set('cspell_executable', 'cspell') + call ale#Set('cspell_options', '') + call ale#Set('cspell_use_global', get(g:, 'ale_use_global_executables', 0)) + + call ale#linter#Define(a:filetype, { + \ 'name': 'cspell', + \ 'executable': function('ale#handlers#cspell#GetExecutable'), + \ 'command': function('ale#handlers#cspell#GetCommand'), + \ 'callback': 'ale#handlers#cspell#Handle', + \}) +endfunction diff --git a/doc/ale-ada.txt b/doc/ale-ada.txt index 0fc55a9c..80321dbb 100644 --- a/doc/ale-ada.txt +++ b/doc/ale-ada.txt @@ -2,6 +2,11 @@ ALE Ada Integration *ale-ada-options* +=============================================================================== +cspell *ale-ada-cspell* + +See |ale-cspell-options| + =============================================================================== gcc *ale-ada-gcc* diff --git a/doc/ale-asciidoc.txt b/doc/ale-asciidoc.txt index 86629fd4..dd8b12ff 100644 --- a/doc/ale-asciidoc.txt +++ b/doc/ale-asciidoc.txt @@ -2,6 +2,12 @@ ALE AsciiDoc Integration *ale-asciidoc-options* +=============================================================================== +cspell *ale-asciidoc-cspell* + +See |ale-cspell-options| + + =============================================================================== write-good *ale-asciidoc-write-good* diff --git a/doc/ale-c.txt b/doc/ale-c.txt index 3b9fbc44..bd8c4937 100644 --- a/doc/ale-c.txt +++ b/doc/ale-c.txt @@ -352,6 +352,12 @@ g:ale_cpp_cquery_cache_directory *g:ale_c_cquery_cache_directory* cache. +=============================================================================== +cspell *ale-c-cspell* + +See |ale-cspell-options| + + =============================================================================== flawfinder *ale-c-flawfinder* diff --git a/doc/ale-cpp.txt b/doc/ale-cpp.txt index 17894e6e..d7a840dd 100644 --- a/doc/ale-cpp.txt +++ b/doc/ale-cpp.txt @@ -308,6 +308,12 @@ g:ale_cpp_cquery_cache_directory *g:ale_cpp_cquery_cache_directory* cache. +=============================================================================== +cspell *ale-cpp-cspell* + +See |ale-cspell-options| + + =============================================================================== flawfinder *ale-cpp-flawfinder* diff --git a/doc/ale-cs.txt b/doc/ale-cs.txt index bef495b9..26e2b023 100644 --- a/doc/ale-cs.txt +++ b/doc/ale-cs.txt @@ -90,6 +90,12 @@ g:ale_cs_csc_assemblies *g:ale_cs_csc_assemblies* \] < +=============================================================================== +cspell *ale-cs-cspell* + +See |ale-cspell-options| + + =============================================================================== dotnet-format *ale-cs-dotnet-format* diff --git a/doc/ale-css.txt b/doc/ale-css.txt index ff74b263..dda4e6bd 100644 --- a/doc/ale-css.txt +++ b/doc/ale-css.txt @@ -2,6 +2,12 @@ ALE CSS Integration *ale-css-options* +=============================================================================== +cspell *ale-css-cspell* + +See |ale-cspell-options| + + =============================================================================== fecs *ale-css-fecs* diff --git a/doc/ale-elixir.txt b/doc/ale-elixir.txt index a4e5c2c6..693db5aa 100644 --- a/doc/ale-elixir.txt +++ b/doc/ale-elixir.txt @@ -5,7 +5,6 @@ ALE Elixir Integration *ale-elixir-options* =============================================================================== mix *ale-elixir-mix* - The `mix` linter is disabled by default, as it can be too expensive to run. See `:help g:ale_linters` @@ -18,6 +17,7 @@ g:ale_elixir_mix_options *g:ale_elixir_mix_options* This variable can be changed to specify the mix executable. + =============================================================================== mix_format *ale-elixir-mix-format* @@ -30,6 +30,7 @@ g:ale_elixir_mix_format_options *g:ale_elixir_mix_format_options* This variable can be changed to specify the mix options passed to the mix_format fixer + =============================================================================== dialyxir *ale-elixir-dialyxir* @@ -45,6 +46,7 @@ configured on your project's `mix.exs`. See https://github.com/jeremyjh/dialyxir#with-explaining-stuff for more information. + =============================================================================== elixir-ls *ale-elixir-elixir-ls* @@ -72,6 +74,8 @@ g:ale_elixir_elixir_ls_config *g:ale_elixir_elixir_ls_config* \ } < Consult the ElixirLS documentation for more information about settings. + + =============================================================================== credo *ale-elixir-credo* @@ -79,18 +83,26 @@ Credo (https://github.com/rrrene/credo) g:ale_elixir_credo_strict *g:ale_elixir_credo_strict* - Type: Integer - Default: 0 + Type: |Integer| + Default: `0` Tells credo to run in strict mode or suggest mode. Set variable to 1 to enable --strict mode. -g:ale_elixir_credo_config_file g:ale_elixir_credo_config_file - Type: String - Default: '' +g:ale_elixir_credo_config_file *g:ale_elixir_credo_config_file* + + Type: |String| + Default: `''` Tells credo to use a custom configuration file. + +=============================================================================== +cspell *ale-elixir-cspell* + +See |ale-cspell-options| + + =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-go.txt b/doc/ale-go.txt index 3ed48576..3ecd47fd 100644 --- a/doc/ale-go.txt +++ b/doc/ale-go.txt @@ -39,7 +39,6 @@ g:ale_go_go111module *g:ale_go_go111module* golang tools. - =============================================================================== bingo *ale-go-bingo* @@ -57,6 +56,11 @@ g:ale_go_bingo_options *g:ale_go_bingo_options* Default: `''` +=============================================================================== +cspell *ale-go-cspell* + +See |ale-cspell-options| + =============================================================================== gobuild *ale-go-gobuild* @@ -151,6 +155,7 @@ g:ale_go_langserver_options *g:ale_go_langserver_options* `-gocodecompletion` option is ignored because it is handled automatically by the |g:ale_completion_enabled| variable. + =============================================================================== golines *ale-go-golines* @@ -169,6 +174,7 @@ g:ale_go_golines_options *g:ale_go_golines_options* Additional options passed to the golines command. By default golines has --max-length=100 (lines above 100 characters will be wrapped) + =============================================================================== golint *ale-go-golint* diff --git a/doc/ale-haskell.txt b/doc/ale-haskell.txt index 09894340..1f41880d 100644 --- a/doc/ale-haskell.txt +++ b/doc/ale-haskell.txt @@ -13,6 +13,12 @@ g:ale_haskell_brittany_executable *g:ale_haskell_brittany_executable* This variable can be changed to use a different executable for brittany. +=============================================================================== +cspell *ale-haskell-cspell* + +See |ale-cspell-options| + + =============================================================================== floskell *ale-haskell-floskell* diff --git a/doc/ale-help.txt b/doc/ale-help.txt new file mode 100644 index 00000000..89872545 --- /dev/null +++ b/doc/ale-help.txt @@ -0,0 +1,12 @@ +=============================================================================== +ALE Help Integration *ale-help-options* + + +=============================================================================== +cspell *ale-help-cspell* + +See |ale-cspell-options| + + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-html.txt b/doc/ale-html.txt index 2c048148..8a667176 100644 --- a/doc/ale-html.txt +++ b/doc/ale-html.txt @@ -28,6 +28,11 @@ g:ale_html_angular_use_global *g:ale_html_angular_use_global* See |ale-integrations-local-executables| +=============================================================================== +cspell *ale-html-cspell* + +See |ale-cspell-options| + =============================================================================== fecs *ale-html-fecs* diff --git a/doc/ale-java.txt b/doc/ale-java.txt index 6bd04ef9..fa38fd3a 100644 --- a/doc/ale-java.txt +++ b/doc/ale-java.txt @@ -41,6 +41,12 @@ g:ale_java_checkstyle_options *g:ale_java_checkstyle_options* configuration files set with |g:ale_java_checkstyle_config|. +=============================================================================== +cspell *ale-java-cspell* + +See |ale-cspell-options| + + =============================================================================== javac *ale-java-javac* @@ -91,7 +97,6 @@ List type: \ ] < - =============================================================================== google-java-format *ale-java-google-java-format* @@ -190,6 +195,7 @@ The Java language server will look for the dependencies you specify in `externalDependencies` array in your Maven and Gradle caches ~/.m2 and ~/.gradle. + =============================================================================== eclipselsp *ale-java-eclipselsp* @@ -218,8 +224,9 @@ g:ale_java_eclipselsp_path *g:ale_java_eclipselsp_path* Default: `'$HOME/eclipse.jdt.ls'` Absolute path to the location of the eclipse.jdt.ls repository folder. Or if - you have VSCode extension installed the absolute path to the VSCode extensions - folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in Linux). + you have VSCode extension installed the absolute path to the VSCode + extensions folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in + Linux). g:ale_java_eclipselsp_executable *g:ale_java_eclipse_executable* @@ -261,7 +268,8 @@ g:ale_java_eclipselsp_javaagent *g:ale_java_eclipselsp_javaagent* Default: `''` A variable to add java agent for annotation processing such as Lombok. - If you have multiple java agent files, use space to separate them. For example: + If you have multiple java agent files, use space to separate them. + For example: > let g:ale_java_eclipselsp_javaagent='/eclipse/lombok.jar /eclipse/jacoco.jar' < diff --git a/doc/ale-javascript.txt b/doc/ale-javascript.txt index acd886c9..087909c8 100644 --- a/doc/ale-javascript.txt +++ b/doc/ale-javascript.txt @@ -23,11 +23,18 @@ To this: > /path/foo/bar/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] < +=============================================================================== +cspell *ale-javascript-cspell* + +See |ale-cspell-options| + + =============================================================================== deno *ale-javascript-deno* Check the docs over at |ale-typescript-deno|. + =============================================================================== eslint *ale-javascript-eslint* diff --git a/doc/ale-json.txt b/doc/ale-json.txt index ad0a05b1..a79add81 100644 --- a/doc/ale-json.txt +++ b/doc/ale-json.txt @@ -2,6 +2,12 @@ ALE JSON Integration *ale-json-options* +=============================================================================== +cspell *ale-json-cspell* + +See |ale-cspell-options| + + =============================================================================== eslint *ale-json-eslint* diff --git a/doc/ale-latex.txt b/doc/ale-latex.txt index bedbabcd..b3029a5b 100644 --- a/doc/ale-latex.txt +++ b/doc/ale-latex.txt @@ -2,6 +2,9 @@ ALE LaTeX Integration *ale-latex-options* +=============================================================================== +cspell *ale-latex-cspell* + =============================================================================== write-good *ale-latex-write-good* @@ -9,10 +12,10 @@ See |ale-write-good-options| =============================================================================== -textlint *ale-latex-textlint* +textlint *ale-latex-textlint* See |ale-text-textlint| =============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-lua.txt b/doc/ale-lua.txt index ac92b9ac..8b938ba0 100644 --- a/doc/ale-lua.txt +++ b/doc/ale-lua.txt @@ -1,6 +1,13 @@ =============================================================================== ALE Lua Integration *ale-lua-options* + +=============================================================================== +cspell *ale-lua-cspell* + +See |ale-cspell-options| + + =============================================================================== lua-format *ale-lua-lua-format* @@ -11,6 +18,7 @@ g:ale_lua_lua_format_executable *g:ale_lua_lua_format_executable* This variable can be changed to change the path to lua-format. + g:ale_lua_lua_format_options *g:ale_lua_lua_format_options* *b:ale_lua_lua_format_options* Type: |String| @@ -29,6 +37,7 @@ g:ale_lua_luac_executable *g:ale_lua_luac_executable* This variable can be changed to change the path to luac. + =============================================================================== luacheck *ale-lua-luacheck* @@ -58,6 +67,7 @@ g:ale_lua_luafmt_executable *g:ale_lua_luafmt_executable* This variable can be set to use a different executable for luafmt. + g:ale_lua_luafmt_options *g:ale_lua_luafmt_options* *b:ale_lua_luafmt_options* Type: |String| @@ -76,6 +86,7 @@ g:ale_lua_stylua_executable *g:ale_lua_stylua_executable* This variable can be set to use a different executable for stylua. + g:ale_lua_stylua_options *g:ale_lua_stylua_options* *b:ale_lua_stylua_options* Type: |String| diff --git a/doc/ale-markdown.txt b/doc/ale-markdown.txt index feb37fc9..25065b55 100644 --- a/doc/ale-markdown.txt +++ b/doc/ale-markdown.txt @@ -2,6 +2,12 @@ ALE Markdown Integration *ale-markdown-options* +=============================================================================== +cspell *ale-markdown-cspell* + +See |ale-cspell-options| + + =============================================================================== markdownlint *ale-markdown-markdownlint* @@ -98,4 +104,4 @@ See |ale-write-good-options| =============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-php.txt b/doc/ale-php.txt index 1c9822dc..e4da97d3 100644 --- a/doc/ale-php.txt +++ b/doc/ale-php.txt @@ -1,6 +1,13 @@ =============================================================================== ALE PHP Integration *ale-php-options* + +=============================================================================== +cspell *ale-php-cspell* + +See |ale-cspell-options| + + =============================================================================== langserver *ale-php-langserver* @@ -41,6 +48,7 @@ g:ale_php_phan_minimum_severity *g:ale_php_phan_minimum_severity* This variable defines the minimum severity level. + g:ale_php_phan_executable *g:ale_php_phan_executable* *b:ale_php_phan_executable* Type: |String| @@ -48,6 +56,7 @@ g:ale_php_phan_executable *g:ale_php_phan_executable* This variable sets executable used for phan or phan_client. + g:ale_php_phan_use_client *g:ale_php_phan_use_client* *b:ale_php_phan_use_client* Type: |Number| @@ -56,6 +65,7 @@ g:ale_php_phan_use_client *g:ale_php_phan_use_client* This variable can be set to 1 to use the phan_client with phan daemon mode instead of the phan standalone. + =============================================================================== phpcbf *ale-php-phpcbf* @@ -129,6 +139,7 @@ g:ale_php_phpcs_options *g:ale_php_phpcs_options* This variable can be set to pass additional options to php-cs + =============================================================================== phpmd *ale-php-phpmd* diff --git a/doc/ale-powershell.txt b/doc/ale-powershell.txt index 485c9bd0..46bc6cfb 100644 --- a/doc/ale-powershell.txt +++ b/doc/ale-powershell.txt @@ -2,11 +2,17 @@ ALE PowerShell Integration *ale-powershell-options* +=============================================================================== +cspell *ale-powershell-cspell* + +See |ale-cspell-options| + + =============================================================================== powershell *ale-powershell-powershell* -g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable* - *b:ale_powershell_powershell_executable* +g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable* + *b:ale_powershell_powershell_executable* Type: String Default: `'pwsh'` @@ -33,7 +39,7 @@ g:ale_powershell_psscriptanalyzer_executable Default: `'pwsh'` This variable sets executable used for powershell. - + For example, on Windows you could set powershell to be Windows Powershell: > let g:ale_powershell_psscriptanalyzer_executable = 'powershell.exe' @@ -49,7 +55,7 @@ g:ale_powershell_psscriptanalyzer_module for psscriptanalyzer invocation. -g:ale_powershell_psscriptanalyzer_exclusions +g:ale_powershell_psscriptanalyzer_exclusions *g:ale_powershell_psscriptanalyzer_exclusions* *b:ale_powershell_psscriptanalyzer_exclusions* Type: |String| @@ -65,6 +71,5 @@ g:ale_powershell_psscriptanalyzer_exclusions \ 'PSAvoidUsingWriteHost,PSAvoidGlobalVars' < - =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-python.txt b/doc/ale-python.txt index 10cc2897..7486d0b4 100644 --- a/doc/ale-python.txt +++ b/doc/ale-python.txt @@ -10,6 +10,7 @@ g:ale_python_auto_pipenv *g:ale_python_auto_pipenv* 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_auto_poetry *g:ale_python_auto_poetry* *b:ale_python_auto_poetry* Type: |Number| @@ -18,6 +19,7 @@ g:ale_python_auto_poetry *g:ale_python_auto_poetry* Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. + =============================================================================== ALE Python Project Root Behavior *ale-python-root* @@ -229,6 +231,7 @@ g:ale_python_black_auto_pipenv *g:ale_python_black_auto_pipenv* 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_black_auto_poetry *g:ale_python_black_auto_poetry* *b:ale_python_black_auto_poetry* Type: |Number| @@ -237,6 +240,7 @@ g:ale_python_black_auto_poetry *g:ale_python_black_auto_poetry* Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. + g:ale_python_black_change_directory *g:ale_python_black_change_directory* *b:ale_python_black_change_directory* Type: |Number| @@ -248,13 +252,19 @@ g:ale_python_black_change_directory *g:ale_python_black_change_directory* to control the directory Python is executed from yourself. +=============================================================================== +cspell *ale-python-cspell* + +See |ale-cspell-options| + + =============================================================================== flake8 *ale-python-flake8* g:ale_python_flake8_change_directory *g:ale_python_flake8_change_directory* *b:ale_python_flake8_change_directory* Type: |String| - Default: `project` + Default: `'project'` If set to `project`, ALE will switch to the project root before checking file. If set to `file`, ALE will switch to directory the Python file being @@ -320,6 +330,7 @@ g:ale_python_flake8_auto_poetry *g:ale_python_flake8_auto_poetry* Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. + =============================================================================== flakehell *ale-python-flakehell* @@ -384,6 +395,7 @@ g:ale_python_flakehell_auto_poetry *g:ale_python_flakehell_auto_poetry* Detect whether the file is inside a poetry, and set the executable to `poetry` if true. This is overridden by a manually-set executable. + =============================================================================== isort *ale-python-isort* @@ -504,7 +516,6 @@ g:ale_python_mypy_use_global *g:ale_python_mypy_use_global* See |ale-integrations-local-executables| - =============================================================================== prospector *ale-python-prospector* @@ -569,7 +580,6 @@ g:ale_python_prospector_auto_poetry *g:ale_python_prospector_auto_poetry* =============================================================================== pycodestyle *ale-python-pycodestyle* - g:ale_python_pycodestyle_executable *g:ale_python_pycodestyle_executable* *b:ale_python_pycodestyle_executable* Type: |String| @@ -619,7 +629,6 @@ g:ale_python_pycodestyle_auto_poetry *g:ale_python_pycodestyle_auto_poetry* =============================================================================== pydocstyle *ale-python-pydocstyle* - g:ale_python_pydocstyle_executable *g:ale_python_pydocstyle_executable* *b:ale_python_pydocstyle_executable* Type: |String| @@ -669,7 +678,6 @@ g:ale_python_pydocstyle_auto_poetry *g:ale_python_pydocstyle_auto_poetry* =============================================================================== pyflakes *ale-python-pyflakes* - g:ale_python_pyflakes_executable *g:ale_python_pyflakes_executable* *b:ale_python_pyflakes_executable* Type: |String| @@ -925,6 +933,7 @@ g:ale_python_pylsp_options *g:ale_python_pylsp_options An example stragety for installing `pylsp`: `python3 -m pip install --user pylsp` + =============================================================================== pyre *ale-python-pyre* diff --git a/doc/ale-restructuredtext.txt b/doc/ale-restructuredtext.txt index e308b072..7af62133 100644 --- a/doc/ale-restructuredtext.txt +++ b/doc/ale-restructuredtext.txt @@ -2,6 +2,12 @@ ALE reStructuredText Integration *ale-restructuredtext-options* +=============================================================================== +cspell *ale-restructuredtext-cspell* + +See |ale-cspell-options| + + =============================================================================== textlint *ale-restructuredtext-textlint* @@ -16,6 +22,7 @@ See: https://github.com/jimo1001/docutils-ast-writer See |ale-text-textlint| + =============================================================================== write-good *ale-restructuredtext-write-good* @@ -23,4 +30,4 @@ See |ale-write-good-options| =============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-ruby.txt b/doc/ale-ruby.txt index 69c643a9..4bc25b1a 100644 --- a/doc/ale-ruby.txt +++ b/doc/ale-ruby.txt @@ -21,6 +21,13 @@ g:ale_ruby_brakeman_options *g:ale_ruby_brakeman_options* The contents of this variable will be passed through to brakeman. + +=============================================================================== +cspell *ale-ruby-cspell* + +See |ale-cspell-options| + + =============================================================================== debride *ale-ruby-debride* @@ -212,7 +219,5 @@ g:ale_ruby_standardrb_options *g:ale_ruby_standardrb_options* This variable can be changed to modify flags given to standardrb. -=============================================================================== - =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-rust.txt b/doc/ale-rust.txt index 3aa63673..707943a7 100644 --- a/doc/ale-rust.txt +++ b/doc/ale-rust.txt @@ -145,8 +145,7 @@ g:ale_rust_cargo_avoid_whole_workspace *g:ale_rust_cargo_avoid_whole_workspace* in the crate's directory. Otherwise, behave as usual. -g:ale_rust_cargo_use_clippy - *g:ale_rust_cargo_use_clippy* +g:ale_rust_cargo_use_clippy *g:ale_rust_cargo_use_clippy* *b:ale_rust_cargo_use_clippy* Type: |Number| Default: `0` @@ -163,8 +162,7 @@ g:ale_rust_cargo_use_clippy let g:ale_rust_cargo_use_clippy = executable('cargo-clippy') < -g:ale_rust_cargo_clippy_options - *g:ale_rust_cargo_clippy_options* +g:ale_rust_cargo_clippy_options *g:ale_rust_cargo_clippy_options* *b:ale_rust_cargo_clippy_options* Type: |String| @@ -175,8 +173,7 @@ g:ale_rust_cargo_clippy_options only `cargo clippy` supports (e.g. `--deny`). -g:ale_rust_cargo_target_dir - *g:ale_rust_cargo_target_dir* +g:ale_rust_cargo_target_dir *g:ale_rust_cargo_target_dir* *b:ale_rust_cargo_target_dir* Type: |String| @@ -187,6 +184,12 @@ g:ale_rust_cargo_target_dir running `cargo` commands manually while ALE is performing its checks. +=============================================================================== +cspell *ale-rust-cspell* + +See |ale-cspell-options| + + =============================================================================== rls *ale-rust-rls* diff --git a/doc/ale-scala.txt b/doc/ale-scala.txt index c9638baf..0b0f1a9a 100644 --- a/doc/ale-scala.txt +++ b/doc/ale-scala.txt @@ -2,6 +2,12 @@ ALE Scala Integration *ale-scala-options* +=============================================================================== +cspell *ale-scala-cspell* + +See |ale-cspell-options| + + =============================================================================== metals *ale-scala-metals* diff --git a/doc/ale-sh.txt b/doc/ale-sh.txt index c06f737a..9a1928c4 100644 --- a/doc/ale-sh.txt +++ b/doc/ale-sh.txt @@ -25,6 +25,12 @@ g:ale_sh_bashate_options *g:ale_sh_bashate_options* let g:ale_sh_bashate_options = '-i E003' < +=============================================================================== +cspell *ale-sh-cspell* + +See |ale-cspell-options| + + =============================================================================== sh-language-server *ale-sh-language-server* diff --git a/doc/ale-supported-languages-and-tools.txt b/doc/ale-supported-languages-and-tools.txt index 94d57345..3324903f 100644 --- a/doc/ale-supported-languages-and-tools.txt +++ b/doc/ale-supported-languages-and-tools.txt @@ -14,6 +14,7 @@ Notes: * Ada * `ada_language_server` + * `cspell` * `gcc` * `gnatpp` * Ansible @@ -25,6 +26,7 @@ Notes: * `secfixes-check` * AsciiDoc * `alex` + * `cspell` * `languagetool`!! * `proselint` * `redpen` @@ -39,6 +41,7 @@ Notes: * `gawk` * Bash * `bashate` + * `cspell` * `language-server` * `shell` (-n flag) * `shellcheck` @@ -63,11 +66,13 @@ Notes: * `cppcheck` * `cpplint`!! * `cquery` + * `cspell` * `flawfinder` * `gcc` (`cc`) * `uncrustify` * C# * `csc`!! + * `cspell` * `dotnet-format` * `mcs` * `mcsc`!! @@ -84,6 +89,7 @@ Notes: * `cppcheck` * `cpplint`!! * `cquery` + * `cspell` * `flawfinder` * `gcc` (`cc`) * `uncrustify` @@ -105,6 +111,7 @@ Notes: * `ameba`!! * `crystal`!! * CSS + * `cspell` * `csslint` * `fecs` * `prettier` @@ -143,6 +150,7 @@ Notes: * `hadolint` * Elixir * `credo` + * `cspell` * `dialyxir` * `dogma`!! * `elixir-ls` @@ -180,6 +188,7 @@ Notes: * `glslls` * Go * `bingo` + * `cspell` * `go build`!! * `go mod`!! * `go vet`!! @@ -211,6 +220,7 @@ Notes: * Haskell * `brittany` * `cabal-ghc` + * `cspell` * `floskell` * `ghc` * `ghc-mod` @@ -229,6 +239,7 @@ Notes: * HTML * `alex` * `angular` + * `cspell` * `fecs` * `html-beautify` * `htmlhint` @@ -247,12 +258,14 @@ Notes: * Java * `PMD` * `checkstyle`!! + * `cspell` * `eclipselsp` * `google-java-format` * `javac` * `javalsp` * `uncrustify` * JavaScript + * `cspell` * `deno` * `eslint` * `fecs` @@ -266,6 +279,7 @@ Notes: * `tsserver` * `xo` * JSON + * `cspell` * `eslint` * `fixjson` * `jq` @@ -288,6 +302,7 @@ Notes: * LaTeX (tex) * `alex` * `chktex` + * `cspell` * `lacheck` * `proselint` * `redpen` @@ -302,6 +317,7 @@ Notes: * LLVM * `llc` * Lua + * `cspell` * `lua-format` * `luac` * `luacheck` @@ -316,6 +332,7 @@ Notes: * `checkmake` * Markdown * `alex` + * `cspell` * `languagetool`!! * `markdownlint`!! * `mdl` @@ -377,6 +394,7 @@ Notes: * Perl6 * `perl6 -c` * PHP + * `cspell` * `intelephense` * `langserver` * `phan` @@ -401,6 +419,7 @@ Notes: * Pony * `ponyc` * PowerShell + * `cspell` * `powershell` * `psscriptanalyzer` * Prolog @@ -424,6 +443,7 @@ Notes: * `autopep8` * `bandit` * `black` + * `cspell` * `flake8` * `flakehell` * `isort` @@ -459,6 +479,7 @@ Notes: * `refmt` * reStructuredText * `alex` + * `cspell` * `proselint` * `redpen` * `rstcheck` @@ -471,6 +492,7 @@ Notes: * `rpmlint` * Ruby * `brakeman`!! + * `cspell` * `debride` * `prettier` * `rails_best_practices`!! @@ -483,6 +505,7 @@ Notes: * `standardrb` * Rust * `cargo`!! + * `cspell` * `rls` * `rust-analyzer` * `rustc` (see |ale-integration-rust|) @@ -493,6 +516,7 @@ Notes: * `sass-lint` * `stylelint` * Scala + * `cspell` * `fsc` * `metals` * `sbtserver` @@ -527,6 +551,7 @@ Notes: * `svelteserver` * Swift * Apple `swift-format` + * `cspell` * `sourcekit-lsp` * `swiftformat` * `swiftlint` @@ -542,10 +567,12 @@ Notes: * `tflint` * Texinfo * `alex` + * `cspell` * `proselint` * `write-good` * Text^ * `alex` + * `cspell` * `languagetool`!! * `proselint` * `redpen` @@ -556,6 +583,7 @@ Notes: * `thrift` * `thriftcheck` * TypeScript + * `cspell` * `deno` * `eslint` * `fecs` @@ -589,10 +617,12 @@ Notes: * `proselint` * `write-good` * Vue + * `cspell` * `prettier` * `vls` * XHTML * `alex` + * `cspell` * `proselint` * `write-good` * XML diff --git a/doc/ale-swift.txt b/doc/ale-swift.txt index 6d53ca7c..a443eab8 100644 --- a/doc/ale-swift.txt +++ b/doc/ale-swift.txt @@ -19,7 +19,8 @@ Additionally, ALE tries to locate and use the nearest existing `.swift-format` configuration file. -g:ale_swift_appleswiftformat_executable *g:ale_swift_appleswiftformat_executable* +g:ale_swift_appleswiftformat_executable + *g:ale_swift_appleswiftformat_executable* *b:ale_swift_appleswiftformat_executable* Type: |String| Default: `'swift-format'` @@ -28,7 +29,8 @@ g:ale_swift_appleswiftformat_executable *g:ale_swift_appleswiftformat_executable `swift-format`. -g:ale_swift_appleswiftformat_use_swiftpm *g:ale_swift_appleswiftformat_use_swiftpm* +g:ale_swift_appleswiftformat_use_swiftpm + *g:ale_swift_appleswiftformat_use_swiftpm* *b:ale_swift_appleswiftformat_use_swiftpm* Type: |Number| Default: `0` @@ -40,6 +42,12 @@ g:ale_swift_appleswiftformat_use_swiftpm *g:ale_swift_appleswiftformat_use_swift See |ale-integrations-local-executables| +=============================================================================== +cspell *ale-swift-cspell* + +See |ale-cspell-options| + + =============================================================================== sourcekitlsp *ale-swift-sourcekitlsp* @@ -57,4 +65,3 @@ g:ale_sourcekit_lsp_executable *g:ale_sourcekit_lsp_executable* =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/doc/ale-tex.txt b/doc/ale-tex.txt index ceb9fa81..d5ef4783 100644 --- a/doc/ale-tex.txt +++ b/doc/ale-tex.txt @@ -21,7 +21,13 @@ g:ale_tex_chktex_options *g:ale_tex_chktex_options* This variable can be changed to modify flags given to chktex. ------------------------------------------------------------------------------- +=============================================================================== +cspell *ale-tex-cspell* + +See |ale-cspell-options| + + +=============================================================================== lacheck *ale-tex-lacheck* g:ale_lacheck_executable *g:ale_lacheck_executable* @@ -32,12 +38,11 @@ g:ale_lacheck_executable *g:ale_lacheck_executable* This variable can be changed to change the path to lacheck. - =============================================================================== -latexindent *ale-tex-latexindent* +latexindent *ale-tex-latexindent* -g:ale_tex_latexindent_executable *g:ale_tex_latexindent_executable* - *b:ale_tex_latexindent_executable* +g:ale_tex_latexindent_executable *g:ale_tex_latexindent_executable* + *b:ale_tex_latexindent_executable* Type: |String| Default: `'latexindent'` @@ -52,26 +57,24 @@ g:ale_tex_latexindent_options *g:ale_tex_latexindent_options* This variable can be changed to modify flags given to latexindent. - =============================================================================== -texlab *ale-tex-texlab* +texlab *ale-tex-texlab* -g:ale_tex_texlab_executable *g:ale_tex_texlab_executable* - *b:ale_tex_texlab_executable* +g:ale_tex_texlab_executable *g:ale_tex_texlab_executable* + *b:ale_tex_texlab_executable* Type: |String| Default: `'texlab'` This variable can be changed to change the path to texlab. -g:ale_tex_texlab_options *g:ale_tex_texlab_options* - *b:ale_tex_texlab_options* +g:ale_tex_texlab_options *g:ale_tex_texlab_options* + *b:ale_tex_texlab_options* Type: |String| Default: `''` This variable can be changed to modify flags given to texlab. - =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-texinfo.txt b/doc/ale-texinfo.txt index f8ed342d..53d42b69 100644 --- a/doc/ale-texinfo.txt +++ b/doc/ale-texinfo.txt @@ -2,6 +2,12 @@ ALE Texinfo Integration *ale-texinfo-options* +=============================================================================== +cspell *ale-texinfo-cspell* + +See |ale-cspell-options| + + =============================================================================== write-good *ale-texinfo-write-good* @@ -9,4 +15,4 @@ See |ale-write-good-options| =============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-text.txt b/doc/ale-text.txt index 913d7e61..4e4d0b2e 100644 --- a/doc/ale-text.txt +++ b/doc/ale-text.txt @@ -2,6 +2,12 @@ ALE Text Integration *ale-text-options* +============================================================================== +cspell *ale-text-cspell* + +See |ale-cspell-options| + + =============================================================================== textlint *ale-text-textlint* @@ -39,4 +45,4 @@ See |ale-write-good-options| =============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-typescript.txt b/doc/ale-typescript.txt index 8984e183..eefcfed1 100644 --- a/doc/ale-typescript.txt +++ b/doc/ale-typescript.txt @@ -2,6 +2,12 @@ ALE TypeScript Integration *ale-typescript-options* +=============================================================================== +cspell *ale-typescript-cspell* + +See |ale-cspell-options| + + =============================================================================== deno *ale-typescript-deno* @@ -27,6 +33,7 @@ g:ale_deno_lsp_project_root *g:ale_deno_lsp_project_root* 3. Use the directory of the current buffer (if the buffer was opened from a file). + g:ale_deno_unstable *g:ale_deno_unstable* *b:ale_deno_unstable* Type: |Number| @@ -34,13 +41,15 @@ g:ale_deno_unstable *g:ale_deno_unstable* Enable or disable unstable Deno features and APIs. -g:ale_deno_importMap *g:ale_deno_importMap* - *b:ale_deno_importMap* + +g:ale_deno_importMap *g:ale_deno_importMap* + *b:ale_deno_importMap* Type: |String| Default: `'import_map.json'` Specify the import map filename to load url maps in a deno project. + =============================================================================== eslint *ale-typescript-eslint* diff --git a/doc/ale-vue.txt b/doc/ale-vue.txt index a2c2786f..5bf1e28d 100644 --- a/doc/ale-vue.txt +++ b/doc/ale-vue.txt @@ -2,6 +2,12 @@ ALE Vue Integration *ale-vue-options* +=============================================================================== +cspell *ale-vue-cspell* + +See |ale-cspell-options| + + =============================================================================== prettier *ale-vue-prettier* diff --git a/doc/ale-xhtml.txt b/doc/ale-xhtml.txt index 3cc639ef..10ca5b82 100644 --- a/doc/ale-xhtml.txt +++ b/doc/ale-xhtml.txt @@ -2,6 +2,12 @@ ALE XHTML Integration *ale-xhtml-options* +=============================================================================== +cspell *ale-xhtml-cspell* + +See |ale-cspell-options| + + =============================================================================== write-good *ale-xhtml-write-good* @@ -9,4 +15,4 @@ See |ale-write-good-options| =============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale.txt b/doc/ale.txt index 88835add..178ce314 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -25,9 +25,10 @@ CONTENTS *ale-contents* 6.1 Highlights........................|ale-highlights| 7. Linter/Fixer Options.................|ale-integration-options| 7.1 Options for alex..................|ale-alex-options| - 7.2 Options for languagetool..........|ale-languagetool-options| - 7.3 Options for write-good............|ale-write-good-options| - 7.4 Other Linter/Fixer Options........|ale-other-integration-options| + 7.2 Options for cspell................|ale-cspell-options| + 7.3 Options for languagetool..........|ale-languagetool-options| + 7.4 Options for write-good............|ale-write-good-options| + 7.5 Other Linter/Fixer Options........|ale-other-integration-options| 8. Commands/Keybinds....................|ale-commands| 9. API..................................|ale-api| 10. Special Thanks......................|ale-special-thanks| @@ -2564,7 +2565,37 @@ g:ale_alex_use_global *g:ale_alex_use_global* ------------------------------------------------------------------------------- -7.2. Options for languagetool *ale-languagetool-options* +7.2. Options for cspell *ale-cspell-options* + +The options for `cspell` are shared between all filetypes, so options can be +configured only once. + +g:ale_cspell_executable *g:ale_cspell_executable* + *b:ale_cspell_executable* + Type: |String| + Default: `'cspell'` + + See |ale-integrations-local-executables| + + +g:ale_cspell_options *g:ale_cspell_options* + *b:ale_cspell_options* + Type: |String| + Default: `''` + + This variable can be set to pass additional options to `cspell`. + + +g:ale_cspell_use_global *g:ale_cspell_use_global* + *b:ale_cspell_use_global* + Type: |Number| + Default: `get(g: 'ale_use_global_executables', 0)` + + See |ale-integrations-local-executables| + + +------------------------------------------------------------------------------- +7.3. Options for languagetool *ale-languagetool-options* g:ale_languagetool_executable *g:ale_languagetool_executable* *b:ale_languagetool_executable* @@ -2584,7 +2615,7 @@ g:ale_languagetool_options *g:ale_languagetool_options* ------------------------------------------------------------------------------- -7.3. Options for write-good *ale-write-good-options* +7.4. Options for write-good *ale-write-good-options* The options for `write-good` are shared between all filetypes, so options can be configured once. @@ -2614,12 +2645,13 @@ g:ale_writegood_use_global *g:ale_writegood_use_global* ------------------------------------------------------------------------------- -7.4. Other Linter/Fixer Options *ale-other-integration-options* +7.5. Other Linter/Fixer Options *ale-other-integration-options* ALE supports a very wide variety of tools. Other linter or fixer options are documented in additional help files. ada.....................................|ale-ada-options| + cspell................................|ale-ada-cspell| gcc...................................|ale-ada-gcc| gnatpp................................|ale-ada-gnatpp| ada-language-server...................|ale-ada-language-server| @@ -2629,6 +2661,7 @@ documented in additional help files. apkbuild-lint.........................|ale-apkbuild-apkbuild-lint| secfixes-check........................|ale-apkbuild-secfixes-check| asciidoc................................|ale-asciidoc-options| + cspell................................|ale-asciidoc-cspell| write-good............................|ale-asciidoc-write-good| textlint..............................|ale-asciidoc-textlint| asm.....................................|ale-asm-options| @@ -2652,6 +2685,7 @@ documented in additional help files. clangtidy.............................|ale-c-clangtidy| cppcheck..............................|ale-c-cppcheck| cquery................................|ale-c-cquery| + cspell................................|ale-c-cspell| flawfinder............................|ale-c-flawfinder| uncrustify............................|ale-c-uncrustify| chef....................................|ale-chef-options| @@ -2677,15 +2711,18 @@ documented in additional help files. cppcheck..............................|ale-cpp-cppcheck| cpplint...............................|ale-cpp-cpplint| cquery................................|ale-cpp-cquery| + cspell................................|ale-cpp-cspell| flawfinder............................|ale-cpp-flawfinder| uncrustify............................|ale-cpp-uncrustify| c#......................................|ale-cs-options| csc...................................|ale-cs-csc| + cspell................................|ale-cs-cspell| dotnet-format.........................|ale-cs-dotnet-format| mcs...................................|ale-cs-mcs| mcsc..................................|ale-cs-mcsc| uncrustify............................|ale-cs-uncrustify| css.....................................|ale-css-options| + cspell................................|ale-css-cspell| fecs..................................|ale-css-fecs| prettier..............................|ale-css-prettier| stylelint.............................|ale-css-stylelint| @@ -2720,6 +2757,7 @@ documented in additional help files. dialyxir..............................|ale-elixir-dialyxir| elixir-ls.............................|ale-elixir-elixir-ls| credo.................................|ale-elixir-credo| + cspell................................|ale-elixir-cspell| elm.....................................|ale-elm-options| elm-format............................|ale-elm-elm-format| elm-ls................................|ale-elm-elm-ls| @@ -2748,6 +2786,7 @@ documented in additional help files. glslls................................|ale-glsl-glslls| go......................................|ale-go-options| bingo.................................|ale-go-bingo| + cspell................................|ale-go-cspell| gobuild...............................|ale-go-gobuild| gofmt.................................|ale-go-gofmt| gofumpt...............................|ale-go-gofumpt| @@ -2773,6 +2812,7 @@ documented in additional help files. ember-template-lint...................|ale-handlebars-embertemplatelint| haskell.................................|ale-haskell-options| brittany..............................|ale-haskell-brittany| + cspell................................|ale-haskell-cspell| floskell..............................|ale-haskell-floskell| ghc...................................|ale-haskell-ghc| ghc-mod...............................|ale-haskell-ghc-mod| @@ -2789,8 +2829,11 @@ documented in additional help files. ormolu................................|ale-haskell-ormolu| hcl.....................................|ale-hcl-options| terraform-fmt.........................|ale-hcl-terraform-fmt| + help....................................|ale-help-options| + cspell................................|ale-help-cspell| html....................................|ale-html-options| angular...............................|ale-html-angular| + cspell................................|ale-html-cspell| fecs..................................|ale-html-fecs| html-beautify.........................|ale-html-beautify| htmlhint..............................|ale-html-htmlhint| @@ -2808,6 +2851,7 @@ documented in additional help files. ispc..................................|ale-ispc-ispc| java....................................|ale-java-options| checkstyle............................|ale-java-checkstyle| + cspell................................|ale-java-cspell| javac.................................|ale-java-javac| google-java-format....................|ale-java-google-java-format| pmd...................................|ale-java-pmd| @@ -2815,6 +2859,7 @@ documented in additional help files. eclipselsp............................|ale-java-eclipselsp| uncrustify............................|ale-java-uncrustify| javascript..............................|ale-javascript-options| + cspell................................|ale-javascript-cspell| deno..................................|ale-javascript-deno| eslint................................|ale-javascript-eslint| fecs..................................|ale-javascript-fecs| @@ -2828,6 +2873,7 @@ documented in additional help files. standard..............................|ale-javascript-standard| xo....................................|ale-javascript-xo| json....................................|ale-json-options| + cspell................................|ale-json-cspell| eslint................................|ale-json-eslint| fixjson...............................|ale-json-fixjson| jsonlint..............................|ale-json-jsonlint| @@ -2848,6 +2894,7 @@ documented in additional help files. ktlint................................|ale-kotlin-ktlint| languageserver........................|ale-kotlin-languageserver| latex...................................|ale-latex-options| + cspell................................|ale-latex-cspell| write-good............................|ale-latex-write-good| textlint..............................|ale-latex-textlint| less....................................|ale-less-options| @@ -2857,12 +2904,14 @@ documented in additional help files. llvm....................................|ale-llvm-options| llc...................................|ale-llvm-llc| lua.....................................|ale-lua-options| + cspell................................|ale-lua-cspell| lua-format............................|ale-lua-lua-format| luac..................................|ale-lua-luac| luacheck..............................|ale-lua-luacheck| luafmt................................|ale-lua-luafmt| stylua................................|ale-lua-stylua| markdown................................|ale-markdown-options| + cspell................................|ale-markdown-cspell| markdownlint..........................|ale-markdown-markdownlint| mdl...................................|ale-markdown-mdl| pandoc................................|ale-markdown-pandoc| @@ -2914,6 +2963,7 @@ documented in additional help files. perl6...................................|ale-perl6-options| perl6.................................|ale-perl6-perl6| php.....................................|ale-php-options| + cspell................................|ale-php-cspell| langserver............................|ale-php-langserver| phan..................................|ale-php-phan| phpcbf................................|ale-php-phpcbf| @@ -2931,9 +2981,10 @@ documented in additional help files. write-good............................|ale-pod-write-good| pony....................................|ale-pony-options| ponyc.................................|ale-pony-ponyc| - powershell............................|ale-powershell-options| - powershell..........................|ale-powershell-powershell| - psscriptanalyzer....................|ale-powershell-psscriptanalyzer| + powershell..............................|ale-powershell-options| + cspell................................|ale-powershell-cspell| + powershell............................|ale-powershell-powershell| + psscriptanalyzer......................|ale-powershell-psscriptanalyzer| prolog..................................|ale-prolog-options| swipl.................................|ale-prolog-swipl| proto...................................|ale-proto-options| @@ -2957,6 +3008,7 @@ documented in additional help files. autopep8..............................|ale-python-autopep8| bandit................................|ale-python-bandit| black.................................|ale-python-black| + cspell................................|ale-python-cspell| flake8................................|ale-python-flake8| flakehell.............................|ale-python-flakehell| isort.................................|ale-python-isort| @@ -2985,12 +3037,14 @@ documented in additional help files. reason-language-server................|ale-reasonml-language-server| refmt.................................|ale-reasonml-refmt| restructuredtext........................|ale-restructuredtext-options| + cspell................................|ale-restructuredtext-cspell| textlint..............................|ale-restructuredtext-textlint| write-good............................|ale-restructuredtext-write-good| robot...................................|ale-robot-options| rflint................................|ale-robot-rflint| ruby....................................|ale-ruby-options| brakeman..............................|ale-ruby-brakeman| + cspell................................|ale-ruby-cspell| debride...............................|ale-ruby-debride| prettier..............................|ale-ruby-prettier| rails_best_practices..................|ale-ruby-rails_best_practices| @@ -3004,6 +3058,7 @@ documented in additional help files. rust....................................|ale-rust-options| analyzer..............................|ale-rust-analyzer| cargo.................................|ale-rust-cargo| + cspell................................|ale-rust-cspell| rls...................................|ale-rust-rls| rustc.................................|ale-rust-rustc| rustfmt...............................|ale-rust-rustfmt| @@ -3013,6 +3068,7 @@ documented in additional help files. sasslint..............................|ale-sass-sasslint| stylelint.............................|ale-sass-stylelint| scala...................................|ale-scala-options| + cspell................................|ale-scala-cspell| metals................................|ale-scala-metals| sbtserver.............................|ale-scala-sbtserver| scalafmt..............................|ale-scala-scalafmt| @@ -3023,6 +3079,7 @@ documented in additional help files. stylelint.............................|ale-scss-stylelint| sh......................................|ale-sh-options| bashate...............................|ale-sh-bashate| + cspell................................|ale-sh-cspell| sh-language-server....................|ale-sh-language-server| shell.................................|ale-sh-shell| shellcheck............................|ale-sh-shellcheck| @@ -3048,6 +3105,7 @@ documented in additional help files. svelteserver..........................|ale-svelte-svelteserver| swift...................................|ale-swift-options| apple-swift-format....................|ale-swift-apple-swift-format| + cspell................................|ale-swift-cspell| sourcekitlsp..........................|ale-swift-sourcekitlsp| systemd.................................|ale-systemd-options| systemd-analyze.......................|ale-systemd-analyze| @@ -3061,18 +3119,22 @@ documented in additional help files. tflint................................|ale-terraform-tflint| tex.....................................|ale-tex-options| chktex................................|ale-tex-chktex| + cspell................................|ale-tex-cspell| lacheck...............................|ale-tex-lacheck| latexindent...........................|ale-tex-latexindent| texlab................................|ale-tex-texlab| texinfo.................................|ale-texinfo-options| + cspell................................|ale-texinfo-cspell| write-good............................|ale-texinfo-write-good| text....................................|ale-text-options| + cspell................................|ale-text-cspell| textlint..............................|ale-text-textlint| write-good............................|ale-text-write-good| thrift..................................|ale-thrift-options| thrift................................|ale-thrift-thrift| thriftcheck...........................|ale-thrift-thriftcheck| typescript..............................|ale-typescript-options| + cspell................................|ale-typescript-cspell| deno..................................|ale-typescript-deno| eslint................................|ale-typescript-eslint| prettier..............................|ale-typescript-prettier| @@ -3103,9 +3165,11 @@ documented in additional help files. vimls.................................|ale-vim-vimls| vint..................................|ale-vim-vint| vue.....................................|ale-vue-options| + cspell................................|ale-vue-cspell| prettier..............................|ale-vue-prettier| vls...................................|ale-vue-vls| xhtml...................................|ale-xhtml-options| + cspell................................|ale-xhtml-cspell| write-good............................|ale-xhtml-write-good| xml.....................................|ale-xml-options| xmllint...............................|ale-xml-xmllint| diff --git a/supported-tools.md b/supported-tools.md index 33a12ae6..23d3dc72 100644 --- a/supported-tools.md +++ b/supported-tools.md @@ -23,6 +23,7 @@ formatting. * Ada * [ada_language_server](https://github.com/AdaCore/ada_language_server) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [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 @@ -34,6 +35,7 @@ formatting. * [secfixes-check](https://gitlab.alpinelinux.org/Leo/atools) * AsciiDoc * [alex](https://github.com/get-alex/alex) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [languagetool](https://languagetool.org/) :floppy_disk: * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) @@ -48,6 +50,7 @@ formatting. * [gawk](https://www.gnu.org/software/gawk/) * Bash * [bashate](https://github.com/openstack/bashate) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [language-server](https://github.com/mads-hartmann/bash-language-server) * shell [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set) * [shellcheck](https://www.shellcheck.net/) @@ -72,11 +75,13 @@ formatting. * [cppcheck](http://cppcheck.sourceforge.net) * [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) * [cquery](https://github.com/cquery-project/cquery) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [flawfinder](https://www.dwheeler.com/flawfinder/) * [gcc](https://gcc.gnu.org/) * [uncrustify](https://github.com/uncrustify/uncrustify) * C# * [csc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-csc` for details and configuration + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [dotnet-format](https://github.com/dotnet/format) * [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details * [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-mcsc` for details and configuration @@ -93,6 +98,7 @@ formatting. * [cppcheck](http://cppcheck.sourceforge.net) * [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) :floppy_disk: * [cquery](https://github.com/cquery-project/cquery) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [flawfinder](https://www.dwheeler.com/flawfinder/) * [gcc](https://gcc.gnu.org/) * [uncrustify](https://github.com/uncrustify/uncrustify) @@ -114,6 +120,7 @@ formatting. * [ameba](https://github.com/veelenga/ameba) :floppy_disk: * [crystal](https://crystal-lang.org/) :floppy_disk: * CSS + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [csslint](http://csslint.net/) * [fecs](http://fecs.baidu.com/) * [prettier](https://github.com/prettier/prettier) @@ -152,6 +159,7 @@ formatting. * [hadolint](https://github.com/hadolint/hadolint) * Elixir * [credo](https://github.com/rrrene/credo) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [dialyxir](https://github.com/jeremyjh/dialyxir) * [dogma](https://github.com/lpil/dogma) :floppy_disk: * [elixir-ls](https://github.com/elixir-lsp/elixir-ls) :warning: @@ -189,6 +197,7 @@ formatting. * [glslls](https://github.com/svenstaro/glsl-language-server) * Go * [bingo](https://github.com/saibing/bingo) :warning: + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [go build](https://golang.org/cmd/go/) :warning: :floppy_disk: * [go mod](https://golang.org/cmd/go/) :warning: :floppy_disk: * [go vet](https://golang.org/cmd/vet/) :floppy_disk: @@ -220,6 +229,7 @@ formatting. * Haskell * [brittany](https://github.com/lspitzner/brittany) * [cabal-ghc](https://www.haskell.org/cabal/) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [floskell](https://github.com/ennocramer/floskell) * [ghc](https://www.haskell.org/ghc/) * [ghc-mod](https://github.com/DanielG/ghc-mod) @@ -238,6 +248,7 @@ formatting. * HTML * [alex](https://github.com/get-alex/alex) * [angular](https://www.npmjs.com/package/@angular/language-server) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [fecs](http://fecs.baidu.com/) * [html-beautify](https://beautifier.io/) * [htmlhint](http://htmlhint.com/) @@ -256,12 +267,14 @@ formatting. * Java * [PMD](https://pmd.github.io/) * [checkstyle](http://checkstyle.sourceforge.net) :floppy_disk: + * [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) * [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html) * [javalsp](https://github.com/georgewfraser/vscode-javac) * [uncrustify](https://github.com/uncrustify/uncrustify) * JavaScript + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [deno](https://deno.land/) * [eslint](http://eslint.org/) * [fecs](http://fecs.baidu.com/) @@ -275,6 +288,7 @@ formatting. * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29) * [xo](https://github.com/sindresorhus/xo) * JSON + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [eslint](http://eslint.org/) * [fixjson](https://github.com/rhysd/fixjson) * [jq](https://stedolan.github.io/jq/) @@ -297,6 +311,7 @@ formatting. * LaTeX * [alex](https://github.com/get-alex/alex) * [chktex](http://www.nongnu.org/chktex/) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [lacheck](https://www.ctan.org/pkg/lacheck) * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) @@ -311,6 +326,7 @@ formatting. * LLVM * [llc](https://llvm.org/docs/CommandGuide/llc.html) * Lua + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [lua-format](https://github.com/Koihik/LuaFormatter) * [luac](https://www.lua.org/manual/5.1/luac.html) * [luacheck](https://github.com/mpeterv/luacheck) @@ -325,6 +341,7 @@ formatting. * [checkmake](https://github.com/mrtazz/checkmake) * Markdown * [alex](https://github.com/get-alex/alex) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [languagetool](https://languagetool.org/) :floppy_disk: * [markdownlint](https://github.com/DavidAnson/markdownlint) :floppy_disk: * [mdl](https://github.com/mivok/markdownlint) @@ -386,6 +403,7 @@ formatting. * Perl6 * [perl6 -c](https://perl6.org) :warning: * PHP + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [intelephense](https://github.com/bmewburn/intelephense-docs) * [langserver](https://github.com/felixfbecker/php-language-server) * [phan](https://github.com/phan/phan) see `:help ale-php-phan` to instructions @@ -410,6 +428,7 @@ formatting. * Pony * [ponyc](https://github.com/ponylang/ponyc) * PowerShell + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [powershell](https://github.com/PowerShell/PowerShell) * [psscriptanalyzer](https://github.com/PowerShell/PSScriptAnalyzer) * Prolog @@ -433,6 +452,7 @@ formatting. * [autopep8](https://github.com/hhatto/autopep8) * [bandit](https://github.com/PyCQA/bandit) :warning: * [black](https://github.com/ambv/black) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [flake8](http://flake8.pycqa.org/en/latest/) * [flakehell](https://github.com/flakehell/flakehell) * [isort](https://github.com/timothycrosley/isort) @@ -468,6 +488,7 @@ formatting. * [refmt](https://github.com/reasonml/reason-cli) * reStructuredText * [alex](https://github.com/get-alex/alex) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [proselint](http://proselint.com/) * [redpen](http://redpen.cc/) * [rstcheck](https://github.com/myint/rstcheck) @@ -480,6 +501,7 @@ formatting. * [rpmlint](https://github.com/rpm-software-management/rpmlint) :warning: (see `:help ale-integration-spec`) * Ruby * [brakeman](http://brakemanscanner.org/) :floppy_disk: + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [debride](https://github.com/seattlerb/debride) * [prettier](https://github.com/prettier/plugin-ruby) * [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) :floppy_disk: @@ -492,6 +514,7 @@ formatting. * [standardrb](https://github.com/testdouble/standard) * Rust * [cargo](https://github.com/rust-lang/cargo) :floppy_disk: (see `:help ale-integration-rust` for configuration instructions) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [rls](https://github.com/rust-lang-nursery/rls) :warning: * [rust-analyzer](https://github.com/rust-analyzer/rust-analyzer) :warning: * [rustc](https://www.rust-lang.org/) :warning: @@ -502,6 +525,7 @@ formatting. * [sass-lint](https://www.npmjs.com/package/sass-lint) * [stylelint](https://github.com/stylelint/stylelint) * Scala + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [fsc](https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html) * [metals](https://scalameta.org/metals/) * [sbtserver](https://www.scala-sbt.org/1.x/docs/sbt-server.html) @@ -536,6 +560,7 @@ formatting. * [svelteserver](https://github.com/sveltejs/language-tools/tree/master/packages/language-server) * Swift * [Apple swift-format](https://github.com/apple/swift-format) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [sourcekit-lsp](https://github.com/apple/sourcekit-lsp) * [swiftformat](https://github.com/nicklockwood/SwiftFormat) * [swiftlint](https://github.com/realm/SwiftLint) @@ -551,10 +576,12 @@ formatting. * [tflint](https://github.com/wata727/tflint) * Texinfo * [alex](https://github.com/get-alex/alex) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * Text * [alex](https://github.com/get-alex/alex) :warning: + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [languagetool](https://languagetool.org/) :floppy_disk: * [proselint](http://proselint.com/) :warning: * [redpen](http://redpen.cc/) :warning: @@ -565,6 +592,7 @@ formatting. * [thrift](http://thrift.apache.org/) * [thriftcheck](https://github.com/pinterest/thriftcheck) * TypeScript + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [deno](https://deno.land/) * [eslint](http://eslint.org/) * [fecs](http://fecs.baidu.com/) @@ -598,10 +626,12 @@ formatting. * [proselint](http://proselint.com/) :warning: * [write-good](https://github.com/btford/write-good) :warning: * Vue + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [prettier](https://github.com/prettier/prettier) * [vls](https://github.com/vuejs/vetur/tree/master/server) * XHTML * [alex](https://github.com/get-alex/alex) + * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) * [proselint](http://proselint.com/) * [write-good](https://github.com/btford/write-good) * XML diff --git a/test/handler/test_cspell_handler.vader b/test/handler/test_cspell_handler.vader new file mode 100644 index 00000000..b74b8d22 --- /dev/null +++ b/test/handler/test_cspell_handler.vader @@ -0,0 +1,13 @@ +Execute(The cspell handler should handle cspell output): + AssertEqual + \ [ + \ { + \ 'lnum': 721, + \ 'col': 18, + \ 'type': 'W', + \ 'text': 'Unknown word (stylelint)', + \ }, + \ ], + \ ale#handlers#cspell#Handle(bufnr(''), + \ '/:721:18 - Unknown word (stylelint)' + \) diff --git a/test/linter/test_cspell.vader b/test/linter/test_cspell.vader new file mode 100644 index 00000000..7a72be44 --- /dev/null +++ b/test/linter/test_cspell.vader @@ -0,0 +1,69 @@ +Before: + call ale#assert#SetUpLinterTest('tex', 'cspell') + + " We have to manually do our own variable reset because SetUpLinterTest calls + " ale#assert#ResetVariables, which specifically only resets variables that + " begin with ale__, per https://github.com/dense-analysis/ale/blob/76c2293e68a6cad3b192062743d25b8daa082205/autoload/ale/assert.vim#L256 + " + " Took a lot of debugging and reading both junegunn/vader.vim and most ALE + " files to find this behavior + + Save g:ale_cspell_executable + Save g:ale_cspell_use_global + Save g:ale_cspell_options + + unlet! g:ale_cspell_executable + unlet! g:ale_cspell_use_global + unlet! g:ale_cspell_options + + let g:ale_cspell_executable = 'cspell' + let g:ale_cspell_use_global = 0 + let g:ale_cspell_options = '' + +After: + call ale#assert#TearDownLinterTest() + +Execute(The global executable should be used when the local one cannot be found): + AssertLinter + \ 'cspell', + \ ale#Escape('cspell') + \ . ' lint --no-color --no-progress --no-summary -- stdin' + +Execute(Should use the node_modules/.bin executable if available): + call ale#test#SetFilename('../test-files/cspell/node-modules/test.tex') + + AssertLinter + \ ale#path#Simplify(g:dir + \ . '/../test-files/cspell/node-modules/node_modules/.bin/cspell'), + \ ale#Escape(ale#path#Simplify(g:dir + \ . '/../test-files/cspell/node-modules/node_modules/.bin/cspell')) + \ . ' lint --no-color --no-progress --no-summary -- stdin' + +Execute(Should use the node_modules/cspell executable if available): + call ale#test#SetFilename('../test-files/cspell/node-modules-2/test.tex') + + AssertLinter + \ ale#path#Simplify(g:dir + \ . '/../test-files/cspell/node-modules-2/node_modules/cspell/bin.js'), + \ (has('win32') ? 'node.exe ': '') + \ . ale#Escape(ale#path#Simplify(g:dir + \ . '/../test-files/cspell/node-modules-2/node_modules/cspell/bin.js')) + \ . ' lint --no-color --no-progress --no-summary -- stdin' + +Execute(Should let users configure a global executable and override local paths): + let g:ale_cspell_executable = '/path/to/custom/cspell' + let g:ale_cspell_use_global = 1 + + AssertLinter + \ '/path/to/custom/cspell', + \ ale#Escape('/path/to/custom/cspell') + \ . ' lint --no-color --no-progress --no-summary -- stdin' + +Execute(Additional cspell options should be configurable): + let g:ale_cspell_options = '--foobar' + + AssertLinter + \ 'cspell', + \ ale#Escape('cspell') + \ . ' lint --no-color --no-progress --no-summary --foobar -- stdin' + diff --git a/test/test-files/cspell/node-modules-2/node_modules/cspell/bin.js b/test/test-files/cspell/node-modules-2/node_modules/cspell/bin.js new file mode 100755 index 00000000..e69de29b diff --git a/test/test-files/cspell/node-modules/node_modules/.bin/cspell b/test/test-files/cspell/node-modules/node_modules/.bin/cspell new file mode 100755 index 00000000..e69de29b