I changed my #neovim auto-formatting config from null-ls to efm.

That was a pain, but now I understand how things work it's clear that it's working great 🙂

@pipoprods hmmm, I'm still using null-ls at mo but I hear they're stopping developing it. To be honest, I've always struggled to understand what it did, though without it I remember not being happy!

How is efm different to null-ls? From the readme it seems to just be like an LSP that calls external linters. But doesn't null-lsp have more magic powers than that?

#neovim #nulllsp #neovimPlugin

@artfulrobot @pipoprods if it comes to null-ls it's not even that they stop developing it, it's a month since it's archived on Github now and about 2 months or more with no working on it.

But as long as it'll work, I'm not switching to anything else.

@djvdq @pipoprods what features does null-lsp provide for you?
@artfulrobot @pipoprods TBH I use it for only one thing, to integrate Python's Flake8 to Neovim to work in an LSP-ish way. And I've also enabled stylua to format my lua configs on save, but tbh I don't need it at all.

@djvdq @artfulrobot

null-ls development is stopped and the maintainers warn that the way it's written, it will surely break in the future.

I switched to be safe on this point.

null-ls & efm both provide a LSP interface to run formatters or linters.

@djvdq @artfulrobot

How is efm different from null-ls? Once configured, probably not much (I didn't find any real difference).
The main difference I've found is that null-ls comes with integration for many tools that you'll have to setup yourself in efm.

I've been a bit lost at the beginning but after a while I started to go and pick configuration in null-ls repo to add to my efm config.

@pipoprods @artfulrobot I'm aware it'll break in the future, but TBH I'm lazy. When it will finally break, I'll just revert to the latest working version and then look for an alternative (or just stop using it, as I don't really need it that much)

@artfulrobot @pipoprods Have you checked out conform?

https://github.com/stevearc/conform.nvim

I mostly use the built-in formatting provided by the language server (vim.lsp.buf.format()), but I have some cases where it doesn't work as expected, and I use conform for those.

GitHub - stevearc/conform.nvim: Lightweight yet powerful formatter plugin for Neovim

Lightweight yet powerful formatter plugin for Neovim - stevearc/conform.nvim

GitHub
@dpom @artfulrobot Thanks for the link. I bookmarked it so I can find it later when I need it (which will probably arise some day 😛)
@dpom @pipoprods interesting, I'll take a look thanks.