Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

null-ls.nvim has been archived #851

Open
Tracked by #1259
vollowx opened this issue Jul 10, 2023 · 20 comments
Open
Tracked by #1259

null-ls.nvim has been archived #851

vollowx opened this issue Jul 10, 2023 · 20 comments
Labels
complexity:high High-risk, potential for delicate/cascading effects enhancement New feature or request lsp LSP related issues status:blocked-external Needs a third-party / external change or fix upstream Upstream (neovim/plugin) issues

Comments

@vollowx
Copy link
Contributor

vollowx commented Jul 10, 2023

See this issue

@vollowx vollowx added bug Something isn't working lsp LSP related issues labels Jul 10, 2023
@vollowx vollowx changed the title null-ls.nvim is going to be achieved null-ls.nvim is being archived Jul 10, 2023
@Jint-lzxy Jint-lzxy added enhancement New feature or request complexity:high High-risk, potential for delicate/cascading effects upstream Upstream (neovim/plugin) issues status:blocked-external Needs a third-party / external change or fix and removed bug Something isn't working labels Jul 10, 2023
@CharlesChiuGit
Copy link
Collaborator

maybe we should roll back to efm? or wait for the fork?

@Jint-lzxy
Copy link
Collaborator

IMO we can wait for a while to see if there's any progress

@Jint-lzxy
Copy link
Collaborator

Several interesting points on moving forward & possible perplexity: https://youtu.be/oy_-hQdkoXg.

@CharlesChiuGit
Copy link
Collaborator

Several interesting points on moving forward & possible perplexity: https://youtu.be/oy_-hQdkoXg.

I just saw this last night lol.

@ayamir
Copy link
Owner

ayamir commented Jul 14, 2023

Don't be hurry, waiting a better fork/successor for a while. Of course, we can also rollback to efm.

@CharlesChiuGit
Copy link
Collaborator

https://www.reddit.com/r/neovim/comments/150t159/null_ls_alternatives_solutions

@Rinyaresu
Copy link

https://github.com/nvimdev/guard.nvim 👀

@CharlesChiuGit
Copy link
Collaborator

nvimdev/guard.nvim 👀

I'm also looking the status of the plugin closely, since it's by glepnir.

@aarnphm
Copy link
Collaborator

aarnphm commented Aug 19, 2023

unpopular opinion: glepnir plugin moves faster than the speed of light, which makes living on the edge nice, with a huge burden to always try to keep up with every plugin changes 😄

@vollowx

This comment was marked as duplicate.

@vollowx vollowx changed the title null-ls.nvim is being archived null-ls.nvim has been archived Aug 19, 2023
@ayamir
Copy link
Owner

ayamir commented Sep 30, 2023

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

@vollowx
Copy link
Contributor Author

vollowx commented Sep 30, 2023

The most acceptable way for myself.

@aarnphm
Copy link
Collaborator

aarnphm commented Sep 30, 2023

stevearc/conform.nvim

From a quick look at the library, it seems like they have yet to have support for lazy initialisation. So this probably will need to couple with LSP config 🤔

@vollowx
Copy link
Contributor Author

vollowx commented Oct 1, 2023

Also, you may use nvimtools/none-ls.nvim as a successor.

@CharlesChiuGit
Copy link
Collaborator

@Mythos-404
Copy link

https://www.reddit.com/r/neovim/comments/1865vvi/formatternvim_or_conformnvim/

After I replaced null-ls with conform.nvim I found that conform.nvim has these advantages over

  1. startup speed improvement
  2. performance improvement when formatting
  3. formatting without breaking code folding
  4. the ability to specify a range of formatting

@Jint-lzxy
Copy link
Collaborator

IMO maybe we could consider splitting the functionalities provided by null-ls (or none-ls as it's now called) between two separate implementations (like conform.nvim + efm-langserver). As @CharlesChiuGit pointed out here, code formatting is just one aspect of what null-ls offers - it's more like a general-purpose language server, with features like code actions, linting, and more. But considering not every workflow uses functionalities other than code formatting, we could make efm an optional plugin (kinda like settings.use_copilot). I can try to implement this when I have some free time and see how it goes lol

@aarnphm
Copy link
Collaborator

aarnphm commented Dec 12, 2023

I think the "correct" way to do this is

  • lsp stays as it is, since it is supported from neovim
  • linting should be separated outside (maybe to use something like nvim-lint) to avoid the pitfall of null-ls
  • formatter should also split out. if needed we can support multiple backends (conform.nvm, efm-langserver, etc.)

For code actions, I feel like it should depends on language-specific. For example, typescript plugins (don't really remember what the specific name is) does have Codeaction, so does rust-tools, clang_extensions.

For all of the things that is not supported by default editors, I feel like we shouldn't do anything more. (my philosophy with editor is sometimes less is more)

@vollowx
Copy link
Contributor Author

vollowx commented Dec 15, 2023

@aarnphm agree, some LSP servers has their own formatting features which are called by vim.lsp.buf.format, and I don't think these features should be mixed up and implemented by one plugin.

@aarnphm
Copy link
Collaborator

aarnphm commented Dec 15, 2023

@aarnphm agree, some LSP servers has their own formatting features which are called by vim.lsp.buf.format, and I don't think these features should be mixed up and implemented by one plugin.

Ye the users responsibility is to call vim.lsp.buf.format, and that's what conform.nvim did . well additionally with the rangeFormatting support, but nothing other than just lsp functions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity:high High-risk, potential for delicate/cascading effects enhancement New feature or request lsp LSP related issues status:blocked-external Needs a third-party / external change or fix upstream Upstream (neovim/plugin) issues
Projects
None yet
Development

No branches or pull requests

7 participants