Commit Graph

165 Commits

Author SHA1 Message Date
Yiqian Liu
83468be350 fix(keymap): remove select mode remaps of printable characters (#6296)
## Description

Most of the "visual mode" mappings use "v" instead of "x", and therefore
also affect select mode.
If the key is a printable character, it is now unusable in select mode.
This is most prominent with `<leader>`, which is space by default, a
printable character.

The most common use of select mode is when it is automatically triggered
by snippets. Currently, trying to type space, g, <, >, etc. as the first
character of a snippet field will trigger their bind instead of actually
inserting the character.

I cannot currently think of any good reason why anyone would rely on
using select mode to execute any of these mapped actions.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 00:10:08 -07:00
Jorge Villalobos
112b8848b5 chore(which-key): remove unnecessary icons (#5461)
## Description

These are already handled by which-key exactly the same way, no need to
re-declare them here. Removing them from here has no effect.

## Related Issue(s)

N/A

## Screenshots

![Screenshot 2025-01-23 at 21 21
14](https://github.com/user-attachments/assets/d9f777e8-d514-4836-9314-03a66cc5a34b)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-17 10:15:21 +02:00
Nick Janetakis
fd1b02ae57 fix(grug-far): add support for GrugFarWithin so it gets loaded by default (#5772)
## Description

https://github.com/MagicDuck/grug-far.nvim is the default find and
replace plugin for LazyVim.

It recently added support for being able to do a find / replace within a
visual selection to limit the scope of a search.

It did that by introducing a new command called `:GrugFarWithin`. This
PR adds that as a `cmd` so it gets loaded by default. Without this PR,
you cannot call this command unless you first call `:GrugFar`. This was
identified by the author of Grug Far.

## Related Issue(s)

There is no issue in this repo, but this feature is related to:
https://github.com/MagicDuck/grug-far.nvim/issues/357

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

I also want to give a shout-out to @MagicDuck who is the author of the
plugin. He implemented this feature so fast and has been super helpful
in his repo's issue tracker.
2025-09-17 10:14:48 +02:00
EasonMo
6eed1781c1 fix(gitsigns): use silent for gitsigns keymaps (#5841)
## Description

When executing `<leader>ghs`, the command line window will flicker.
Therefore, it should be run silently.

## Related Issue(s)
None

## 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.
2025-09-17 10:13:36 +02:00
Folke Lemaitre
5eac460c09 feat(treesitter)!: migrate to nvim-treesitter **main** branch 2025-09-17 09:52:44 +02:00
Folke Lemaitre
525377dee9 feat(extras): big rework of default extras 2025-02-08 15:04:46 +01:00
Folke Lemaitre
13044c298e feat(extras): added extra for snacks picker (#5368)
## Description

See https://github.com/folke/snacks.nvim/pull/445

NOTE: I'm **not** going to replace `fzf-lua` anytime soon. Learned my
lessons with that one :)

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

## 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.
2025-01-14 22:54:12 +01:00
Folke Lemaitre
a8332c6d50 feat(snacks): added profiler keymaps 2024-12-12 13:47:29 +01:00
Folke Lemaitre
44c712aa31 feat(which-key): make helix the default which-key preset 2024-12-12 13:47:29 +01:00
Folke Lemaitre
2ebba15e12 feat(git): added toggles for gitsigns.nvim and mini.diff 2024-12-07 11:57:21 +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
Benjamin Memisevic
746ea8f1e6 fix(grug): grug_far -> grug.open (#4404)
## Description

Just a very simple fix to use the updated method in grug to set the
options for the dependency. Just ran across the issue debuging search
and replace on my setup (was not the issue).

This is not breaking.  
## Related Issue(s)

N/A
## Screenshots
N/A

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-09-16 08:47:31 +02:00
Folke Lemaitre
1c2be200c1 fix(grug-far): use new transient option 2024-07-22 23:26:03 +02:00
Folke Lemaitre
72d0cad353 feat(grug-far): no longer needed to call visual replace separately 2024-07-22 08:38:34 +02:00
Folke Lemaitre
6411ab0897 fix(grug-far): only prefill files filter when file has an extension. Closes #4130 2024-07-21 17:23:36 +02:00
Folke Lemaitre
0d561a3226 feat(editor): replace nvim-spectre with grug-far.nvim (#4099)
## Description

I'm considering to replace
[nvim-spectre](https://github.com/nvim-pack/nvim-spectre) with
[grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim).

It has a better ui and I like the workflow better.

I won't merge this right away. I'm mostly looking for feedback on
whether this would be a good thing and whether the defaults option I've
added seem ok.

## Related Issue(s)

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

## Screenshots


![image](https://github.com/user-attachments/assets/bc44e35b-e033-4769-ad40-cdfe9e3482f4)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-20 21:39:39 +02:00
Folke Lemaitre
3d1f961232 refactor: which-key mappings 2024-07-20 17:04:01 +02:00
Folke Lemaitre
8d9f2ad97e feat(which-key): dynamic buffer mappings under leader-b 2024-07-17 12:43:12 +02:00
Folke Lemaitre
66bba787b8 feat(which-key): dynamic window mappings under leader-w 2024-07-17 12:42:55 +02:00
Folke Lemaitre
865bf15f1c feat(which-key): leader-w-space starts hydra mode for window mappings 2024-07-17 12:42:29 +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
702471e454 feat: new mappings format for which-key v3. Forgot to push :) 2024-07-12 22:54:35 +02:00
jyuan0
8f74db318c refactor(trouble): move options in keymaps for lsp and symbols to opts (#3917)
## What is this PR for?

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->
A user won't also have to override the keymaps if they set options for
`Trouble lsp` or `symbols` in `opts` (assuming they want the mode to
always open with certain options).

## Does this PR fix an existing issue?
No.

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

## Checklist

- [ x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

----

The default for `Trouble symbols` already seems to be on the right, and
neither lsp/symbols auto-focuses, so I left these out.
2024-07-05 08:22:38 +02:00
Iordanis Petkakis
d23731c50d fix(neo-tree): remove branch, since it obstructs updating to latest version (#3871)
## What is this PR for?
`branch` was obstructing from being able to update to latest HEAD like
in other plugins. This was necessary when the initial development was
being done on this branch and `main` was used for the old stable
release, but this is not necessary any more. Also, @folke now you can
use `always_show_by_pattern`, which you might find useful to show the
git tracked hidden files like you wanted but couldn't do before.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Does this PR fix an existing issue?
No
<!--
  If this PR fixes any issues, please link to the issue here.
  Fixes #<issue_number>
-->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-30 19:15:23 +02:00
Folke Lemaitre
2bfcd05c62 revert: feat(neo-tree): more sane defaults for gitignore and hidden files
This reverts commit 85405d6534.
2024-06-30 17:29:36 +02:00
Folke Lemaitre
85405d6534 feat(neo-tree): more sane defaults for gitignore and hidden files 2024-06-30 08:19:40 +02:00
k14lb3
44ed11c4f8 fix(gitsigns): fix inconsistent signs (#3830)
## What is this PR for?

Fixing inconsistency with the `gitsigns` signs.

Since the signs are overridden ...


5e1c474192/lua/lazyvim/plugins/editor.lua (L201-L209)

The staged signs should be overridden too.

> ```
> signs_staged *gitsigns-config-signs_staged*
>       Type: `table[extended]`
>       Default: >
>         {
>           add          = { text = '┃' },
>           change       = { text = '┃' },
>           delete       = { text = '▁' },
>           topdelete    = { text = '▔' },
>           changedelete = { text = '~' },
>         }
> <
>     Configuration for signs of staged hunks.
> 
>     See |gitsigns-config-signs|.
> ```



0595724fa9/doc/gitsigns.txt (L569-L579)

> ``` 
> signs_staged_enable *gitsigns-config-signs_staged_enable*
>       Type: `boolean`, Default: `true`
> 
> 
>     Show signs for staged hunks.
> 
> 
> When enabled the signs defined in |git-config-signs_staged|` are used.
> ``` 


0595724fa9/doc/gitsigns.txt (L584-L589)

## Does this PR fix an existing issue?

Nopeskii

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-27 20:03:08 +02:00
Brian Di Palma
1f423930e0 feat(gitsigns): navigate diff changes as well as git hunks with [h/]h (#3736)
## What is this PR for?

I'm used to jumping from git hunks with `[h` so I'd like to use the same
mapping when navigating diffs.

## Does this PR fix an existing issue?

No

## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-23 07:13:51 +02:00
Folke Lemaitre
52d46166b1 fix(neo-tree): don't enable document symbols by default 2024-06-23 07:11:55 +02:00
Iordanis Petkakis
b22831b7e2 feat(gitsigns): new keymap for Gitsigns blame (#3758)
Also add filetype `gitsigns.blame` to autocmd `lazyvim_close_with_q` and
workaround for `+hunks` group name to show prefix correctly. If you
don't like the workaround for `+hunks` group name feel free to remove
it.

## What is this PR for?
Make use of the new `gitsigns` feature `Gitsigns blame`, which shows in
a vertical buffer split the `blame` history of the whole buffer.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Does this PR fix an existing issue?
No.
<!--
  If this PR fixes any issues, please link to the issue here.
  Fixes #<issue_number>
-->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-21 21:14:48 +02:00
Folke Lemaitre
304e7439aa fix(pick): allow configuring pickers without LazyExtras. Fixes #3626 2024-06-14 17:55:43 +02:00
Folke Lemaitre
239fb90ce2 style: cleanup trouble 2024-06-14 16:46:35 +02:00
Iordanis Petkakis
b9f726404f fix(pick): move some leftovers from editor.lua to editor.telescope (#3620)
## What is this PR for?

`have_make` and `have_cmake` were left over at
`/lua/plugins/editor.lua`, so move them to `extras.editor.telescope`
instead.

## Does this PR fix an existing issue?

No

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-13 13:54:58 +02:00
Folke Lemaitre
39a908c9fa feat(pick): move pickers to extras (telescope still the default) (#3606)
## What is this PR for?

Refactoring of pickers in LazyVim:

- [x] telescope moved to extras
- [x] dressing was moved to the telescope extra. Not needed with fzf-lua
and noice
- [x] when none of the two is enabled, then telescope will be enabled
- [x] when using `:LazyExtras` to enable fzf-lua, the telescope spec
will never be parsed
- [x] when not using `:LazyExras`, the spec will be parsed, but one of
the two will be disabled.
- [x] only one picker extra can be used to prevent issues
- [ ] cleanup lsp keymaps
2024-06-13 06:07:02 +02:00
Folke Lemaitre
d541069fdf fix(pick): recent files in cwd. Fixes #3580 2024-06-11 14:26:46 +02:00
Folke Lemaitre
7d30360df2 refactor: config = true >> opts = {} 2024-06-11 00:06:56 +02:00
Folke Lemaitre
6ab404134d feat(extras): added fzf-lua (#3555)
New extra with an initial implementation of fzf-lua.

## Todo

- [x] check all places that currently depend on telescope and provide an
alternative or disable
- [x] disable telescope spec completely. (currently only removed its
keymaps)
- [x] trouble integration
- [x] https://github.com/ibhagwan/fzf-lua/issues/1241

---------

Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
2024-06-10 21:58:33 +02:00
Aleksey Imuzov
caaa6c440d fix(neo-tree): use last window for preview (#3560)
Similar to "trouble.nvim" I want the preview to open in the last active
window. Currently the neo-tree preview opens in a floating window, which
(to me) doesn’t look very good.

What do you think about doing preview window the same everywhere
(trouble & neo-tree)?

## Before:


https://github.com/LazyVim/LazyVim/assets/3313023/7d7c21c9-158d-40ef-82f2-62e0dc795555

## After:


https://github.com/LazyVim/LazyVim/assets/3313023/bafc5bae-20cb-4dd1-8e40-1358ada573d9

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-10 21:41:45 +02:00
Ray Wong
c452fd730c fix(editor): telescope init error when trouble.nvim is disabled (#3518)
I got this error message when opening telescope.

```
Failed to run `config` for telescope.nvim

...l/share/nvim/lazy/LazyVim/lua/lazyvim/plugins/editor.lua:241: module 'trouble.sources.telescope' not found:
^Ino field package.preload['trouble.sources.telescope']
...
```

After investigating it, the reason was I have `trouble.nvim` disabled
but the default base `opts` function is loading it.
I tried wrapping it with a function to lazy load the `trouble.nvim`
module and it worked in my local setup.
2024-06-07 13:23:04 +02:00
Folke Lemaitre
dbec83d57a feat(neo-tree): added l:open and h:close_node to neo-tree. Closes #3293 2024-06-06 18:05:11 +02:00
Abhimanyu Sharma
028d5bcac5 fix(todo-comments): use toggle for Trouble todo commands (#3424) 2024-06-02 14:53:58 +02:00
Folke Lemaitre
6da95ee7d3 fix(todo-comments): use trouble filters for showing only todo/fix/fixmes 2024-06-02 12:30:54 +02:00
Folke Lemaitre
95d055dcf7 feat: trouble v3 2024-05-30 14:41:13 +02:00
Kevin Traver
79608fbc4f feat(telescope): add telescope jumplist keymap (#3268) 2024-05-21 22:56:15 +02:00
Folke Lemaitre
e46dd4e9b2 fix(neo-tree): better icons for git staged/unstaged 2024-05-21 22:06:52 +02:00
Kevin Traver
ab4e57a4bf feat(telescope): add quickfix and telescope keymaps (#3077) 2024-05-21 20:34:28 +02:00
Folke Lemaitre
779de263f1 feat(util): mini.bufremove is no longer needed 2024-05-17 10:10:31 +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
03704e2299 feat(ui)!: moved treesitter-context to an extra. No longer a core plugin 2024-05-16 21:25:51 +02:00
Phúc H. Lê Khắc
fc5ee49495 fix(gitsigns): update deprecated hunk nav mappings (#2935) 2024-05-15 16:15:11 +02:00