Commit Graph
100 Commits
Author SHA1 Message Date
w0rp 1aaeb2cdae Add other issue types
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
2025-04-26 04:32:53 +01:00
w0rp 05e22db9a2 Add Bug as a bug issue template type 2025-04-26 04:31:16 +01:00
w0rp 366de225fd Mention, but do not scream when a file changes before it is fixed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
2025-04-10 15:17:35 +01:00
w0rp 6433d31f47 Update ale_disable_lsp documentation to clarify options
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
2025-03-29 13:34:22 +00:00
w0rp f3f0b05240 Fix #4935 - Send tsserver messsages to tsserver in Neovim 2025-03-29 13:25:49 +00:00
w0rp add538213f Set up Lua development for Macs with Homebrew
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
2025-03-28 16:20:18 +00:00
w0rp dd23b92ee9 #3600 Implement pull model with Neovim Client
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
Implement the diagnostics pull model with the LSP Neovim client. We
must handle messages a little different and tweak client capabilities
for pull diagnostics to work through the Neovim client.
2025-03-27 12:40:11 +00:00
w0rp f90e72ae1f Close #3600 - Implement pull diagnostics in VimL
Implement pull diagnostics in the VimL implementation so ALE is able
to track when servers are busy checking files. Only servers that
support this feature will return diagnostics these ways.
2025-03-27 12:40:11 +00:00
w0rp 26ffb9dfa3 Implement ale.queue for calling ale#Queue in Lua 2025-03-27 12:40:11 +00:00
w0rp db43854ca3 Implement ale.pad in Lua 2025-03-27 12:40:11 +00:00
w0rp b85e5191a3 Implement ale.get_filename_mappings in Lua 2025-03-27 12:40:11 +00:00
w0rp ecf815891d Add ale.has to mirror ale#Has in Lua 2025-03-27 12:40:11 +00:00
w0rp bd591d47f2 Add basic Lua ALE functions and test coverage
Ensure that basic ALE functions `ale.var`, `ale.escape`, and `ale.env`
are available in Lua. Cover all Lua code so far with busted tests,
fixing bugs where ALE variables can be set with Boolean values instead
of numbers. Document all functionality so far.
2025-03-27 12:40:11 +00:00
w0rp 06f4b6fe25 Detect the Lua project root using .luarc.json 2025-03-27 12:40:11 +00:00
w0rp 400857d758 Implement Lua ALE setup & overhaul documentation
1. Add ale.setup and ale.setup.buffer for pure Lua configuration.
2. Update many global settings to use Booleans instead of numbers to
   make types easiert to work with in Lua.
3. Radically reformat documentation and fix errors to make
   documentation more usable for Neovim users.
