LazyVim.LazyVim/lua/lazyvim
Tim Macfarlane 85e4118065
fix(lsp): don't leak keymaps from LSP server configs (#4849)
## Description

I found an issue where if I'm editing files of different types, say for
example `.cs` and `.py` files, they will naturally load the
corresponding LSPs for each language. However, if one of those LSPs has
keys defined in their `server` config section, then those key maps will
leak into the other, so in this case, the `gd` (go to definition)
mapping intended for `.cs` buffers is now present in `.py` buffers,
causing it not to work. This is currently the case with the `omnisharp`
LSP, as it defines a `gd` key map, see:
63150fa4c5/lua/lazyvim/plugins/extras/lang/omnisharp.lua (L53-L61)

The fix here is to shallow clone the "global" LSP keymaps before adding
the LSP server-specific keymaps so the LSP keymaps aren't added to the
global ones.

## Related Issue(s)

## Screenshots

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-25 14:59:55 +01:00
..
config fix(snacks): remove lazygit requirement for git browse/blame keymaps (#4869) 2024-11-22 12:25:33 +01:00
plugins fix(lsp): don't leak keymaps from LSP server configs (#4849) 2024-11-25 14:59:55 +01:00
util perf(ui): never show folds on dashboards 2024-11-18 21:27:36 +01:00
health.lua fix(health): add warning when not using 0.10.0 2024-05-16 21:25:51 +02:00
init.lua fix: add shim for vim.uv just in case someone upgrades lazyvim before lazy 2024-03-22 10:30:35 +01:00
types.lua style: better types for vim.api.nvim_create_autocmd 2024-06-07 23:02:47 +02:00