Skip to content

Missing legacy configs #3705

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

Open
18 of 31 tasks
justinmk opened this issue Apr 11, 2025 · 11 comments
Open
18 of 31 tasks

Missing legacy configs #3705

justinmk opened this issue Apr 11, 2025 · 11 comments
Labels
bug Something isn't working

Comments

@justinmk
Copy link
Member

justinmk commented Apr 11, 2025

These legacy configs may require on_new_config, so aren't migrated to the new lsp/*.lua format:

  • angularls
  • apex_ls
  • astro
  • bqnlsp
  • cadence
  • codeqlls
  • drools_lsp
  • eslint
  • glint
  • haxe_language_server
  • jsonnet_ls
  • leanls
  • mdx_analyzer
  • omnisharp
  • openedge_ls
  • powershell_es
  • relay_lsp
  • sourcery
  • tailwindcss
  • vdmj
  • volar
  • zls feat(zls): add vim.lsp.config support #3733

These are the ones which have single_file_support = false:

Originally posted by @TheRealLorenz in #3659 (comment)

@justinmk justinmk changed the title Just to have a reminder, these are the LSPs which rely on on_new_config: Fix legacy configs that still require on_new_config Apr 11, 2025
@justinmk justinmk added the bug Something isn't working label Apr 11, 2025
@justinmk
Copy link
Member Author

@justinmk justinmk changed the title Fix legacy configs that still require on_new_config Missing legacy configs Apr 13, 2025
@justinmk justinmk pinned this issue Apr 13, 2025
@ybc37
Copy link
Contributor

ybc37 commented Apr 13, 2025

efm doesn't has single_file_support = false. Its explicitly set to true: https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/configs/efm.lua#L7.

Is it in this list by mistake and could be migrated to vim.lsp.config?

@TheRealLorenz
Copy link
Contributor

efm doesn't has single_file_support = false. Its explicitly set to true: https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/configs/efm.lua#L7.

Is it in this list by mistake and could be migrated to vim.lsp.config?

I don't use efm myself, so I thought to wait until neovim 0.11.1 in order to also port the documentation which said that older version of efm didn't have single file support.

@rockyzhang24

This comment has been minimized.

@TheRealLorenz
Copy link
Contributor

TheRealLorenz commented Apr 13, 2025

@ybc37 You could use workspace_required to deal with single_file_support, ref: neovim/neovim#31824

It's not available in the current neovim release. Will be in 0.11.1.

ekronborg added a commit to ekronborg/.dotfiles that referenced this issue Apr 14, 2025
After the introduction of vim.lsp.config() and vim.lsp.enable(), the
configuration can be simplified. At this point, the nvim-lspconfig
plugin just acts as a collection of configuration files for language
servers. Note that bitbake_ls does not yet work with the new setup [1],
so it has been commented for now.

When using the 0.11+ setup, it is no longer necessary to add
capabilities from blink [2, 3]. Therefore, this part have also been
dropped.

Also, drop unused (i.e, commented) servers.

[1]: neovim/nvim-lspconfig#3705
[2]: https://github.com/Saghen/blink.cmp/blob/main/plugin/blink-cmp.lua
[3]: https://cmp.saghen.dev/installation
ekronborg added a commit to ekronborg/.dotfiles that referenced this issue Apr 15, 2025
After the introduction of vim.lsp.config() and vim.lsp.enable(), the
configuration can be simplified. At this point, the nvim-lspconfig
plugin just acts as a collection of configuration files for language
servers. Note that bitbake_ls does not yet work with the new setup [1],
so it has been commented for now.

When using the 0.11+ setup, it is no longer necessary to add
capabilities from blink [2, 3]. Consequently, the dependency on
blink.cmp can be dropped. This works because nvim-lspconfig is always
loaded before blink.cmp and thus the language servers are available when
blink loads.

Also, drop unused (i.e, commented) servers.

[1]: neovim/nvim-lspconfig#3705
[2]: https://github.com/Saghen/blink.cmp/blob/main/plugin/blink-cmp.lua
[3]: https://cmp.saghen.dev/installation
@justinmk justinmk marked this as a duplicate of #3732 Apr 16, 2025
@justinmk
Copy link
Member Author

@TheRealLorenz FWIW, may be helpful: neovim/neovim#32037 (comment) : root_dir() can be used to conditionally (per-file) decide whether to enable lsp.

@hankertrix
Copy link
Contributor

@TheRealLorenz Neovim 0.11.1 is released.

ekronborg added a commit to ekronborg/.dotfiles that referenced this issue Apr 27, 2025
After the introduction of vim.lsp.config() and vim.lsp.enable(), the
configuration can be simplified. At this point, the nvim-lspconfig
plugin just acts as a collection of configuration files for language
servers. Note that bitbake_ls does not yet work with the new setup [1],
so it has been commented for now.

When using the 0.11+ setup, it is no longer necessary to add
capabilities from blink [2, 3]. Consequently, the dependency on
blink.cmp can be dropped. This works because nvim-lspconfig is always
loaded before blink.cmp and thus the language servers are available when
blink loads.

Also, drop unused (i.e, commented) servers.

[1]: neovim/nvim-lspconfig#3705
[2]: https://github.com/Saghen/blink.cmp/blob/main/plugin/blink-cmp.lua
[3]: https://cmp.saghen.dev/installation
@haraldan
Copy link
Contributor

Current version of matlab_ls works without issues with single_file_support = true for me. I'm not sure if it was needed in the past. Can it be migrated without this field?

@justinmk
Copy link
Member Author

Send a pr. "single-file support" is the default in vim.lsp.config, and Nvim 0.11.1 added workspace_required flag to allow configs to disable "single-file support".

ekronborg added a commit to ekronborg/.dotfiles that referenced this issue May 9, 2025
After the introduction of vim.lsp.config() and vim.lsp.enable(), the
configuration can be simplified. At this point, the nvim-lspconfig
plugin just acts as a collection of configuration files for language
servers. Note that bitbake_ls does not yet work with the new setup [1],
so it has been commented for now.

When using the 0.11+ setup, it is no longer necessary to add
capabilities from blink [2, 3]. Consequently, the dependency on
blink.cmp can be dropped. This works because nvim-lspconfig is always
loaded before blink.cmp and thus the language servers are available when
blink loads.

Also, drop unused (i.e, commented) servers.

[1]: neovim/nvim-lspconfig#3705
[2]: https://github.com/Saghen/blink.cmp/blob/main/plugin/blink-cmp.lua
[3]: https://cmp.saghen.dev/installation
@FedeAbella

This comment has been minimized.

@justinmk
Copy link
Member Author

@FedeAbella my current suggestion is to define reuse_client and define cmd() as function. There is sample code given there.

Please open a new PR or issue for further discussion, to avoid too many overlapping discussions in this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants