Commit graph

155 commits

Author SHA1 Message Date
Folke Lemaitre
c20c402295
fix(mason): rename and pin to v1 2025-05-12 10:39:04 +02:00
Folke Lemaitre
7529773371
feat(lsp): use lsp_config picker instead of LspInfo 2025-02-11 14:00:03 +01:00
Folke Lemaitre
0b6d1c0050
style(lsp): remove refs to document_highlight, which is no longer used 2024-12-16 17:47:07 +01:00
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
Matthew Sia
deb9fd85b1
fix(lsp): wrap signature_help (#4791)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

Related to 7616816.
Without wrap `lsp_doc_border` does not work

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-14 20:32:52 +01:00
Folke Lemaitre
76168166e5
fix(lsp): wrap hover and signature_help 2024-11-08 16:55:40 +01:00
Folke Lemaitre
2f4697443c
feat(core)!: move a bunch of LazyVim features to snacks.nvim (#4706)
## Description

LazyVim comes with a bunch of smaller QoL plugin like features, but it's
not easy for non LazyVim users to use them.

That's why I started working on
[snacks.nvim](https://github.com/folke/snacks.nvim), a collection of
small QoL plugins for Neovim.

Snacks also includes a bunch of new improvements to these features.

This PR fully integrates with snacks.

## Todo

- [ ] add proper deprecations where needed
- [ ] create snacks docs
- [ ] document all the new improvements relevant to LazyVim users

## Closes

- [ ] #4492 
- [ ] #4333
- [ ] #4687

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 15:54:47 +01:00
Folke Lemaitre
ad52bf91bc
feat(extras): blink (#4680)
## Description

Extra to use [blink.cmp](https://github.com/Saghen/blink.cmp) instead of
**nvim-cmp**.

## Todo

- [x] tokyonight suport
- [x] basic integration
- [ ] check / update all cmp sources
- [ ] copilot and others integration 
- [x] native lazydev source

## Limitations

There's no copilot source, so instead when enabling both blink and
copilot:
- blink ghost text is disabled
- copilot suggestions are enabled
- use `<tab>` to navigate snippets and accept copilot completions 

## Related Issue(s)

- https://github.com/LazyVim/LazyVim/discussions/4679
2024-11-02 09:54:55 +01:00
dotfrag
61ce1cfaaf
feat(python): default to new ruff instead of ruff_lsp (#4126)
## Description

Change default python ruff lsp from `ruff_lsp` to `ruff`. It is now
marked as stable. I have been using it for a few days without any
problems. I use python for relatively small to medium projects. Maybe
someone who is using python more rigorously has better feedback.

References:

https://github.com/astral-sh/ruff-lsp (see note)
https://github.com/astral-sh/ruff/releases/tag/0.5.3
https://docs.astral.sh/ruff/editors/setup/#neovim

Also the issue in https://github.com/LazyVim/LazyVim/pull/3057 has been
resolved. I tested it and I only get 1 `ruff server` process per nvim
instance. The processes close correctly when nvim is closed.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-21 12:24:28 +02:00
Folke Lemaitre
78cf0320bf
feat(keymaps): dynamic which-key icons/descriptions for toggles (#4050)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)

- [ ] Closes #4025

## Screenshots


![image](https://github.com/user-attachments/assets/8453c23c-d560-490c-9f96-a22ea88f45fd)

## Checklist

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-15 15:47:44 +02:00
Folke Lemaitre
706ec4b6b6
fix(lsp): lsp keymaps. Fixes #4051 2024-07-15 14:05:49 +02:00
Folke Lemaitre
8c900f92e7
fix(lsp): prevent setting up mason-lspconfig more than once when setting mslp opts 2024-06-29 21:01:42 +02:00
Folke Lemaitre
05e45e0d35
refactor: LazyVim.config 2024-06-16 15:35:38 +02:00
Folke Lemaitre
8346fa7ddc
refactor(lsp): remove lsp keymap dependency on telescope 2024-06-13 06:33:10 +02:00
Folke Lemaitre
3233385ddb
fix(vue): disable inlay hints for vue, since they seem broken 2024-06-11 23:21:56 +02:00
Folke Lemaitre
ab41ff551b
refactor: use lazy's new opts_extend functionality for treesitter and mason 2024-06-07 09:03:59 +02:00
Folke Lemaitre
1bd4d2fc72
feat(lsp): simpler API to deal with code actions 2024-06-05 22:18:14 +02:00
Erik Lindebratt
9a635ef8d6
fix(lsp): Enable using deno.enablePaths in denols settings (#3446) 2024-06-04 11:31:29 +02:00
Brian Di Palma
c50018b791
feat(editor): added extra for inc-rename.nvim (#3432)
* feat(editor-extra): Add inc-rename

* fix: refactor and moved noice integration

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-04 09:51:36 +02:00
Folke Lemaitre
5e76948d58
feat(coding): use lazydev.nvim instead of neodev.nvim 2024-06-02 09:33:52 +02:00
Folke Lemaitre
c14d21ce75
feat: moved neoconf.nvim to extras 2024-06-02 09:05:16 +02:00
Folke Lemaitre
8024201e75
refactor: move 0.9 stuff to a compat layer. Cleaner this way 2024-06-01 20:46:58 +02:00
Folke Lemaitre
9d999fa210
refactor: refactored mason/typescript/vue support 2024-06-01 08:31:10 +02:00
Folke Lemaitre
804756209e
fix(lsp): remove duplicate keymap 2024-05-29 16:39:02 +02:00
Folke Lemaitre
01e6718e03
fix(lsp): added support for has as array for lsp keymaps 2024-05-29 16:31:16 +02:00
Folke Lemaitre
4dfd5c2596
fix(lsp): create gr with nowait=true 2024-05-29 16:02:13 +02:00
Folke Lemaitre
f6bcf6f12c
fix(lsp): fix ts/deno both attaching 2024-05-29 15:39:17 +02:00
Folke Lemaitre
fba06ce9f5
feat(typescript)!: the typescript extra now uses vtsls instead of tsserver. You may want to update your lsp settings. 2024-05-29 15:10:57 +02:00
Folke Lemaitre
b949dba489
feat(lsp): added leader-cR to rename the current file and to lsp rename operations 2024-05-29 14:45:55 +02:00
Folke Lemaitre
4bbeb37a18
fix(lsp): fix LazyVim's on_file_rename to work according to the lsp spec 2024-05-29 14:45:55 +02:00
Folke Lemaitre
e68ff6897e
feat(lsp): config option to exclude certain filetypes from inlay hints. Closes #3202 2024-05-27 21:19:36 +02:00
Iordanis Petkakis
7aa37064a2
fix(lspconfig): make opts a function (#3311)
`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.
2024-05-26 16:06:15 +02:00
Folke Lemaitre
b3373f3428
fix(lsp): added a-n, a-p for document highlights and cycling. Closes #3320 2024-05-26 16:03:13 +02:00
jyuan0
cdff9de172
fix(lsp): correct previous reference keymap description (#3314) 2024-05-26 10:33:40 +02:00
Folke Lemaitre
46cf5347b5
fix(lsp): only enableinlay hints for when buffer is an actual file. See #3284 2024-05-23 07:14:17 +02:00
Folke Lemaitre
3db94e44a0
refactor(lsp): refactored again :) 2024-05-20 20:25:55 +02:00
Folke Lemaitre
20e002f9f0
feat(lsp): properly update certain Neovim functionlity based on dynamic capabilities. See #3244. Fixes #3246 2024-05-20 00:08:05 +02:00
Folke Lemaitre
a4d83524a7
fix(lsp): move next/prev reference keymaps to lsp keymaps. See #3220 2024-05-18 15:46:35 +02:00
Folke Lemaitre
cc99b219de
feat(lsp): document highlights now use native lsp. vim-illuminate is available as an extra 2024-05-17 09:19:28 +02:00
Folke Lemaitre
76f9dbb40c
refactor: use LazyVim.opts 2024-05-16 22:11:55 +02:00
Folke Lemaitre
960e958548 feat(lsp): enable inlay hints by default on Neovim 0.10 2024-05-16 21:25:51 +02:00
Folke Lemaitre
91ead22116
feat(lua_ls): configure default lua_ls inlay hint settings 2024-05-15 15:48:46 +02:00
Iordanis Petkakis
6a2545025e
fix(lsp): check if diagnostics.signs is disabled by user (#2897) 2024-05-15 11:29:55 +02:00
Iordanis Petkakis
8968c9e9ea
feat(mason-lspconfig): allow opts.ensure_installed to be taken into account (#3134) 2024-05-12 10:09:54 +02:00
Folke Lemaitre
aaa10e717d
fix(lsp): better support for diagnostics icons on Neovim nightly/stable 2024-03-29 09:45:52 +01:00
Folke Lemaitre
64f86147f9
fix(lsp): dont define diagnostics signs on >= 0.10.0 2024-03-29 09:45:52 +01:00
Folke Lemaitre
7a5dbeae75
feat: use LazyVim everywhere instead of require("lazyvim.util") 2024-03-22 09:15:09 +01:00
Folke Lemaitre
fa0e538838
fix(lsp): dont auto install disabled lsp servers 2024-03-20 14:13:28 +01:00
Folke Lemaitre
780b9bb337
feat(lsp): added native codelens support. Enable in lsp settings. (disabled by default). Fixes #2656 2024-03-07 17:04:18 +01:00
Pablo
37107cf2fc
docs: typo in init.lua (#2365) 2024-01-21 20:10:18 +01:00