Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Apple's swift-format as a linter #3007

Merged
merged 1 commit into from
Aug 17, 2020

Conversation

klaaspieter
Copy link
Contributor

@klaaspieter klaaspieter commented Feb 14, 2020

Adds swift-format as a linter.

There are a couple of trade-offs to be aware of:

  1. This uses swift run swift-format when inside a Swift package. Using swift run means it'll build the package and then run swift-format. This can potentially take a while and I've seen it break when the build was interupted. The alternative is to look for swift-format in ./build/debug/swift-format but it won't exist if the package hasn't been built.
  2. Related to 1, if a package doesn't have swift-format as a dependency the linter will simply fail to run. Suggestions on how to imrove this and/or communicate this with the user are welcome 馃檹 . I tried showing a generic error in ale_linters#swift#swiftformat#Handle but it doesn't seem to get called when swift run fails.
  3. swift-format generally isn't installed in $PATH which means most users will have to set swift_swiftformat_executable. The version of swift-format that is installed by the default (outside of $PATH) is very out of date and is not compatible with this linter implementation.

@klaaspieter
Copy link
Contributor Author

klaaspieter commented Feb 14, 2020

I can't make any sense of the Travis failure. I get completely different failures locally (even on master) making it hard to fix them...

It also looks like there is (yet another) failure on master.

Any help debugging this would be appreciated. This is my test run locally (mac os) on master:

$ ./run-tests --linters-only Starting Vint... Starting Custom checks...

========================================
Running Vint to lint our code

Vint warnings/errors follow:

========================================
Running custom linting rules

Custom warnings/errors follow:

========================================
Checking for duplicate tags

Duplicate tags follow:

========================================
Checking for invalid tag references

Invalid tag references tags follow:

+ALEDisable
+ALEEnable
+ALEErrorSign
+ALEError
+ALEFix
+ALEGoToDefinition
+ALEGoToTypeDefinition
+ALEInfoSign
+ALEInfo
+ALELintPre
+ALEReset
+ALEStyleErrorSign
+ALEStyleError
+ALEStyleWarningSign
+ALEStyleWarning
+ALEToggle
+ALEWarningSign
+ALEWarning
+ale-c-clang
+ale-cpp-clang
+ale-cs-mcs
+ale-development
+ale-elixir-mix
+ale-hack-hack
+ale-haskell-ghc
+ale-javascript-prettier
+ale-lint-file
+ale-lint
+ale-lsp
+ale-lua-luac
+ale-objc-clang
+ale-objcpp-clang
+ale-perl-perl
+ale-php-php
+ale-puppet-puppet
+ale-sh-shell
+ale-support
+g:ale_c_build_dir
+g:ale_fix_on_save
+g:ale_linters
+g:ale_prolog_swipl_alarm
+g:ale_shell

diff supported-tools.md and doc/ale-supported-languages-and-tools.txt tables

Differences follow:

--- /var/folders/gl/6x95zp3x1fs690s9rnk1z_q80000gn/T/doc-sorted.XXXXXXXX.wNNrjxgl 2020-02-14 16:57:10.000000000 +0100
+++ /var/folders/gl/6x95zp3x1fs690s9rnk1z_q80000gn/T/doc.XXXXXXXX.nvUcIbeF 2020-02-14 16:57:10.000000000 +0100
@@ -22 +21,0 @@
-C - * clang-format
@@ -24,0 +24 @@
+C - * clang-format
@@ -37 +36,0 @@
-C++ (filetype cpp) - * clang-format
@@ -40,0 +40 @@
+C++ (filetype cpp) - * clang-format
@@ -90 +89,0 @@
-Erlang - * SyntaxErl
@@ -91,0 +91 @@
+Erlang - * SyntaxErl
@@ -98 +97,0 @@
-GLSL - * glslls
@@ -99,0 +99 @@
+GLSL - * glslls
@@ -102,2 +101,0 @@
-Go - * go mod!!
-Go - * go vet!!
@@ -109,0 +108 @@
+Go - * go mod!!
@@ -112,0 +112 @@
+Go - * go vet!!
@@ -125 +124,0 @@
-Haskell - * ghc-mod
@@ -126,0 +126 @@
+Haskell - * ghc-mod
@@ -136 +135,0 @@
-HTML - * HTMLHint
@@ -139,0 +139 @@
+HTML - * HTMLHint
@@ -147 +146,0 @@
-Java - * PMD
@@ -152,0 +152 @@
+Java - * PMD
@@ -158,0 +159 @@
+JavaScript - * prettier
@@ -161 +161,0 @@
-JavaScript - * prettier
@@ -233,2 +232,0 @@
-PHP - * php -l
-PHP - * php-cs-fixer
@@ -236,0 +235,2 @@
+PHP - * php-cs-fixer
+PHP - * php -l
@@ -254 +253,0 @@
-Puppet - * puppet-lint
@@ -255,0 +255 @@
+Puppet - * puppet-lint
@@ -280 +279,0 @@
-Re:VIEW - * redpen
@@ -291,0 +291 @@
+Re:VIEW - * redpen

