Commit Graph

285 Commits

Author SHA1 Message Date
90a92312ae feat(root): provide vim.g.root_lsp_ignore to ignore LSP servers (#4332)
## Description
This provides `vim.g.root_lsp_ignore` for users to customize which LSP
servers should be taken into account when evaluating the LSP `root_dir`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Closes #4330
<!--
  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-10-03 15:55:25 +02:00
57c0c0bc9f feat(toggle): add more M.wk fields for better user customization (#4521)
## Description
Add to `M.wk` fields for `icon`, `color_enabled` and `color_disabled`
for more granual user customization.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
No, rather a discussion #4512
<!--
  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-10-02 10:22:08 +02:00
6e4025229d fix(lsp): backward compat with lspconfig refactor. Fixes #4525. See #4518 2024-10-02 10:18:21 +02:00
3dbace941e fix(toggle): diagnostics enable/disable. See #4205 2024-08-31 12:34:45 +02:00
c012f85959 fix(toggle): make diagnostics compatible with nvim-0.9.5 (#4205)
## Description
This makes `toggle.diagnostics` compatible with Neovim 0.9.5 (though not
sure about the metatable callables, since `set` there accepts a boolean
from `get` state).

Please make whatever changes you deem necessary or disregard as a whole
for a better approach I haven't been able to think of.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #4203
<!--
  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-08-31 09:44:52 +02:00
41a8f3a5fb feat(lazygit): allow user to override LazyVim config with custom file (#4367)
## Description
This takes into consideration an additional file, if it exists, to
extend `LG_CONFIG_FILE` environment variable, so that users can
overwrite easier default LazyVim options set for lazygit in
`lazygit-theme.yml`. It's not desirable to directly change
`lazygit-theme.yml` as the values are hardcoded and regenerated upon
colorscheme change.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #4364. Ideally, the problem about `nvim-remote` on Windows should
be fixed on lazygit's side, so this is just kind of a hotfix in the
meantime. Feel free to disregard this if not desirable.
<!--
  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-08-31 09:18:20 +02:00
1d2c0a5cf4 chore(markdown): markdown.nvim was renamed to render-markdown.nvim (#4259)
As described in
aeb5cec617
2024-08-31 09:16:45 +02:00
94bf4f9324 fix(news): pcall diag when showing news for older Neovim versions 2024-07-25 10:55:08 +02:00
f6cd4a38c6 fix(news): deprecated API 2024-07-23 07:17:18 +02:00
c8ab5d7554 fix(toggle): safe toggle get 2024-07-20 22:06:16 +02:00
b5290fd929 feat(terminal): clear search highlight when opening a terminal (#4090)
## Description

Often times when opening a terminal or lazygit when a search is active,
words in the terminal are highlighted. In my opinion this is rarely, if
not never intended. This attempts to fixes this behavior. The code of
`terminal.lua` is a bit beyond me, but I believe I have added it to the
right place.

## Related Issue(s)

N/A.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-18 07:10:22 +02:00
c1b76ee235 feat(toggle): move toggle notifs to toggle function 2024-07-17 15:07:04 +02:00
60b10deeb0 style(toggle): types 2024-07-16 23:54:23 +02:00
150523b77b feat(toggle): make toggles callable. Fixes #4081 2024-07-16 23:34:27 +02:00
a1335e59e1 style: fix toggle desc 2024-07-15 23:56:07 +02:00
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
8506cb5a98 feat(util.mini): follow the user's mappings instead of hardcoded values (#4043)
Because I use the Colemak-DH keyboard layout, I have mapped 'i' to 'h'.
Therefore, the current mini.ai which_key prompts are inconsistent with
my keymap.


## Description

The names and prefixes used in mini.ai_whichkey() are hardcoded and
should follow the user's mappings.

## Related Issue(s)

No

## Screenshots

No

## Checklist

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

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-07-15 09:06:34 +02:00
337e9ddc00 fix(pick): get rid of "auto" picker and set better defaults for telescope find_files (#4024)
## Description

Changes telescope's `find_files` options to match `fzf-lua` that matches
what `git_files` does including untracked files.

## Related Issue(s)

Fixes #3974

## 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-07-14 07:52:00 +02:00
75ff1496bd feat: shorter keymap descriptions for mini.ai / yanky 2024-07-14 07:08:17 +02:00
702471e454 feat: new mappings format for which-key v3. Forgot to push :) 2024-07-12 22:54:35 +02:00
28805d1a4c fix(lazygit): improve git browse (#3941)
## Description
Improves git browse command by handling different types of remotes, and
allows user to extend to other git hosts.

## Related Issue(s)
Fixes #3886

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

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-07-07 21:25:45 +02:00
131187c092 feat: allow a custom path for lazyvim.json. Fixes #3856 2024-06-29 21:19:15 +02:00
b43ace1ecf fix(git): use current dir when git not found to get a meaningful error message 2024-06-29 15:37:51 +02:00
b292a721bf fix(lazygit): fix browsing private git hostings (#3833)
## What is this PR for?

Current implementation of `Git Browse` doesn't work with onprem gitlab
(and any other git hosting except gitlab, github and bitbucket).
With this little fix, it should work with any git hosting.

## 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-29 10:42:46 +02:00
d6429a5c8a fix(pick): set recurse_submodules to false when using auto picker. Fixes #3831, Closes #3835 2024-06-29 10:33:29 +02:00
3764735fb2 fix(extras): don't load pkgs when parsing specs for LazyExtras 2024-06-29 10:19:01 +02:00
87fe403df6 fix(bufremove): fix Cancel (#3834)
## What is this PR for?
When you hit `Cancel` and a buffer is modified, it should not delete the
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?
Fixes #3832
<!--
  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-27 23:51:57 +02:00
a33eabddd9 fix(util.terminal): fix the shellredir and shellpipe options for powershell (#3803)
## What is this PR for?
fix(util.terminal) recorrect the shellredir and shellpip options for
powershell.
                                                          
<!-- 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?

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

## Checklist

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

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-25 06:38:11 +02:00
8ea3f690e6 fix(lazygit): use lazy.util.open on Neovim <= 0.10 (#3778)
## What is this PR for?
Use `lazy.util.open` on Neovim <=0.10
<!-- 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?
Closes #3776
<!--
  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-23 15:38:27 +02:00
b47c65f408 fix(statuscolumn): fix folds_open = true (#3756)
After some recent changes in https://github.com/neovim/neovim/pull/28709
I was getting an error when the user had `folds_open = true` in his
personal configuration whenever he pressed `o/O`. This is an attempt to
fix that.

## What is this PR for?

I was getting an error with `folds_open = true` in the user
configuration whenever pressing `o/O` or pressing `Enter` for a new
line.
The error was `Error executing lua:
...e/jrn23/projects/plugins/LazyVim/lua/lazyvim/util/ui.lua:127: attempt
to index a number value`.
<!-- 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:15:32 +02:00
d4991d5aac fix(root): also check root_dir. Fixes #3732 2024-06-19 18:25:58 +02:00
1a295c5ef8 fix(statuscolumn): %r deprecated in nightly and %l handles everything (#3719)
## What is this PR for?

Fix correctly showing relative numbers in `statuscolumn` after recent
breaking changes on
[nightly](https://github.com/neovim/neovim/pull/29357).

Please feel free to disregard this PR if a better solution is possible.
<!-- 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?
Fixes #3721 
<!--
  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-18 18:42:34 +02:00
d9caee6100 fix(git): removed debug info 2024-06-17 19:53:30 +02:00
1f034e1600 fix(lazygit): support monorepo structure and other git providers (#3701)
## What is this PR for?
- The current implementation doesn't support multi-module/monorepo
project where `<repo>/.git` can be `gitdir` alias to the main `.git`
folder. This PR uses the Git CLI to resolve remote URLs to better
support flexible project structure.
- This PR also adds the support to Bitbucket and GitLab

What's the problem of reading `.git/config`?
- Not all information available there. For instance, some large projects
will split a monorepo into smaller submodules, where `.git` is a file
that contains the `gitdir` alias.
- There's no promise that `.git/config` has to be existed. Git supports
multiple ways to store the git info outside of the default git directory
like using `GIT_DIR` env variable.
- Have to do lot of reading and parsing logic.

Why `git remote -v`?
- Only contains remote info with explicit format. 
- Don't have to filter out other config info. 
- Don't have to deal with lots of weird edge cases.



## 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-17 19:52:40 +02:00
05e45e0d35 refactor: LazyVim.config 2024-06-16 15:35:38 +02:00
57ef349910 fix(cmp): visible 2024-06-16 15:30:44 +02:00
e2972f0cca refactor: cmp 2024-06-16 15:17:56 +02:00
0d57115f01 fix(lsp): dont highlight document words when cmp is visible 2024-06-16 15:17:56 +02:00
2daca4b510 feat(mini.pairs): enable mini.pairs in the cmdline 2024-06-16 10:33:20 +02:00
71390adcbe refactor(util): use available get_plugin() function (#3687)
## What is this PR for?

Small refactor to use the already available `get_plugin()` function.

## 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-16 09:06:53 +02:00
eca8692451 fix(pick): remove the unused commands attribute (#3673)
## What is this PR for?
When we register a picker, such as a Telescope picker or a fzf-lua
picker,

we use commands within their own picker. For example, we use
M.picker.commands instead of M.pick.commands.

<!-- 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-15 18:54:39 +02:00
d6bea06a82 feat(mini.pairs): allow to skip pairs in certain treesitter nodes 2024-06-15 18:52:03 +02:00
304e7439aa fix(pick): allow configuring pickers without LazyExtras. Fixes #3626 2024-06-14 17:55:43 +02:00
eeccbbc407 fix(extras): better reasons as to why some extras are included in your config. 2024-06-14 11:14:00 +02:00
48a70aa8f5 fix(pick): ignore registering the same picker 2024-06-13 17:01:19 +02:00
425e6e0ea3 fix(pick): use LazyVim.pick instead of M since dashboard dumps/loadstrings functions. Why though... Fixes #3617 2024-06-13 06:13:39 +02:00
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
52b572881b fix(lsp): add file completion to rename file 2024-06-12 10:43:01 +02:00
14d47f650c refactor: memoize 2024-06-11 06:51:30 +02:00
335487282a fix(util): ensure unique cache keys in LazyVim.memoize (#3576)
## What is this PR for?

This PR fixes a bug in the `LazyVim.memoize` function that was causing
unexpected behavior in my configuration. The issue was discovered when
setting `vim.g.lazyvim_prettier_needs_config = true` in my
`lua/config/options.lua`, which did not work as expected.

The root cause was an issue with `LazyVim.memoize` cache key generation,
which led to `M.has_config(ctx)` always returning the same result as
`M.has_parser(ctx)`. This happened because `LazyVim.memoize` generates
cache keys based on the function parameters, and both functions were
being called with identical parameters:


7d30360df2/lua/lazyvim/plugins/extras/formatting/prettier.lua (L77-L81)

By improving the cache key generation to include function information,
we can ensure unique keys for different functions even if their
parameters are identical, thereby fixing the issue.

## Does this PR fix an existing issue?

N/A

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-06-11 06:41:37 +02:00