Commit Graph

4429 Commits

Author SHA1 Message Date
Jorengarenar 94f764631d
Fix chktex highlighting wrong column when using tabs instead of spaces (#4661)
* 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-14 21:04:23 +09:00
Yining 3dbf0b2202
add: support for `rubyfmt` as `ruby` fixer (#4678)
[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-14 20:59:20 +09:00
Tim Carry 17cca243e3
Actionlint: correctly parse error line when using shellcheck sublinter (#4689) 2024-01-14 20:51:39 +09:00
Brandon Maier d63f5e6a77
Add end_col and end_lnum to ShellCheck (#4692)
* 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-14 20:47:42 +09:00
Jonathan Palardy ebc6718c0a
Support gleamlsp language server for gleam (#4696) 2024-01-14 20:43:59 +09:00
Nicolas Blanchot 32e6fc5975
Stylelint linter output stream can go to stderr (#4702)
Since [version 13.6.0](804bb24c75/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-14 20:43:31 +09:00
Ingo Meyer 562680e786
Use different group names for signs and virtual text (#4704)
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`.
2024-01-14 20:29:10 +09:00
samuelhelen 143074a780
Fix E1085: Not a callable type: elm_ls#GetOptions (#4707)
Rename GetOptions to GetInitializationOptions for consistency.
2024-01-14 20:28:29 +09:00
Finn Steffens 9a23ec1f60
Ruff use json-lines output format (#4656)
* 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-10 11:45:01 +00:00
Shad ecc796b3d7
fix tempfile for phpmd, to be able to use phpmd 2.14.0 (#4617) 2023-12-10 11:11:29 +00:00
MD 71718722b2
Add support for Scarb in `cairo` files (#4669)
* Add support for Scarb in `cairo` files
* specify if linter should run on saved
2023-12-08 22:13:37 +00:00
Yining 32ee7039d0
add: support for `nickel format` as `Nickel` fixer (#4665)
Nickel(https://nickel-lang.org/) is a configuration language, like
Jsonnet, Cue, Dhall.

`nickel`(https://github.com/tweag/nickel) is the main command to run,
export and also format Nickel code.

this commit adds `nickel format` as a Nickel fixer, together with some
tests and documentation.
2023-12-07 14:55:14 +00:00
Jorengarenar fc45a935bf
Add clang-check linter for C (#4662)
* Close #976 - add clang-check to C linters

* Update docs
2023-12-07 14:49:37 +00:00
D. Ben Knoble 1ccd99e113
add b:undo_ftplugin (#4625) 2023-11-19 09:13:56 +00:00
Joseph Henrich 5cddc4c8e1
Adding support for ruff formatter (#4645) 2023-11-16 12:12:40 +00:00
Adam Blackwater 50e237facd
Fix: Ruff output option (#4632)
* fix --output-format option
* Add conditionally changing flag based on Ruff version
2023-11-08 21:44:11 +00:00
Julian Gong 901d3ff8dd
Fix a typo in README.md (#4647)
Co-authored-by: Julian Gong <julian@meds.com>
2023-11-05 18:22:41 +00:00
w0rp 53b01d6a54
Fix #4499 - Fix solhint >= 3.4.0
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-17 17:24:23 +01:00
w0rp bd9fc580a1
Close #4541 - Fix Haskell project root detection
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 23:25:39 +01:00
w0rp dca621b675
Fix #4505 - Handle spaces in markdown fences 2023-09-16 23:04:46 +01:00
w0rp e412fa34ff
Fix #3115 - Fix environment variable quoting on Windows 2023-09-16 22:33:59 +01:00
w0rp ae1d051504
#4454 Clean up more tests and code
* 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-16 22:23:30 +01:00
pokir 4b11cf21dc
Fix grammar in ale-java.txt (#4611) 2023-09-16 22:06:13 +01:00
w0rp cf270a1ada
Stop supporting ale_lsp_root
We renamed the ale_lsp_root setting to ale_root long ago. Stop
supporting the old setting name.
2023-09-16 17:17:42 +01:00
w0rp 1799f8bec6
Close #4458 - Add an ALEStopLSP command
Add an ALEStopLSP command to stop all language servers that match a
given name. Completions are available for the command. This makes it
possible to keep other language servers running other than the one
you're interested in stopping.
2023-09-16 17:03:02 +01:00
w0rp be69af2705
#4607 No conflicts with nvim-lspconfig by default
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-14 00:40:56 +01:00
ymap 9092af9ad6
Add support for Packwerk (#4594)
Packwerk (https://github.com/Shopify/packwerk) is a Ruby gem
used to enforce boundaries and modularize Rails applications.
2023-09-13 15:53:24 +01:00
Axel Clark ac615e7f65
Add lexical for linting elixir projects (#4580) 2023-09-11 13:48:11 +01:00
w0rp 1bf445c6d5
Print the most severe problem with virtualtext
Fix the ordering of virtualtext so we print the most severe problem on a
line. If two problems are the most severe, we will print the left-most
problem.
2023-09-10 17:44:25 +01:00
w0rp 385dc4130c
Show a single virtualtext message by default
Show only a single virtualtext message per line by default. The setting
can be configured to whatever the user wants. This default prevents
several linters from spamming the editor with messages that run off into
the right margin.

Documentation now clarifies that problems have a predictable order, and
which message will come first.
2023-09-10 17:22:16 +01:00
Peter Benjamin 61892e8586
fix(json): update vscode json lsp name (#4601)
* fix(json): update vscode json lsp name
* fix(vscodejson): fallback to previous name

Co-authored-by: w0rp <devw0rp@gmail.com>
2023-09-09 23:28:38 +01:00
w0rp 92267a14ba
Remove backwards compatibility with ancient setting names 2023-09-09 23:13:44 +01:00
w0rp 7b56ddc3f6
Close #4481 Try .venv first, drop ve-py3
.venv was going to be the officially recommended default virtualenv
directory name in PEP 704, which was not accepted. Still, poetry uses
this name by default, as do other projects. We can deem it the first
name we should try to search for.

ve-py3 was a directory name I can't find mentions of online, and was
used in my own projects during the days of migrating from Python 2 to 3.
We can just drop it, and people can update their settings if they still
need it.
2023-09-09 22:57:01 +01:00
w0rp 65f0fd0d6a
#4442 - Use the same default signs as Neovim diagnostics 2023-09-09 16:44:54 +01:00
w0rp a16f060481
Close #4442 - Use Neovim diagnostics by default
Use Neovim's diagnostics API by default in recent enough Neovim
versions. This will make problems found by ALE play nicely with problems
found by other tools.
2023-09-09 16:34:55 +01:00
w0rp 0a135456a6
Clean up documentation typos and formatting 2023-09-09 15:40:30 +01:00
w0rp d2c2bbf2dc
Add `--globals vim` to luacheck automatically
luacheck will run with `--globals vim` automatically if the file is in
runtimepath and `--globals` hasn't already been configured.
2023-09-09 14:01:00 +01:00
w0rp 79a2dc2d8a
#4442 Display error codes in Neovim diagnostics 2023-09-09 00:10:27 +01:00
w0rp e4411276a5
#4442 Configure signs in Neovim diagnostics
Respect ALE's options to enable/disable signs in Neovim diagnostics,
and use ALE's priority setting.
2023-09-08 23:54:16 +01:00
w0rp dadc778451
#4605 Use a single time for InsertLeave emulation
Use a single timer for InsertLeave emulation to optimise it for many
buffers, and specifically lint the buffer we entered insert mode on.
2023-09-08 18:51:04 +01:00
w0rp dd3abf1ad9
Close #4605 - Emulate InsertLeave mode
Use a repeating timer to emulate InsertLeave mode for users who have not
rebound <C-c> to <Esc>, like many experienced Vim users do. This allows
ALE to start linting when you finish typing by default without having
to know about this quirk in Vim or Neovim.
2023-09-08 18:42:45 +01:00
w0rp bf55175b69
#4454 Clean up root test directory tests
Combine cases into smaller tests of tests and remove tests we no longer
need. Linter tests have been moved to where they should be.
2023-09-08 01:00:35 +01:00
w0rp e5816964d1
Give up on Windows tests again for now
Add directories and files to AppVeyor to make it skip running if it
doesn't need to run.
2023-09-07 21:20:58 +01:00
w0rp 89428cb957
Try windows-2019, as windows-latest is slow as Hell 2023-09-07 21:06:44 +01:00
w0rp 0d07f4dba6
Try to fix building Vader again 2023-09-07 20:57:13 +01:00
w0rp bf8e7f6368
Stop redirecting error streams for Vader build 2023-09-07 20:54:35 +01:00
w0rp 752acbe79b
Try http:// for downloading Vim 2023-09-07 20:52:42 +01:00
w0rp 9713faf192
Attempt running Windows rests relative to GitHub dir 2023-09-07 20:47:20 +01:00
w0rp d52c3db238
Try to fix GitHub Actions 2023-09-07 20:38:32 +01:00
w0rp 99a33d8d3f
Try to test ALE on Windows in GitHub 2023-09-07 20:29:35 +01:00