The supported tools list isn't sorted properly

--- /var/folders/gl/6x95zp3x1fs690s9rnk1z_q80000gn/T/readme.XXXXXXXX.y19QeyAk 2020-02-14 16:57:10.000000000 +0100
+++ /var/folders/gl/6x95zp3x1fs690s9rnk1z_q80000gn/T/doc.XXXXXXXX.nvUcIbeF 2020-02-14 16:57:10.000000000 +0100
@@ -1,375 +1,375 @@
-Ada - * gcc
-Ada - * gnatpp :floppy_disk:
-Ansible - * ansible-lint
-API Blueprint - * drafter
-AsciiDoc - * alex :floppy_disk:
-AsciiDoc - * proselint
-AsciiDoc - * redpen
-AsciiDoc - * textlint
-AsciiDoc - * vale
-AsciiDoc - * write-good
-ASM - * gcc
-Awk - * gawk
-Bash - * language-server
-Bash - * shell -n flag
-Bash - * shellcheck
-Bash - * shfmt
-BibTeX - * bibclean
-Bourne Shell - * shell -n flag
-Bourne Shell - * shellcheck
-Bourne Shell - * shfmt
-C - * ccls
-C - * clang
-C - * clangd
-C - * clang-format
-C - * clangtidy :floppy_disk:
-C - * cppcheck
-C - * cpplint
-C - * cquery
-C - * flawfinder
-C - * gcc
-C - * uncrustify
-C# - * csc :floppy_disk: see:help ale-cs-csc for details and configuration
-C# - * mcs see:help ale-cs-mcs for details
-C# - * mcsc :floppy_disk: see:help ale-cs-mcsc for details and configuration
-C# - * uncrustify
-C++ (filetype cpp) - * ccls
-C++ (filetype cpp) - * clang
-C++ (filetype cpp) - * clangcheck :floppy_disk:
-C++ (filetype cpp) - * clangd
-C++ (filetype cpp) - * clang-format
-C++ (filetype cpp) - * clangtidy :floppy_disk:
-C++ (filetype cpp) - * clazy :floppy_disk:
-C++ (filetype cpp) - * cppcheck
-C++ (filetype cpp) - * cpplint :floppy_disk:
-C++ (filetype cpp) - * cquery
-C++ (filetype cpp) - * flawfinder
-C++ (filetype cpp) - * gcc
-C++ (filetype cpp) - * uncrustify
-Chef - * cookstyle
-Chef - * foodcritic
-Clojure - * clj-kondo
-Clojure - * joker
-CloudFormation - * cfn-python-lint
-CMake - * cmake-format
-CMake - * cmakelint
-CoffeeScript - * coffee
-CoffeeScript - * coffeelint
-Crystal - * ameba :floppy_disk:
-Crystal - * crystal :floppy_disk:
-CSS - * csslint
-CSS - * fecs
-CSS - * prettier
-CSS - * stylelint
-Cucumber - * cucumber
-CUDA - * nvcc
-Cypher - * cypher-lint
-Cython (pyrex filetype) - * cython
-D - * dfmt
-D - * dls
-D - * dmd
-D - * uncrustify
-Dafny - * dafny :floppy_disk:
-Dart - * dartanalyzer :floppy_disk:
-Dart - * dartfmt
-Dart - * language_server
-Dockerfile - * dockerfile_lint
-Dockerfile - * hadolint
-Elixir - * credo
-Elixir - * dialyxir :floppy_disk:
-Elixir - * dogma :floppy_disk:
-Elixir - * elixir-ls :warning:
-Elixir - * mix :warning: :floppy_disk:
-Elm - * elm-format
-Elm - * elm-ls
-Elm - * elm-make
-Erb - * erb
-Erb - * erubi
-Erb - * erubis
-Erb - * ruumba
-Erlang - * erlc
-Erlang - * SyntaxErl
-Fish - * fish -n flag
-Fortran - * gcc
-Fortran - * language_server
-Fountain - * proselint
-FusionScript - * fusion-lint
-Git Commit Messages - * gitlint
-GLSL - * glslang
-GLSL - * glslls
-Go - * bingo :warning:
-Go - * go build :warning: :floppy_disk:
-Go - * gofmt
-Go - * goimports :warning:
-Go - * golangci-lint :warning: :floppy_disk:
-Go - * golangserver :warning:
-Go - * golint
-Go - * gometalinter :warning: :floppy_disk:
-Go - * go mod :warning: :floppy_disk:
-Go - * gopls :warning:
-Go - * gosimple :warning: :floppy_disk:
-Go - * gotype :warning: :floppy_disk:
-Go - * go vet :floppy_disk:
-Go - * staticcheck :warning: :floppy_disk:
-GraphQL - * eslint
-GraphQL - * gqlint
-GraphQL - * prettier
-Hack - * hack
-Hack - * hackfmt
-Hack - * hhast :warning: (see :help ale-integration-hack)
-Haml - * haml-lint
-Handlebars - * ember-template-lint
-Haskell - * brittany
-Haskell - * cabal-ghc
-Haskell - * floskell
-Haskell - * ghc
-Haskell - * ghc-mod
-Haskell - * hdevtools
-Haskell - * hfmt
-Haskell - * hie
-Haskell - * hindent
-Haskell - * hlint
-Haskell - * stack-build :floppy_disk:
-Haskell - * stack-ghc
-Haskell - * stylish-haskell
-HCL - * terraform-fmt
-HTML - * alex :floppy_disk:
-HTML - * fecs
-HTML - * html-beautify
-HTML - * HTMLHint
-HTML - * prettier
-HTML - * proselint
-HTML - * tidy
-HTML - * write-good
-Idris - * idris
-Ink - * ink-language-server
-ISPC - * ispc :floppy_disk:
-Java - * checkstyle
-Java - * eclipselsp
-Java - * google-java-format
-Java - * javac
-Java - * javalsp
-Java - * PMD
-Java - * uncrustify
-JavaScript - * eslint
-JavaScript - * fecs
-JavaScript - * flow
-JavaScript - * jscs
-JavaScript - * jshint
-JavaScript - * prettier
-JavaScript - * prettier-eslint
-JavaScript - * prettier-standard
-JavaScript - * standard
-JavaScript - * tsserver
-JavaScript - * xo
-JSON - * fixjson
-JSON - * jq
-JSON - * jsonlint
-JSON - * prettier
-Julia - * languageserver
-Kotlin - * kotlinc :floppy_disk:
-Kotlin - * ktlint :floppy_disk:
-Kotlin - * languageserver see :help ale-integration-kotlin for configuration instructions
-LaTeX - * alex :floppy_disk:
-LaTeX - * chktex
-LaTeX - * lacheck
-LaTeX - * proselint
-LaTeX - * redpen
-LaTeX - * texlab
-LaTeX - * textlint
-LaTeX - * vale
-LaTeX - * write-good
-Less - * lessc
-Less - * prettier
-Less - * stylelint
-LLVM - * llc
-Lua - * luac
-Lua - * luacheck
-Mail - * alex :floppy_disk:
-Mail - * languagetool :floppy_disk:
-Mail - * proselint
-Mail - * vale
-Make - * checkmake
-Markdown - * alex :floppy_disk:
-Markdown - * languagetool :floppy_disk:
-Markdown - * markdownlint :floppy_disk:
-Markdown - * mdl
-Markdown - * prettier
-Markdown - * proselint
-Markdown - * redpen
-Markdown - * remark-lint
-Markdown - * textlint
-Markdown - * vale
-Markdown - * write-good
-MATLAB - * mlint
-Mercury - * mmc :floppy_disk:
-NASM - * nasm :floppy_disk:
-Nim - * nim check :floppy_disk:
-Nim - * nimlsp
-Nim - * nimpretty
-nix - * nix-instantiate
-nix - * nixpkgs-fmt
-nroff - * alex :floppy_disk:
-nroff - * proselint
-nroff - * write-good
-Objective-C - * ccls
-Objective-C - * clang
-Objective-C - * clangd
-Objective-C - * uncrustify
-Objective-C++ - * clang
-Objective-C++ - * clangd
-Objective-C++ - * uncrustify
-OCaml - * merlin see :help ale-ocaml-merlin for configuration instructions
-OCaml - * ocamlformat
-OCaml - * ocp-indent
-OCaml - * ols
-Pawn - * uncrustify
-Perl - * perl -c :warning:
-Perl - * perl-critic
-Perl - * perltidy
-Perl6 - * perl6 -c :warning:
-PHP - * langserver
-PHP - * phan see :help ale-php-phan to instructions
-PHP - * phpcbf
-PHP - * phpcs
-PHP - * php-cs-fixer
-PHP - * php -l
-PHP - * phpmd
-PHP - * phpstan
-PHP - * psalm :floppy_disk:
-PO - * alex :floppy_disk:
-PO - * msgfmt
-PO - * proselint
-PO - * write-good
-Pod - * alex :floppy_disk:
-Pod - * proselint
-Pod - * write-good
-Pony - * ponyc
-PowerShell - * powershell :floppy_disk:
-PowerShell - * psscriptanalyzer :floppy_disk:
-Prolog - * swipl
-proto - * protoc-gen-lint
-Pug - * pug-lint
-Puppet - * languageserver
-Puppet - * puppet
-Puppet - * puppet-lint
-PureScript - * purescript-language-server
-PureScript - * purty
-Python - * autopep8
-Python - * bandit :warning:
-Python - * black
-Python - * flake8
-Python - * isort
-Python - * mypy
-Python - * prospector :warning:
-Python - * pycodestyle :warning:
-Python - * pydocstyle :warning:
-Python - * pyflakes
-Python - * pylama :floppy_disk:
-Python - * pylint :floppy_disk:
-Python - * pyls :warning:
-Python - * pyre :warning:
-Python - * reorder-python-imports
-Python - * vulture :warning: :floppy_disk:
-Python - * yapf
-QML - * qmlfmt
-QML - * qmllint
-R - * lintr
-R - * styler
-Racket - * raco
-ReasonML - * merlin see :help ale-reasonml-ols for configuration instructions
-ReasonML - * ols
-ReasonML - * reason-language-server
-ReasonML - * refmt
-reStructuredText - * alex :floppy_disk:
-reStructuredText - * proselint
-reStructuredText - * redpen
-reStructuredText - * rstcheck
-reStructuredText - * textlint
-reStructuredText - * vale
-reStructuredText - * write-good
-Re:VIEW - * redpen
-RPM spec - * rpmlint :warning: (see :help ale-integration-spec)
-Ruby - * brakeman :floppy_disk:
-Ruby - * debride :floppy_disk:
-Ruby - * rails_best_practices :floppy_disk:
-Ruby - * reek
-Ruby - * rubocop
-Ruby - * ruby
-Ruby - * rufo
-Ruby - * solargraph
-Ruby - * sorbet
-Ruby - * standardrb
-Rust - * cargo :floppy_disk: (see :help ale-integration-rust for configuration instructions)
-Rust - * rls :warning:
-Rust - * rustc :warning:
-Rust - * rustfmt
-Sass - * sass-lint
-Sass - * stylelint
-Scala - * fsc
-Scala - * metals
-Scala - * sbtserver
-Scala - * scalac
-Scala - * scalafmt
-Scala - * scalastyle
-SCSS - * prettier
-SCSS - * sass-lint
-SCSS - * scss-lint
-SCSS - * stylelint
-Slim - * slim-lint
-SML - * smlnj
-Solidity - * solc
-Solidity - * solhint
-Solidity - * solium
-SQL - * pgformatter
-SQL - * sqlfmt
-SQL - * sqlformat
-SQL - * sqlint
-Stylus - * stylelint
-SugarSS - * stylelint
-Swift - * sourcekit-lsp
-Swift - * swiftformat
-Swift - * swiftlint
-Tcl - * nagelfar :floppy_disk:
-Terraform - * fmt
-Terraform - * tflint
-Texinfo - * alex :floppy_disk:
-Texinfo - * proselint
-Texinfo - * write-good
-Text - * alex :warning: :floppy_disk:
-Text - * languagetool :floppy_disk:
-Text - * proselint :warning:
-Text - * redpen :warning:
-Text - * textlint :warning:
-Text - * vale :warning:
-Text - * write-good :warning:
-Thrift - * thrift
-TypeScript - * eslint
-TypeScript - * fecs
-TypeScript - * prettier
-TypeScript - * standard
-TypeScript - * tslint
-TypeScript - * tsserver
-TypeScript - * typecheck
-VALA - * uncrustify
-Verilog - * iverilog
-Verilog - * verilator
-Verilog - * vlog
-Verilog - * xvlog
-VHDL - * ghdl
-VHDL - * vcom
-VHDL - * xvhdl
-Vim - * vint
-Vim help - * alex :warning: :floppy_disk:
-Vim help - * proselint :warning:
-Vim help - * write-good :warning:
-Vue - * prettier
-Vue - * vls
-XHTML - * alex :floppy_disk:
-XHTML - * proselint
-XHTML - * write-good
-XML - * xmllint
-YAML - * prettier
-YAML - * swaglint
-YAML - * yamllint
-YANG - * yang-lsp
+Ada - * gcc
+Ada - * gnatpp
+Ansible - * ansible-lint
+API Blueprint - * drafter
+AsciiDoc - * alex!!
+AsciiDoc - * proselint
+AsciiDoc - * redpen
+AsciiDoc - * textlint
+AsciiDoc - * vale
+AsciiDoc - * write-good
+ASM - * gcc
+Awk - * gawk
+Bash - * language-server
+Bash - * shell (-n flag)
+Bash - * shellcheck
+Bash - * shfmt
+BibTeX - * bibclean
+Bourne Shell - * shell (-n flag)
+Bourne Shell - * shellcheck
+Bourne Shell - * shfmt
+C - * ccls
+C - * clang
+C - * clangd
+C - * clang-format
+C - * clangtidy!!
+C - * cppcheck
+C - * cpplint!!
+C - * cquery
+C - * flawfinder
+C - * gcc
+C - * uncrustify
+C# - * csc!!
+C# - * mcs
+C# - * mcsc!!
+C# - * uncrustify
+C++ (filetype cpp) - * ccls
+C++ (filetype cpp) - * clang
+C++ (filetype cpp) - * clangcheck!!
+C++ (filetype cpp) - * clangd
+C++ (filetype cpp) - * clang-format
+C++ (filetype cpp) - * clangtidy!!
+C++ (filetype cpp) - * clazy!!
+C++ (filetype cpp) - * cppcheck
+C++ (filetype cpp) - * cpplint!!
+C++ (filetype cpp) - * cquery
+C++ (filetype cpp) - * flawfinder
+C++ (filetype cpp) - * gcc
+C++ (filetype cpp) - * uncrustify
+Chef - * cookstyle
+Chef - * foodcritic
+Clojure - * clj-kondo
+Clojure - * joker
+CloudFormation - * cfn-python-lint
+CMake - * cmake-format
+CMake - * cmakelint
+CoffeeScript - * coffee
+CoffeeScript - * coffeelint
+Crystal - * ameba!!
+Crystal - * crystal!!
+CSS - * csslint
+CSS - * fecs
+CSS - * prettier
+CSS - * stylelint
+Cucumber - * cucumber
+CUDA - * nvcc!!
+Cypher - * cypher-lint
+Cython (pyrex filetype) - * cython
+D - * dfmt
+D - * dls
+D - * dmd
+D - * uncrustify
+Dafny - * dafny!!
+Dart - * dartanalyzer!!
+Dart - * dartfmt!!
+Dart - * language_server
+Dockerfile - * dockerfile_lint
+Dockerfile - * hadolint
+Elixir - * credo
+Elixir - * dialyxir
+Elixir - * dogma
+Elixir - * elixir-ls
+Elixir - * mix!!
+Elm - * elm-format
+Elm - * elm-ls
+Elm - * elm-make
+Erb - * erb
+Erb - * erubi
+Erb - * erubis
+Erb - * ruumba
+Erlang - * erlc
+Erlang - * SyntaxErl
+Fish - * fish (-n flag)
+Fortran - * gcc
+Fortran - * language_server
+Fountain - * proselint
+FusionScript - * fusion-lint
+Git Commit Messages - * gitlint
+GLSL - * glslang
+GLSL - * glslls
+Go - * bingo
+Go - * go build!!
+Go - * gofmt
+Go - * goimports
+Go - * golangci-lint!!
+Go - * golangserver
+Go - * golint
+Go - * gometalinter!!
+Go - * go mod!!
+Go - * gopls
+Go - * gosimple!!
+Go - * gotype!!
+Go - * go vet!!
+Go - * staticcheck!!
+GraphQL - * eslint
+GraphQL - * gqlint
+GraphQL - * prettier
+Hack - * hack
+Hack - * hackfmt
+Hack - * hhast
+Haml - * haml-lint
+Handlebars - * ember-template-lint
+Haskell - * brittany
+Haskell - * cabal-ghc
+Haskell - * floskell
+Haskell - * ghc
+Haskell - * ghc-mod
+Haskell - * hdevtools
+Haskell - * hfmt
+Haskell - * hie
+Haskell - * hindent
+Haskell - * hlint
+Haskell - * stack-build!!
+Haskell - * stack-ghc
+Haskell - * stylish-haskell
+HCL - * terraform-fmt
+HTML - * alex!!
+HTML - * fecs
+HTML - * html-beautify
+HTML - * HTMLHint
+HTML - * prettier
+HTML - * proselint
+HTML - * tidy
+HTML - * write-good
+Idris - * idris
+Ink - * ink-language-server
+ISPC - * ispc!!
+Java - * checkstyle
+Java - * eclipselsp
+Java - * google-java-format
+Java - * javac
+Java - * javalsp
+Java - * PMD
+Java - * uncrustify
+JavaScript - * eslint
+JavaScript - * fecs
+JavaScript - * flow
+JavaScript - * jscs
+JavaScript - * jshint
+JavaScript - * prettier
+JavaScript - * prettier-eslint
+JavaScript - * prettier-standard
+JavaScript - * standard
+JavaScript - * tsserver
+JavaScript - * xo
+JSON - * fixjson
+JSON - * jq
+JSON - * jsonlint
+JSON - * prettier
+Julia - * languageserver
+Kotlin - * kotlinc!!
+Kotlin - * ktlint!!
+Kotlin - * languageserver
+LaTeX (tex) - * alex!!
+LaTeX (tex) - * chktex
+LaTeX (tex) - * lacheck
+LaTeX (tex) - * proselint
+LaTeX (tex) - * redpen
+LaTeX (tex) - * texlab
+LaTeX (tex) - * textlint
+LaTeX (tex) - * vale
+LaTeX (tex) - * write-good
+Less - * lessc
+Less - * prettier
+Less - * stylelint
+LLVM - * llc
+Lua - * luac
+Lua - * luacheck
+Mail - * alex!!
+Mail - * languagetool!!
+Mail - * proselint
+Mail - * vale
+Make - * checkmake
+Markdown - * alex!!
+Markdown - * languagetool!!
+Markdown - * markdownlint!!
+Markdown - * mdl
+Markdown - * prettier
+Markdown - * proselint
+Markdown - * redpen
+Markdown - * remark-lint
+Markdown - * textlint
+Markdown - * vale
+Markdown - * write-good
+MATLAB - * mlint
+Mercury - * mmc!!
+NASM - * nasm!!
+Nim - * nim check!!
+Nim - * nimlsp
+Nim - * nimpretty
+nix - * nix-instantiate
+nix - * nixpkgs-fmt
+nroff - * alex!!
+nroff - * proselint
+nroff - * write-good
+Objective-C - * ccls
+Objective-C - * clang
+Objective-C - * clangd
+Objective-C - * uncrustify
+Objective-C++ - * clang
+Objective-C++ - * clangd
+Objective-C++ - * uncrustify
+OCaml - * merlin (see |ale-ocaml-merlin|)
+OCaml - * ocamlformat
+OCaml - * ocp-indent
+OCaml - * ols
+Pawn - * uncrustify
+Perl - * perl -c
+Perl - * perl-critic
+Perl - * perltidy
+Perl6 - * perl6 -c
+PHP - * langserver
+PHP - * phan
+PHP - * phpcbf
+PHP - * phpcs
+PHP - * php-cs-fixer
+PHP - * php -l
+PHP - * phpmd
+PHP - * phpstan
+PHP - * psalm!!
+PO - * alex!!
+PO - * msgfmt
+PO - * proselint
+PO - * write-good
+Pod - * alex!!
+Pod - * proselint
+Pod - * write-good
+Pony - * ponyc
+PowerShell - * powershell
+PowerShell - * psscriptanalyzer
+Prolog - * swipl
+proto - * protoc-gen-lint
+Pug - * pug-lint
+Puppet - * languageserver
+Puppet - * puppet
+Puppet - * puppet-lint
+PureScript - * purescript-language-server
+PureScript - * purty
+Python - * autopep8
+Python - * bandit
+Python - * black
+Python - * flake8
+Python - * isort
+Python - * mypy
+Python - * prospector
+Python - * pycodestyle
+Python - * pydocstyle
+Python - * pyflakes
+Python - * pylama!!
+Python - * pylint!!
+Python - * pyls
+Python - * pyre
+Python - * reorder-python-imports
+Python - * vulture!!
+Python - * yapf
+QML - * qmlfmt
+QML - * qmllint
+R - * lintr
+R - * styler
+Racket - * raco
+ReasonML - * merlin
+ReasonML - * ols
+ReasonML - * reason-language-server
+ReasonML - * refmt
+reStructuredText - * alex!!
+reStructuredText - * proselint
+reStructuredText - * redpen
+reStructuredText - * rstcheck
+reStructuredText - * textlint
+reStructuredText - * vale
+reStructuredText - * write-good
+Re:VIEW - * redpen
+RPM spec - * rpmlint
+Ruby - * brakeman
+Ruby - * debride
+Ruby - * rails_best_practices!!
+Ruby - * reek
+Ruby - * rubocop
+Ruby - * ruby
+Ruby - * rufo
+Ruby - * solargraph
+Ruby - * sorbet
+Ruby - * standardrb
+Rust - * cargo!!
+Rust - * rls
+Rust - * rustc (see |ale-integration-rust|)
+Rust - * rustfmt
+Sass - * sass-lint
+Sass - * stylelint
+Scala - * fsc
+Scala - * metals
+Scala - * sbtserver
+Scala - * scalac
+Scala - * scalafmt
+Scala - * scalastyle
+SCSS - * prettier
+SCSS - * sass-lint
+SCSS - * scss-lint
+SCSS - * stylelint
+Slim - * slim-lint
+SML - * smlnj
+Solidity - * solc
+Solidity - * solhint
+Solidity - * solium
+SQL - * pgformatter
+SQL - * sqlfmt
+SQL - * sqlformat
+SQL - * sqlint
+Stylus - * stylelint
+SugarSS - * stylelint
+Swift - * sourcekit-lsp
+Swift - * swiftformat
+Swift - * swiftlint
+Tcl - * nagelfar!!
+Terraform - * fmt
+Terraform - * tflint
+Texinfo - * alex!!
+Texinfo - * proselint
+Texinfo - * write-good
+Text^ - * alex!!
+Text^ - * languagetool!!
+Text^ - * proselint
+Text^ - * redpen
+Text^ - * textlint
+Text^ - * vale
+Text^ - * write-good
+Thrift - * thrift
+TypeScript - * eslint
+TypeScript - * fecs
+TypeScript - * prettier
+TypeScript - * standard
+TypeScript - * tslint
+TypeScript - * tsserver
+TypeScript - * typecheck
+VALA - * uncrustify
+Verilog - * iverilog
+Verilog - * verilator
+Verilog - * vlog
+Verilog - * xvlog
+VHDL - * ghdl
+VHDL - * vcom
+VHDL - * xvhdl
+Vim - * vint
+Vim help^ - * alex!!
+Vim help^ - * proselint
+Vim help^ - * write-good
+Vue - * prettier
+Vue - * vls
+XHTML - * alex!!
+XHTML - * proselint
+XHTML - * write-good
+XML - * xmllint
+YAML - * prettier
+YAML - * swaglint
+YAML - * yamllint
+YANG - * yang-lsp

