Commit Graph

351 Commits

Author SHA1 Message Date
AK47are
a507822c0f fix(terminal): add -NoProfile to powershell shellcmdflag (#6757)
## Description

changing the PowerShell profile might accidentally cause errors in
Neovim (see [issue](https://github.com/LazyVim/LazyVim/issues/4805)),
which is a subtle bug. Add the `-NoProfile` flag to ensure Neovim is not
affected by profile.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-11-06 12:40:40 +01:00
Folke Lemaitre
6b52a3059e fix(treesitter): remove node requirement 2025-10-31 17:28:02 +01:00
Folke Lemaitre
cd8c4977a0 feat(lsp): lsp keymaps can now be configured with lsp-config.opts.servers['*'].keys like for lsp servers 2025-10-25 16:57:16 +02:00
Folke Lemaitre
3964433062 feat(lsp): refactor lsp code to use Snacks.util.lsp.on 2025-10-25 16:56:19 +02:00
Folke Lemaitre
46e419d27e fix(root): don't use fs_realpath on windows 2025-10-24 15:35:49 -07:00
Folke Lemaitre
1b2e6e8986 feat(extras): renamed extra omnisharp -> dotnet + added fautocomplete to lspconfig 2025-10-20 08:47:38 +02:00
Folke Lemaitre
5effc77185 fix(treesitter): better check on windows if microsoft build tools is installed 2025-10-15 19:43:44 +02:00
Folke Lemaitre
37032dabd6 feat(treesitter): add installation instructions to get a C compiler on windows 2025-10-15 08:42:05 +02:00
Folke Lemaitre
413b9d5fa9 feat(treesitter): better health checks for treesitter requirements 2025-10-15 08:38:37 +02:00
Folke Lemaitre
30a325d671 feat(ai): added completion hooks for next edit suggestions 2025-09-26 15:57:00 +02:00
Folke Lemaitre
c83df9e68d feat(copilot-native): added experimental support for next edit suggestions. check the docs to enable 2025-09-25 15:30:28 +02:00
Folke Lemaitre
9913e1665d feat(copilot-native): better lualine status 2025-09-25 11:11:40 +02:00
Folke Lemaitre
3b02963585 feat(copilot): added copilot-native extra to setup native inline completions in Neovim 2025-09-25 10:31:17 +02:00
Vladimir Shvets
7d5365ad14 fix(lualine): pretty path fix for mixed case paths on Windows (#4911)
## Description

Here's an example of the issue:

```lua
local pretty_path = require('lazyvim.util').lualine.pretty_path({ relative = 'cwd' })

-- just a stub
local component = {
  create_hl = function() end,
  format_hl = function() return '' end,
  get_default_hl = function() return '' end
}

local cwd = vim.fn.getcwd()
vim.print('cwd: ' .. cwd)
vim.print('pretty path: ' .. pretty_path(component))

-- results if `cd d:\tmp` was called previously
-- cwd: d:\tmp
-- pretty path: d:\tmp\pretty_path_issue.lua
--
-- results if `cd D:\tmp` was called previously
-- cwd: D:\tmp
-- pretty path: pretty_path_issue.lua
```

Depending on the initial path of the `cd` we either get a pretty path or
we don't =)

I'm not sure if this should be fixed in the neovim itself (considering
windows paths as case-insensitive), but I would assume that would take a
lot longer to land there, if it's even considered a needed change

## Related Issue(s)

Somewhat related to #4763, where I've left a comment, but decided to
look a bit deeper

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-21 15:29:53 +02:00
Folke Lemaitre
9c611b0c57 fix(options): track some initial options right after loading options.lua. See #6463 2025-09-19 20:26:36 +02:00
Folke Lemaitre
5ce7cd650a fix(treesitter): check if queries for indent/fold exists before enabling it. Fixes #6474 2025-09-19 19:58:28 +02:00
Folke Lemaitre
2401d5fca6 fix(options): set_default option 2025-09-18 23:51:32 +02:00
Folke Lemaitre
ccbaf55c2f feat(options): don't overwrite indentexpr/foldexpr/foldmethod when set by plugins. Fixes #6464 2025-09-18 22:19:03 +02:00
Folke Lemaitre
725d048e00 feat(treesitter): automatically install and use mason's tree-sitter-cli if not installed on system 2025-09-18 09:49:54 +02:00
Folke Lemaitre
b93303d233 feat(treesitter): refactored setting up treesitter indent/highlight/folds 2025-09-18 09:49:54 +02:00
Folke Lemaitre
5bf237820d fix(snacks): safe wrapper around snacks statuscolumn to prevent errors when LazyVim is still installing 2025-09-18 09:49:54 +02:00
Folke Lemaitre
c28f599d4f fix(treesitter): properly update installedd languages after setup 2025-09-17 23:39:19 +02:00
Folke Lemaitre
a6b38de763 fix(treesitter): indentexpr/foldexpr now work as intended and override ftplugin settings. Fixes #6447 2025-09-17 22:46:14 +02:00
Folke Lemaitre
72e1ee5b0d refactor(treesitter): cleanup 2025-09-17 15:33:37 +02:00
Folke Lemaitre
5eac460c09 feat(treesitter)!: migrate to nvim-treesitter **main** branch 2025-09-17 09:52:44 +02:00
Folke Lemaitre
64ee23f38f style: remove references to Neovim 0.10 2025-09-17 07:14:37 +02:00
Folke Lemaitre
f4e64eea45 refactor(lsp): remove LazyVim.lsp.get_clients 2025-09-16 17:34:17 +02:00
Folke Lemaitre
23b9cdeb34 fix(lspconfig): remove all references to lspconfig. Closes #6426 2025-09-15 20:42:10 +02:00
Folke Lemaitre
44ade7fdea fix(lsp): buffer should be second arg for supports_method 2025-09-15 17:15:51 +02:00
Iordanis Petkakis
773f28b491 fix(mason): migrate to mason v2 (#6053)
## Description
`mason-lspconfig` v2 made changes to conform with latest Neovim
`vim.lsp.config`/`vim.lsp.enable` API.

- Lock `mason` and `mason-lspconfig` to v1 versions for Neovim <0.11 and
latest HEAD for Neovim >=0.11.
- Change `:get_install_path()` method in LazyVim to use
`LazyVim.get_pkg_path()` and also update name references to new ones.
- Change `nvim-lspconfig` from `LazyFile` to `{ "BufReadPre",
"BufNewFile", "BufWritePre" }` for Neovim >=0.11, since on `BufReadPost`
the LSP would not attach on the first buffer. Previously the
`setup.handlers()` function from `mason-lspconfig` would take care of
that, but that has been removed on v2. I fail to think if there's a
better way to handle this.

Most of the changes in `/lsp/init.lua` are thanks to @williamboman
comment
[here](https://github.com/LazyVim/LazyVim/pull/6041#issuecomment-2857266471).

I've also seen that both `mason-lspconfig` and `rustaceanvim` now have
as minimum requirements Neovim >=0.11.
As such I would suggest, instead of all the conditional checks for
Neovim versions to create a stable release where we pin `mason` and
`mason-lspconfig` to v1 versions and then only incorporate William's
suggestions in a new release and mention in the README that users who
are on Neovim <0.11 should use the stable release where the plugin
versions are pinned to v1. Not sure how you want to tackle this, so this
is merely just a suggestion from my part.

Both #6041 and #6045 tackle only with the new name references and the
offending line that was causing the error, but don't take into
consideration the LSP servers configurations. `opts.setup` would not
execute on both, since that was handled by `setup_handlers()` function
in the past. I checked with Typescript lang and with those PRs there are
no Javascript settings in `vtsls` (by checking with
`:=LazyVim.opts("nvim-lspconfig").servers.vtsls`).
#6045 also tried to change the method `:get_install_pkg()` by using
`vim.fn.exepath`, but to my understanding that only returns the binary
path not the package installation path and that is later concatenated to
find other paths, which I believe is not correct.

PS: There are 2 commits, because my LazyVim fork was not up to date and
updated it and then merged the branch I had into a new branch. Sorry if
that causes any inconvenience.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #6039
<!--
  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.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
Co-authored-by: William Boman <william@redwill.se>
Co-authored-by: Luis Durão <kpvrzlzzx@mozmail.com>
2025-09-15 12:08:19 +02:00
Sergey Kochetkov
ae3aaf2dd3 fix(mini): update mini plugin references from echasnovski to nvim-mini (#6374)
Updates all `mini.nvim` plugin references to use the new `nvim-mini`
organization namespace instead of the legacy `echasnovski` namespace
across all LazyVim configuration files.

## Description

https://github.com/nvim-mini/mini.nvim/discussions/1970

## 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>
2025-09-15 11:45:00 +02:00
Folke Lemaitre
a7a94c50ac refactor: remove all <0.11 compat code 2025-09-15 11:16:53 +02:00
Folke Lemaitre
bed725a054 fix(lsp): fixed deprecated warnings 2025-09-15 07:44:02 +02:00
Folke Lemaitre
c20c402295 fix(mason): rename and pin to v1 2025-05-12 10:39:04 +02:00
Folke Lemaitre
121a2e27ef fix(extras): disable import handling when loading :LazyExtras + changed some recommendations 2025-02-10 23:27:24 +01:00
Folke Lemaitre
25d90b54a3 feat(defaults): new installs now default to snacks picker/explorer. Existing installs don't change. 2025-02-08 15:23:30 +01:00
Folke Lemaitre
b4c24a3fe8 fix(extras): remove debug 2025-02-08 15:06:57 +01:00
Folke Lemaitre
525377dee9 feat(extras): big rework of default extras 2025-02-08 15:04:46 +01:00
Folke Lemaitre
0416376733 feat(util): has_extra now also checks for manual imports in lazy.lua 2025-02-08 13:49:05 +01:00
Folke Lemaitre
dc8512fce1 fix(root): pass args to root.get 2025-01-20 20:21:01 +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
ef9102677f feat(keymaps): unlink luasnip on esc 2024-12-15 11:46:24 +01:00
Folke Lemaitre
009e3587be fix(cmp): wrong extras check for nvim-cmp 2024-12-13 19:53:18 +01:00
Folke Lemaitre
6d774ba8f2 fix(ui): use Snacks.util.color instead of LazyVim.ui.fg 2024-12-12 13:47:29 +01:00
Folke Lemaitre
e389a5ada9 feat(snacks): use Snacks.zen.zoom() instead of custom **maximize** 2024-12-12 13:47:29 +01:00
Folke Lemaitre
2cbfb9b6b7 feat(cmp)!: moved nvim-cmp to extras and prefer blink.cmp on Neovim >= 0.10 as default completion engine 2024-12-12 13:47:29 +01:00
Folke Lemaitre
d904a1ef47 feat(snacks)!: use snacks.scope indent objects in favor of custom mini.ai indent objects 2024-12-12 13:47:29 +01:00
Folke Lemaitre
ae2340f60a feat(pick)!: make fzf the default picker for LazyVim 2024-12-12 13:47:29 +01:00
Folke Lemaitre
1519cd6da7 chore: remove dead code. Closes #4985 2024-12-10 12:09:40 +01:00
Folke Lemaitre
4a626a8137 refactor(ui): cleanup maximize code 2024-12-02 23:46:11 +01:00