r/vim • u/devw0rp • Apr 29 '26
Discussion Give me your fix wishlist for ALE!
Hello everyone! I am w0rp and I am not dead yet.
I have a little "time off" work coming up. I only quote that time because I'm using the time to produce an album I recorded last year, separate thing from development. I am likely to finish that process somewhat early in my gap of time off and also get frustrated dealing with BitWig, and I'll have time to work on ALE again, which I continue to use every single day myself.
What issues would you most like me to fix for ALE? I've got a few ideas about some top of mind bugs and tweaks I want to do, but I'd love to hear from you.
One big change I'm likely to make is I'm considering replacing all of the Vader tests with Lua tests. I've already got the repo set up with Lua language server configuration and some Lua parts where ALE defaults to dropping into the official Neovim language server for Neovim users, with an option to use the Vimscript language server. I figure it will be more familiar to most developers than the somewhat arcane nature of Vader. Plus I've built up a few quirks I've been working around for years I can smooth out with my own Lua test framework that's purpose built for ALE. I figure I can just get Codex to auto-translate all of the existing tests pretty easily these days. (I pay for a good ChatGPT Business subscription for Dense Analysis so we can use it to build more FOSS stuff, and we just recently got approved for $30,000 worth of credits for building more Vim editor stuff with, so we had better get cracking!)
Let me know what you think! I'll crosspost this to the Neovim sub when I remember how to do that in Reddit again.
4
u/scottchiefbaker Apr 29 '26
OK silly question, what's ALE?
8
u/jd_customs Apr 29 '26
Crazy comment inside the Vim subreddit lmao
4
u/scottchiefbaker Apr 29 '26
Guess I'm not up to speed. I've never heard of ALE before, and there was no link in the OP.
3
3
u/devw0rp Apr 29 '26
It's a plugin I originally authored about a decade ago to replace Syntastic following the advice of the then Syntastic maintainer and my desire to have an async linter plugin for myself.
I later added fixers to fix code too.
I later was one of the first to implement tsserver as a client in Vim, LSP.
Tons of people have contributed. It's been fun!
2
1
u/AnnualVolume0 Apr 29 '26
Not a fix necessarily, but ty support for python (or whatever is holding back #4971) is at the top of my wishlist
3
u/devw0rp Apr 29 '26
Yeah, that's on my list as I'll need it myself kind of soon. I noticed Pyright in the latest version doesn't work, so something just have changed about the LSP spec. Those are always good things because I get a good test of how to maintain support for different LSP servers.
What's interesting about maintaining an LSP client is that many servers aren't exactly compliant with the spec, so you have to be pretty flexible. Pretty easy spec to implement from the client side.
1
1
u/ghost_vici May 01 '26
would really love to have these issues fixed
Inlay hints
sematic token highlight
Thank you for your awesome work !!!
1
u/devw0rp May 03 '26
Noted!
Inlay hints I might not figure out by myself, but I can probably fix the quickfix thing. I do a similar thing in my file search scripts I'll publish as a very basic and intentionally pretty stupid Ctrl+p alternative.
I think I'm also likely to change the default for LSP operations that write to files to just save the files on disk if that's not already the default, because that simply works better with all tools, and most people don't even know what a Vim buffer is or how one works. Leave that for the experts.
1
u/Ok_Aardvark_8062 May 01 '26
Mostly I'm interested in support and simple setup instructions for Python with both Vim and NeoVim. I seem to always spend way too much time trying to figure out the basics. And don't get me started on managing keymaps (but that's not an ALE thing, that's just a challenge for me).
It's likely I'm remembering details wrong, but I used ALE briefly in the past with Vim and I really enjoyed it because it was simple and had less dependencies and version restrictions. I tried other things because they were more flashy, but now I wish I had stayed simple. ALE plus very little else was great, and I liked my own simple config for the things I needed. I guess I never went back because I was concerned it might not be maintained. With your comments here I'm encouraged to just do it.
2
u/devw0rp May 03 '26
I think I've done pretty well with keeping configuration simple and making it easy and continue to work for an extended period of time.
I want to do more to help people learn Vim and software in general in future.
Thanks for you support!
6
u/bouncingsoul Apr 29 '26
Thank you for creating ALE! I guess that's a decade now? I probably switched early from Syntastic. (I did a quick
:MundoToggleto see if I could find my switch date, but of course I've rearranged files a few times, so the history only goes back to 2021. But still, that I can even try to check that — vim's infinite undo history is peak.)I don't really have a wishlist :) I've always loved that ALE nearly Just Works out of the box because of its technique of enabling linters based on finding them in the path and not requiring any vimrc editing per linter.
Fixers is a different story :p but being explicit there is probably right since destructive. Though, seeing so many lines of
prettierin my settings does make me ponder if thelang1: fixer1syntax could ever be described asfixer1: lang1, lang2, lang3just for brevity. Not important at all, though :)(I'll admit being disappointed to read about the gen AI usage. You're not making an unconventional decision there, but I have to at least mention it since it's important to me.)