Look for badly aligned doc tags

Badly aligned tags follow:

========================================
Look for table of contents issues

Check for bad ToC sorting:

Check for mismatched ToC and headings:

--- /var/folders/gl/6x95zp3x1fs690s9rnk1z_q80000gn/T/table-of-contents.XXXXXXXX.5nhr5CKx 2020-02-14 16:57:10.000000000 +0100
+++ /var/folders/gl/6x95zp3x1fs690s9rnk1z_q80000gn/T/headings.XXXXXXXX.waOF7g19 2020-02-14 16:57:10.000000000 +0100
@@ -384,10 +384,10 @@
ghdl, ale-vhdl-ghdl
vcom, ale-vhdl-vcom
xvhdl, ale-vhdl-xvhdl
-vim, ale-vim-options

  • vint, ale-vim-vint
    vim help, ale-vim-help-options
    write-good, ale-vim-help-write-good
    +vim, ale-vim-options
  • vint, ale-vim-vint
    vue, ale-vue-options
    prettier, ale-vue-prettier
    vls, ale-vue-vls
    ========================================
    Check Python code
    ========================================

.....

Ran 5 tests in 0.000s

OK

Something went wrong!

@klaaspieter
Copy link
Contributor Author

Anything I can do to move this forward?

Copy link
Member