2025-03-27 12:40:11 +00:00
w0rp 2280d41b30 Support g:ale_shell with the Neovim LSP client 2025-03-27 12:40:11 +00:00
w0rp cdbd218a82 Add Neovim TCP connections to language servers
Support TCP connections to language servers through Neovim's built in
client. In all but what is currently the nightly builds of Neovim
connections via a hostname will fail, but connections via an IP address
should function. We will still enable the built in Neovim client by
default anyway, as LSP clients very rarely connect over TCP.
2025-03-27 12:40:11 +00:00
w0rp 73b568b071 Supply language_id values to Neovim LSP API
Change logic so ALE's LSP implementation and the Neovim LSP client
retrieve the language_id for language clients at roughly the same time
via the same means. This makes ALE inform the language server what the
language for the language is for clients.
2025-03-27 12:40:11 +00:00
w0rp 4f4d68f153 Fix tests for Neovim LSP integration 2025-03-27 12:40:11 +00:00
w0rp 25547c856e Update documentation for Neovim LSP integration
Update documentation to advertise ALE's integration with Neovim's native
LSP client, and explain how functionality is integrated with ALE,
Neovim's native tools, and other plugins.
2025-03-27 12:40:11 +00:00
w0rp cec1b26d82 Clean up message handling for LSP integration
Now we ought to be able to handle any kind of response for any request
we send, clean up message handling so there are fewer changes to make
to LSP code to adjust for Neovim integration.
2025-03-27 12:40:11 +00:00
w0rp 33377583fd Handle other LSP capabilities via ALE
Save capabilities from language servers ALE connects to via Neovim's LSP
client and handle responses to requests ALE sends to language servers.
This enables ALE to work with Neovim's language client for its commands
while also letting users directly use the connected clients for native
Neovim keybinds and so on.
2025-03-27 12:40:11 +00:00
w0rp 22c741648f Remove the log_level line from Lua code 2025-03-27 12:40:11 +00:00
w0rp 338f3eeb73 Handle Neovim LSP diagnostics via ALE's functions 2025-03-27 12:40:11 +00:00
w0rp 8ee20eca4b Start up language servers with Neovim's API
Get language servers starting and displaying diagnostics with Neovim's
API in Neovim 0.8 and up. With this set up, now ALE needs to take over
handling diagnostics returned by the language servers.
2025-03-27 12:40:11 +00:00
w0rp 9ce2c29df1 Simplfiy zlint configuration and tests 2025-03-18 12:33:58 +00:00
w0rp c4cedeea3f Remove unreliable yls test for now 2025-03-18 11:57:49 +00:00
w0rp f3b6269388 Make yls tests work better locally 2025-03-18 11:38:47 +00:00
w0rp 1c91102112 Bump the ALE version to 4.0.0
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
2025-03-14 11:58:10 +00:00
w0rp 8506d0d1ae Fix the ftplugin for ALEInfo in Vim 8.0
CI / build_image (push) Waiting to run
CI / test_ale (--linters-only) (push) Blocked by required conditions
CI / test_ale (--neovim-07-only) (push) Blocked by required conditions
CI / test_ale (--neovim-08-only) (push) Blocked by required conditions
CI / test_ale (--vim-80-only) (push) Blocked by required conditions
CI / test_ale (--vim-90-only) (push) Blocked by required conditions
2025-03-14 09:40:08 +00:00
w0rp 15bf26632c Close #4618 - Do not show info for the ALEInfo window 2025-03-14 09:19:41 +00:00
w0rp a49943aa62 Update GitHub Actions to test with Neovim 0.7 2025-03-11 13:06:21 +00:00
w0rp 564369db58 Update the minimum supported Neovim version to 0.7 2025-03-11 13:04:52 +00:00
w0rp 3220b94d20 Fix #4714 - Handle ruff garbage
When ruff outputs errors are invalid JSON text, handle that and stop ALE
from throwing exceptions.
2024-07-08 03:22:46 +01:00
w0rp c7c41e1574 Run actionlint by default on GitHub files
Detect paths containing .github as a directory for running actionlint
by default on YAML filetypes.
2024-06-02 19:07:06 +01:00
w0rpandHenrique Barcelos 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
w0rpandRodrigo Mesquita 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
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
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
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
w0rp 108e858d61 Update minimum supported NeoVim version to 0.6.0
Stop officially supporting NeoVim versions below 0.6.0, without
necessarily breaking ALE for people using older versions.
2023-09-07 20:01:31 +01:00
w0rp 14350dbb0d Close #3368 - Supercharge :ALEInfo
Make a series of sweeping changes to make :ALEInfo more useful.

1. Deprecate :ALEInfoToClipboard and support :ALEInfo -clipboard
2. Permit :ALEInfo -clip as a shorthand for :ALEInfo -clipboard
3. Support :ALEInfo -preview to render in the preview window
4. Support :ALEInfo -echo for the classic :ALEInfo mode
5. Change the default mode to 'preview', and make it configurable
6. Add syntax highlighting for ALEInfo in preview mode
7. Add a convenience to look up documentatation that explains itself
8. Don't show an empty 'Linter Variables' section
2023-09-06 00:21:58 +01:00
w0rp 551fbcfb09 Add an option to save hidden buffers
When commands are run, it can be useful to just save the hidden buffers
so language servers immediately get updated with changes to files
without you having to manually save each file. You can now enable this
by setting `g:ale_save_hidden` to `1`.
2023-09-06 00:17:27 +01:00
w0rp 8ba7ae818c Close #4461 - Use rust-analyzer by default
Use rust-analyzer by default instead of rls, as rls has been deprecated.
2023-09-05 21:45:34 +01:00
w0rp 16f5a1915b Fix a typo in the README 2023-03-07 03:54:48 +00:00
w0rp aca71daa2e Close #4441 - Update FAQ and add "Why ALE?" 2023-03-07 03:50:18 +00:00
w0rp 39c76cf6af Fix vim-plug and Vundle headings 2023-03-07 02:39:57 +00:00
w0rp d5a3da19d4 Fix installation text 2023-03-07 02:39:19 +00:00
w0rp 40c1b17e2f Remove Table of Contents and simplify installation section 2023-03-07 02:38:03 +00:00
w0rp 96f0bf7172 Fix windows virtualenv PATH tests 2023-03-07 02:11:43 +00:00
w0rp bb691d6dee #2172 - Expand PATH in the shell for automatic virtualenv 2023-03-07 01:59:11 +00:00
w0rp c3f9bccb8c Ignore shellcheck error in run-vader-tests 2023-02-13 04:43:45 +00:00
w0rp ab7757b532 Clean up run-tests syntax 2023-02-13 04:24:54 +00:00
w0rp ae2d47ba83 Attempt to fix auto virtualenv on Windows 2023-02-08 09:44:25 +00:00
w0rp 2a24b4e0d1 Fix CI BS 2023-02-08 09:25:15 +00:00
w0rp 4c162877e2 #2172 Auto PATH with ale_python_auto_virtualenv
Automatically set `PATH` for some Python linters that seem to need it
when g:ale_python_auto_virtualenv or b:ale_python_auto_virtualenv is
`1`.
2023-02-08 09:11:31 +00:00
w0rp 6ff1f0b200 Close #4389 - Run pyright via poetry, pipenv, venv
Add support for automatically detecting and running Pyright via poetry,
pipenv, and virtualenv directories just like we do with flake8.
2023-02-08 08:24:16 +00:00
w0rp f2a21c960a Add support for lua-language-server 2023-02-08 01:14:47 +00:00
w0rp da5fa17df1 Fix broken tag references and the broken script to check them 2023-02-07 18:41:13 +00:00
w0rp 69c1dc8b5f Fix #4413 - Avoid errors for invalid buffers in ale#virtualtext#Clear 2023-01-06 19:02:35 +00:00
w0rp 0f51c3b01b Fix #4410 - Ignore prop_add errors 2023-01-04 15:13:21 +00:00
w0rp 457e0a50f1 Fix #4331 - Shift line 0 errors to line 1 for virtual-text 2022-12-27 23:40:49 +00:00
w0rp a18472cc58 Close #4401 - Use subtle defaults for virtual-text
Default virtual-text to the Comment highlight group and prefix
virtual-text messages with comment text for each language by default.

Messages can now be formatted with `%type%` to print the error type.

The Vim 9.0 version has been updated in the Docker image to add test
coverage for virtual-text.
2022-12-27 23:11:53 +00:00
w0rp 98b2ef438e #4400 - Remove virtual-text defaults from highlight.vim 2022-12-27 16:24:10 +00:00
w0rp fe61e00040 Fix #4400 - Separate virtual text highlight groups to avoid errors 2022-12-27 15:36:35 +00:00
w0rp 3cb4f33a9a Fix #4399 - Manage virtual-text state better 2022-12-26 15:56:34 +00:00
w0rp 31010ad1d1 Update ALE to v3.3.0 2022-12-25 20:30:21 +00:00
w0rp 9f2a000237 Close #4396 - Enable virtualtext by default
Wherever it's supported, enable virtualtext by default.
2022-12-25 20:18:47 +00:00
w0rp 300ea232de Close #4397 - Add human-readable values for g:ale_virtualtext_cursor 2022-12-25 19:29:16 +00:00
w0rp 522b5d0433 Fix markdownlint documentation 2022-12-25 15:47:30 +00:00
w0rp 2ae04b310a Enable ruff for Python by default 2022-12-25 15:13:10 +00:00
w0rp 87b4ab4e20 Document how to create ALE releases 2022-12-24 22:16:36 +00:00
w0rp bc95701575 Fix #4388: Fix pylsp and Pyright cwd
Add functions to compute the cwd to be the same as the project root for
pylsp and Pyright to work around issues in each language server when
they encounter modules that share the same name as first or third party
libraries.
2022-12-24 13:37:57 +00:00
w0rp 46e77fad77 Remove a flaky smoke test we no longer need 2022-11-25 12:58:14 +00:00
w0rp f10349b48b Replace gitter badge with Discord 2022-06-08 15:26:25 +01:00
w0rp 9e1089c38d Recommend Discord instead of IRC, actually 2022-06-08 15:22:21 +01:00