summaryrefslogtreecommitdiff
path: root/ale_linters
AgeCommit message (Collapse)Author
2024-07-09feat(biome): add support for json and jsonc (#4805)Braden Kelley
- adds biome linter for json and jsonc - enables biome by default for json and jsonc - suggests biome as a fixer for json and jsonc
2024-07-08Fix #4714 - Handle ruff garbagew0rp
When ruff outputs errors are invalid JSON text, handle that and stop ALE from throwing exceptions.
2024-06-27fix!(biome): allow passing options to `biome check` (#4799)Braden Kelley
The only option available to biome's `lsp-proxy` command used for linting is `--config-path`. However, we are using ALE to find and set the project root, and have a way to manually override, so that is no longer necessary. The LSP proxy also used the `g:ale_biome_options` config, which is shared with the fixer's `check` command, but `lsp-proxy` will throw an error if unknown options are included, making it so that option is only useful to set the project root. BREAKING CHANGE: We are no longer passing options to the biome LSP proxy, but we can still set the project root with `g:ale_biome_lsp_project_root`.
2024-06-25Add Ruby linter with Steep (#4671)Loic Nageleisen
* Add Ruby linter with Steep Fixes #3254 * Run steep instead of using language server LSP presents a few issues and this works around those. * Work around Steep path issue See https://github.com/soutaro/steep/pull/975 * Add simple tests for steep * Add steep to supported tools * Pass linter * Add a comment regarding Steep's column counting * Make lnum an integer * Add Steep handler test * Fix separator for Windows * Escape Windows path separators for substitute() * Use ALEInfo (I) group * Use fnameescape instead of quotes * Skip linting for files not under steep root * Add and pass tests covering proper steep root lookup * Fix separator discrepancy * Use strict operators (match case) * Fix ordering * Use `is#` instead of `==#`
2024-06-24fix(biome): send correct language to lsp proxy (#4773)Braden Kelley
Since Biome understands `typescriptreact` and `javascriptreact` as languages, we can send the `filetype` to the LSP, rather than only sending `typescript` for both `ts` and `tsx` files, or `javascript` for `js` and `jsx` files. fixes: #4752
2024-06-02Run actionlint by default on GitHub filesw0rp
Detect paths containing .github as a directory for running actionlint by default on YAML filetypes.
2024-05-09Update dart analysis_server command (#4761)Macuyler Dunn
* Update dart analysis_server command In 2021 the dart team added a new sub-command `language-server` to replace the original `./snapshots/analysis_server.dart.snapshot --lsp` convention for starting the language server. https://github.com/dart-lang/sdk/commit/c224cc2e0d4cd8fc536c21ee963a0254d18a27bb * Add ale_dart_analysis_server_enable_language_server option This allows users to opt-in to the new `dart language-server` command. * Enable ale_dart_analysis_server_enable_language_server option by default * Update doc/ale-dart.txt Include the dart version number where the `dart language-server` command was added.
2024-04-26fix: force `--no-fix` when `ruff` used as a linter (#4759)Yining
this commit is to fix #4756 which suggests to force disable applying fixes when linting, particularly when `fix = true` was set in project `pyproject.toml` file. The flag `--no-fix` was added without checking the version of `ruff` at this moment as it seems to be available in a quite early version.
2024-04-07Make cmake-lint read .cmake-format config file (#4747)Chayoung You
2024-03-14Add support for sqlfluff 3.0.0 (#4743)Shad
As stated in the changelog: "the original fields of line_pos and line_no have been renamed to start_line_pos and start_line_no, to distinguish them from the new fields starting end_*"
2024-03-12Fix 4740 - add hurlfmt linter (#4741)Horacio Sanson
* Fix 4740 - add hurlfmt linter * Fix 4740 - add hurlfmt fixer * Fix wrong comments * Add end_col to qflist * Fix test
2024-03-02Fix: ruff version `0.3.0` cli breaking changes (#4732)Yining
This commit appends `check` to the ruff executable if the version of specified ruff executable is `>= 0.3.0`, as ruff version `0.3.0` deprecates `ruff <path>` in favor of `ruff check <path>`: https://github.com/astral-sh/ruff/releases/tag/v0.3.0
2024-02-28Fix 4586 - Make golangci-lint lint package on by default. (#4730)Horacio Sanson
Checking whole packages instead of individual files is more sensible default for golang projects. Without this we get many cryptic `typecheck` errors in ALE that do not show when running in terminal or CI.
2024-02-27Fix chktex highlighting wrong column when using tabs instead of spaces (#4727)Jorengarenar
* Fix '-s' to be '-S' when setting 'TabSize=1' for chktex Fixes #4712 Closes #4725 * Check if chktex's -S option is available * Check chktex version instead of trying -S option
2024-02-264712 revert chktex 4661 (#4725)Horacio Sanson
* Fix 4712 - revert #4661 * Fix tests
2024-02-24Add full support for biome (#4705)Filip Gospodinov
* Revert "Add biome support for javascript (#4701)" This reverts commit 8922478a83cd06bfe5b82eb45279649adc4ec046. * Add support for biome
2024-02-24Set working directory for Elvis linter (#4726)Dmitri Vereshchagin
Most of the time it works to assume that the current working directory is the root of the project. However, this is not the case for Rebar3 checked out dependencies, for example. It's also worth noting that because of the way Elvis handles file patterns, and because directories in configuration are relative to the project root, the path supplied to command must be also relative.
2024-02-23Add support for gjs template linting using embertemplate lint (#4653)Sam
* super hacky way to get ember template lint to work on gjs files * Clean up code so we use a handler which means we reuse all the config also moves handler to the glimmer directory so it only fires for gjs files * fix tests
2024-02-22Add file mapping to phpstan (#4685)Edwin Huijsing
* PHPStan is now working with filename-mapping See help ale-lint-other-machines for more info about filename-mapping. * Add two tests to show and test what is expected * Missed this update while creating previous commit * Simplified the update We only needed to refactor the processing loop. No extra test are needed.
2024-02-22Slang linter for Verilog. (#4713)AlvinRolling
2024-02-22Update project root detection for erlang_ls linter (#4619)Dmitri Vereshchagin
* Refactor erlang_ls linter tests * Add Rebar3 _checkouts support for erlang_ls linter * Add Erlang.mk support for erlang_ls linter
2024-02-22Adding support for Odin language server (ols). (#4679)Benjamin Block
2024-02-06fix #4687 - only lint one file with actionlint (#4688)Tim Carry
2024-01-14Fix chktex highlighting wrong column when using tabs instead of spaces (#4661)Jorengarenar
* Fix chktex highlighting wrong column when using tabs instead of spaces Fixes #723 chktex implemented feature request [1] for allowing setting options from the command line. Thanks to that we can tell it to treat tab character as of one space width, i.e. one char. That means, after we translate the output back to Vim columns, we get correct numbers. [1]: https://savannah.nongnu.org/bugs/?56486 * Add test_tex_chktex.vader * Use functions to set g: variables in ale_linters/tex/chktex.vim * Update ale_linters#tex#chktex#GetCommand() to use '%e'
2024-01-14Actionlint: correctly parse error line when using shellcheck sublinter (#4689)Tim Carry
2024-01-14Support gleamlsp language server for gleam (#4696)Jonathan Palardy
2024-01-14Stylelint linter output stream can go to stderr (#4702)Nicolas Blanchot
Since [version 13.6.0](https://github.com/stylelint/stylelint/blob/804bb24c75248aba55b009994e4bfb561593a990/CHANGELOG.md?plain=1#L654), following [PR 4799](https://github.com/stylelint/stylelint/pull/4799) `stylelint` errors are sent to `stderr`. Previous versions where sending errors to `stdout`.
2024-01-14Fix E1085: Not a callable type: elm_ls#GetOptions (#4707)samuelhelen
Rename GetOptions to GetInitializationOptions for consistency.
2023-12-10Ruff use json-lines output format (#4656)Finn Steffens
* Ruff use json-lines output format * Fix Ruff: add -q to prevent non json output Using the json-lines output format allows for setting of the end_line, end_col and code field of the handle output. Additionally, the first letter of the code is used to determine the type field. Co-authored-by: w0rp <w0rp@users.noreply.github.com>
2023-12-10fix tempfile for phpmd, to be able to use phpmd 2.14.0 (#4617)Shad
2023-12-08Add support for Scarb in `cairo` files (#4669)MD
* Add support for Scarb in `cairo` files * specify if linter should run on saved
2023-12-07Add clang-check linter for C (#4662)Jorengarenar
* Close #976 - add clang-check to C linters * Update docs
2023-11-08Fix: Ruff output option (#4632)Adam Blackwater
* fix --output-format option * Add conditionally changing flag based on Ruff version
2023-09-17Fix #4499 - Fix solhint >= 3.4.0w0rp
Fix solhint for versions >= 3.4.0, while still supporting older versions. The solhint linter code has been moved out of the `handlers` directory as it does not need to be shared between different filetypes. Code has been simplified. Co-authored-by: Henrique Barcelos <16565602+hbarcelos@users.noreply.github.com>
2023-09-16Close #4541 - Fix Haskell project root detectionw0rp
We weren't joining and returning paths correctly for detecting project roots for Haskell projects, and now we are. Co-authored-by: Rodrigo Mesquita <rodrigo.m.mesquita@gmail.com>
2023-09-16#4454 Clean up more tests and codew0rp
* Remove some tests we no longer need * Delete blocks of redundant code * Compress some tests together to simplify them * Remove a little code for ancient linter versions * Escape more executables we didn't escape before * Rename a deno option that didn't match our conventions
2023-09-14#4607 No conflicts with nvim-lspconfig by defaultw0rp
Default `g:ale_disable_lsp` to a new mode `'auto'` by default. With this setting applied, ALE will now check for the presence of nvim-lspconfig and automatically turn off particular LSP linters if already configured via nvim-lspconfig. For users that do not use `nvim-lspconfig`, everything should work as before.
2023-09-13Add support for Packwerk (#4594)ymap
Packwerk (https://github.com/Shopify/packwerk) is a Ruby gem used to enforce boundaries and modularize Rails applications.
2023-09-11Add lexical for linting elixir projects (#4580)Axel Clark
2023-09-09fix(json): update vscode json lsp name (#4601)Peter Benjamin
* fix(json): update vscode json lsp name * fix(vscodejson): fallback to previous name Co-authored-by: w0rp <devw0rp@gmail.com>
2023-09-09Remove backwards compatibility with ancient setting namesw0rp
2023-09-09Add `--globals vim` to luacheck automaticallyw0rp
luacheck will run with `--globals vim` automatically if the file is in runtimepath and `--globals` hasn't already been configured.
2023-09-05fix(yaml): make actionlint respect config (#4584)Peter Benjamin
* fix(yaml): make actionlint respect config * docs: update actionlint docs * chore: update author & add description * test: move actionlint test to test/linter/
2023-08-01feat(markdown): add marksman lsp (#4565)Peter Benjamin
* feat(markdown): add marksman lsp * docs: add marksman docs * test(markdown): add marksman test Co-authored-by: Peter Benjamin <peter.benjamin@peter.benjamin-FVFHP2WSQ05Q>
2023-07-24fixed parsing errors when certain options are used in glslangValidator (#4540)JoseGRuiz
* fixed parsing errors when certain options are used in glslang * Update glslang.vim set column number to 0 like it is always set by glslangValidator * Added a test for the handler of glslangValidator
2023-07-24Remove gometalinter support (#4534)Craig Rodrigues
gometalinter has been deprecated, and was archived in 2019
2023-07-24chore: update elixir_ls.vim (#4547)Mitchell Hanberg
The project was forked and lived under a new organization
2023-07-24fix(vue): volar v1 support (#4552)Arnold Chand
* fix: volar v1 support * fix: volar linter errors
2023-06-27Remove golint supported-tools (#4535)Craig Rodrigues
golint has been deprecated and was archived in 2019
2023-06-27feat: support Bazel `buildifier` linter (#4529)Chuck Grindel
* Initial buildifier linter files * Add handler test * Fix test when options are not set