@w0rp w0rp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only issue here is the list of supported tools, which the linter job is complaining about. There are two different entries for swiftformat and swift-format. It will expect the names with minuses to come before or after other characters in the list somewhere.

@klaaspieter klaaspieter force-pushed the swift-format branch 2 times, most recently from aafda3b to d430729 Compare April 29, 2020 12:24
@klaaspieter
Copy link
Contributor Author

@w0rp fixed now. 馃槃

@klaaspieter klaaspieter requested a review from w0rp April 29, 2020 12:36
@stale
Copy link

stale bot commented Aug 13, 2020

This pull request has been automatically marked as stale because it has not been updated recently. Make sure to write tests and document your changes. See :help ale-dev for information on writing tests.
If your pull request is good to merge, bother w0rp or another maintainer again, and get them to merge it.

@stale stale bot added the stale PRs a bot will close automatically label Aug 13, 2020
@stale stale bot closed this Aug 15, 2020
@w0rp w0rp reopened this Aug 17, 2020
@stale stale bot removed the stale PRs a bot will close automatically label Aug 17, 2020
@w0rp w0rp merged commit bc6304b into dense-analysis:master Aug 17, 2020
@w0rp
Copy link
Member

w0rp commented Aug 17, 2020

Cheers! 馃嵒

People might be confused by there being two different tools that sound the same. I guess that's a problem for Swift.

@klaaspieter klaaspieter deleted the swift-format branch August 18, 2020 12:06
@klaaspieter
Copy link
Contributor Author

100% agree. SwiftFormat is a community project while swift-format is an Apple project. To make matters even more complicated the Apple project seems to largely be maintained by Google engineers 馃く

Thanks for merging!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants