Commit Graph

22 Commits

Author SHA1 Message Date
w0rp
add538213f Set up Lua development for Macs with Homebrew
Some checks failed
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
Some checks failed
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
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
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
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
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
JINNOUCHI Yasushi
61191dd4bf feat: remove logic for unsupported older Neovim (#4921)
See #4872

Now we no longer support Neovim 0.6 or older, we can remove logic in Lua code for supporting it.
2025-03-11 19:57:38 +00:00
JINNOUCHI Yasushi
e4a2bff0f2 Consider the original config for signs in Neovim (#4872)
Some checks are pending
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
Preserve a user-configured sign priority in Neovim if set, and use the ALE setting if not configured otherwise.
2025-03-11 13:14:21 +00: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
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
xu0o0
ea27441834 fix(neovim): ignore unrelated diagnostics (#4597)
Fix the NeoVim diagnostics bridge so it only sends over diagnostics relevant to the current buffer.
2023-09-05 14:34:33 +01:00
jiz4oh
f04887740d Fix mismatched type on compare g:ale_virtualtext_cursor (#4476) 2023-03-09 08:55:49 +00:00
Ben Boeckel
116d713f63 diagnostics: support sending ALE output to Neovim's diagnostics API (#4345)
Support replacing ALE's display of problems with sending problems to the Neovim diagnostics API.

:help g:ale_use_neovim_diagnostics_api

Co-authored-by: David Balatero <dbalatero@users.noreply.github.com>
Co-authored-by: Georgi Angelchev <angelchev@live.co.uk>
Co-authored-by: w0rp <devw0rp@gmail.com>
2023-01-29 17:25:09 +00:00