Tested with `php` and `kotlin` Extras.
`kotlin` Extra doesn't have the debug adapter in Mason
`ensure_installed` and doesn't install automatically on its own.
`php` Extra has the debug adapter defined in Mason `ensure_installed`
and does correctly install automatically. However, this should not be
needed due to `mason-nvim-dap`. If you remove [these
lines](https://github.com/LazyVim/LazyVim/blob/ed93ce9c15cfe121b9cfb946b06b0449ae44486a/lua/lazyvim/plugins/extras/lang/php.lua#L26-L33),
then the debug adapter doesn't automatically install, but it should.
With the change introduced in this PR, both Extras automatically install
the debug adapters. `kotlin` Extra doesn't need anything else and in
`php` Extra the lines I mentioned previously can be removed or not. The
point is not to remove previously Mason dependencies with debug
adapters, but to correctly configure `mason-nvim-dap`, so in future
Extras you don't have to define the debug adapter inside a Mason
dependency.
According to the maintainer of `rustaceanvim` (see his comment [here](https://github.com/LazyVim/LazyVim/pull/2198#issuecomment-1999475044)) he says
> To pick up on this: There's a good reason rustaceanvim doesn't automatically pick up a mason.nvim installation. It will most likely be built with a different toolchain than the one your project uses, often leading to discrepancies and subtle bugs.
It's easy to configure rustaceanvim to use mason.nvim if you really want it, but I generally adhere to the YAGNI principle.
I tried locally and the removal of `rust-analyzer` from `nvim-lspconfig` doesn't
seem to have any effect on how `rustaceanvim` behaves.
I propose to remove all instances of `rust-analyzer` from `nvim-lspconfig` to avoid
any possible issues from users that don't have `rust-analyzer` installed
in their toolchain (in this case it would pick up Mason's $PATH I
believe), since they will think that since `rust-analyzer` is installed
by Mason, there shouldn't be a problem and report issues as bugs.
`LazyVim.config` gets evaluated during the parsing phase with `opts`
as a table (thus not taking into account changes made in the user's
personal configuration for the icons), so make `opts` a function to
defer the evaluation until the plugin loads.
* fix(mini.starter): buf_id in refresh() is not an identifier of valid Starter buffer
Fixes#3207.
* fix(mini.starter): just do `do VimResized` for simpler approach
* fix(python): make both `ruff` and `ruff_lsp` available to user
Provide global variable to choose between `ruff` and `ruff_lsp` in
accordance to `pyright`/`basedpyright`
* refactor(python): ruff stuff
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
* feat(lualine): make path trimming configurable by user
* fix: always split both forward/backward slashes
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>