dundalek / lazy-lsp.nvim

Neovim plugin to auto install LSP servers
MIT License
203 stars 17 forks source link

Add biome lsp #45

Closed danruto closed 1 month ago

danruto commented 4 months ago

Adds in Biome LSP to the list of available plugins.

Biome is an alternative linter to ESLint and an alternative formatter to Prettier as one binary. Configuration is via a single biome.json file with a set of recommended rules found here with the list of more detailed rules are here.

dundalek commented 1 month ago

Sorry, this slipped my attention. It is always good to include some description, it makes the PR review more actionable.

What is your experience with biome? Do you use it personally or just adding it for the sake of completeness?

I tried its predecessor Rome, it did not work very well and seemed to hog CPU. Did Biome have some significant development recently? Otherwise we might choose not to include it to avoid bad experience for people.

danruto commented 1 month ago

Hi @dundalek

No problem, I'll add a description.

RE: Experience. It's been pretty good, I can't commit on how it compares to Rome because I didn't try it at the time due to it's feature completeness, but for biome I've found it quite good. It seems to use next to no CPU (0.1% for my desktop in the 20ms it takes to run biome check --write on 167 files, 0% during just regular usage) and runs very fast esp. when comparing it to ESLint and Prettier.

Biome has had a fair amount of releases over the last year.

I do agree though that it should be an optional package as it is still not mature enough for a large project (due to missing lint/rules for some eslint plugins). But including it shouldn't be an issue as it should fallback to ESLint/Prettier when it isn't installed?

dundalek commented 1 month ago

Thanks for the details, that makes sense, good to know biome keeps improving. The master branch diverted a bit, so I created a separate commit to add it: https://github.com/dundalek/lazy-lsp.nvim/commit/faedf30d6e858a32e635a9640d10f7b44a878847