Commit graph

156 commits

Author SHA1 Message Date
akioweh
fa94c73362
fix printable characters being mapped in select mode
most of the "visual mode" mappings use "v" instead of "x", affecting
select mode, which should not have printable characters remapped. (this
is felt when e.g. using snippets)
2025-07-29 00:16:33 +04:00
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