summaryrefslogtreecommitdiff
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-07-02When ruff version is >=0.5.0 use 'ruff check <path>' instead of 'ruff ↵Tom Bourton
<path>' (#4802)
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-25fix(biome): find root when using biome.jsonc (#4774)Braden Kelley
Since biome supports either `biome.json` or `biome.jsonc` config files, we need to look for both when searching for the LSP project root. We can also look for a package.json or .git folder to use. This uses mostly the same logic as deno.
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-24README.md: fix typo: there should be a comma (#4797)Alexey Vazhnov
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-21fix(biome): run all enabled biome fixers (#4763)Braden Kelley
- based on biome config, will format, lint, and/or sort imports - adds variable to apply unsafe fixes, disabled by default fixes: #4754
2024-06-21fix(biome): use temp file instead of stdin (#4775)Braden Kelley
biome handles utf8 characters differently between files and stdin, and in some cases can replace emojis with ascii characters when using stdin refs: biomejs/biome#2604
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-31Fix eslint cwd strategy (#4781)ghsang
Change eslint cwd to follow configuration file paths.
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-05-01Implement listing all returned results for LSP textDocument/implements (#4755)Bryan Garber
* Fix list of definitions * Fix when LSP returns single response on definition/implementation * Update tag stack on ShowSelection
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-20feat: detect ESLint flat config (#4753)Mathew Attlee
2024-04-17Add htmlbeautifier support (#4751)Arash Mousavi
2024-04-07Added fix subcommand options (#4746)Kevin Van Leer
php-cs-fixer command line options are ordered. Options that appear after the main command are applied to the main command. Options that appear after the subcommands are applied to the subcommands. This change enables a user to specific fix options (like --config). This change also sets the plugin to find the the configuraiton file in the current project tree. This matches the default behavior of other linters like eslint.
2024-04-07Make cmake-lint read .cmake-format config file (#4747)Chayoung You
2024-03-20Fix typos (#4745)elig0n
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-12docs: Add lazy.nvim configration #4694 (#4739)Andrew Brunker
* docs: Add lazy.nvim configration #4694 * docs: fix typo, and add lazy.nvim configuration example
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-12Add support for .eslintrc.cjs (#4742)Mathew Attlee
2024-03-02Fix biome formatter (#4733)David Dominguez
* Fix biome formatter Added escaped executable to the biome#Fix command * Added fixer callback 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 4721 - force latex language id on cspell for tex filetype (#4724)Horacio Sanson
* Fix 4721 - force latex language id on cspell for tex filetype * Fix tests
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-22Add wiki link to ShellCheck linting (#4681)Brandon Maier
The ShellCheck integrations wiki suggests providing users with more info by linking back to the ShellCheck wiki. https://www.shellcheck.net/wiki/Integration#linking-to-the-wiki
2024-02-22[hover] ParseLSPResult sets language 'text' for missing spec (#4699)Oliver Albertini
I have an LSP that is returning markdown code blocks on Hover with no language specified, e.g. ```` ``` Foobar ``` ```` As a result, you get "```" in the message line which is not that useful. I made the regex to catch the first code fence accept empty language as well, and if it's empty, we set it to "text". This makes it so that LSPs that return no language still produce legible restuls on the message line. Co-authored-by: Oliver Ruben Albertini <ora@fb.com>
2024-02-06fix #4687 - only lint one file with actionlint (#4688)Tim Carry
2024-02-06Support 'gleam format' as Gleam fixer (#4710)Jonathan Palardy
2024-01-14Add biome support for javascript (#4701)Akiomi Kamakura
2024-01-14Add language id of cspell (#4700)ohakutsu
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-14add: support for `rubyfmt` as `ruby` fixer (#4678)Yining
[rubyfmt](https://github.com/fables-tales/rubyfmt) is a formatter for `ruby` code. This commit adds support for `rubyfmt` as a `ruby` fixer (#2991), together with some tests and documentation.
2024-01-14Actionlint: correctly parse error line when using shellcheck sublinter (#4689)Tim Carry
2024-01-14Add end_col and end_lnum to ShellCheck (#4692)Brandon Maier
* Add end_col and end_lnum to ShellCheck ShellCheck supports a JSON format mode which includes an 'endLine' and 'endColumn' field. We must use the newer 'json1' format as it properly treats tabs as a single character. 'json1' was not supported until v0.7.0 in 2019[1], so we maintain support for the older GCC based format. [1] https://github.com/koalaman/shellcheck/blob/v0.9.0/CHANGELOG.md?plain=1#L121 * Add wiki link to ShellCheck json output
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-14Use different group names for signs and virtual text (#4704)Ingo Meyer
Since Neovim commit c4afb9788c4f139eb2e3b7aa4d6a6a20b67ba156, the sign API uses extmarks internally. Virtual text is already rendered using extmarks. ALE uses the same group name for both signs and virtual text and as a result, both are placed in the same extmark group. Since ALE deletes all extmarks in the virtual text group after all signs have been placed, no signs are ever shown. This commit fixes this by renaming the sign group from `ale` to `ale_signs`.