100 Commits
Author SHA1 Message Date
Folke Lemaitre 4df9392cb8 fix(snacks): alignment of header 2024-11-19 09:35:42 +01:00
Folke Lemaitre b873f9a7e7 fix(snacks): make sure early notifications show up in noice 2024-11-19 09:03:00 +01:00
Folke Lemaitre 59615281f8 fix(copilot): work-around to get copilot working again on nightly 2024-11-19 08:49:53 +01:00
Folke Lemaitre 9c31004365 fix(snacks): cleaner way to adjust keys preset 2024-11-19 07:31:28 +01:00
Folke Lemaitre a07db1a723 feat(snacks): use snacks.dashboard as the default dashboard. moved dashboard-nvim to extras (#4832)
## Description

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

Snacks has a new dashboard plugin that will be LazyVim's default.

Check the docs at
https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md

## 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-18 23:32:49 +01:00
Folke Lemaitre 0352f944c3 perf(ui): never show folds on dashboards 2024-11-18 21:27:36 +01:00
Folke Lemaitre 33557ae68b fix(lualine): dont show statusline on snacks_dashboard 2024-11-18 21:27:36 +01:00
Folke Lemaitre 6dcf5d7159 fix(tabnine): dont call CmpTabnineHub in build. Fixes #4828 2024-11-18 21:27:36 +01:00
Folke Lemaitre 1db2af267e fix(terminal): set shellcmdflags for powershell to recommended values. Closes #4805 2024-11-16 07:39:48 +01:00
Folke Lemaitre 1c5a330b6b feat(vscode): automatically enable the vscode extra when running in vscode 2024-11-16 07:35:47 +01:00
Folke Lemaitre 07a046867d fix(copilot): don't enable blink when using copilot when blink is not installed. Fixes #4795 2024-11-15 06:25:26 +01:00
Folke Lemaitre c0b623c332 fix(snacks): explicitely enable snakcs plugins 2024-11-14 23:53:03 +01:00
Folke Lemaitre 3ac62a4364 refactor(ui): cleanup fg/color 2024-11-13 21:14:29 +01:00
Folke Lemaitre 1d7b9a1a61 perf(treesitter): better foldtext and foldexpr 2024-11-13 21:11:32 +01:00
Folke Lemaitre 5e485d39b4 fix(dial.nvim): added boolean and logical toggles to default group. Fixes #4515 2024-11-13 19:00:07 +01:00
Folke Lemaitre a7eca05609 feat(copilot): added support for blink.cmp source 2024-11-13 18:28:58 +01:00
Folke Lemaitre 5df382765b refactor(lualine): status component 2024-11-13 17:20:50 +01:00
Folke Lemaitre ea266e7326 fix(lualine): normalize paths before calculating pretty path. Fixes #4763 2024-11-11 15:44:08 +01:00
Folke Lemaitre fbf881f80b feat(ai): better completion/suggestions of AI engines (#4752)
## Description

The whole completion / snippets / AI is very tricky:
- multiple snippet engines
- native snippets on > 0.11 set their own keymaps, but not on 0.10
- multiple completion engines, like `nvim-cmp` and `blink.cmp`
- multiple ai completion engines that have a different API
- user's preference of showing ai suggestions as completion or not
- none of the ai completion engines currently set undo points, which is
bad

Solution:
- [x] added `LazyVim.cmp.actions`, where snippet engines and ai engines
can register their action.
- [x] an action returns `true` if it succeeded, or `false|nil` otherwise
- [x] in a completion engine, we then try running multiple actions and
use the fallback if needed
- [x] so `<tab>` runs `{"snippet_forward", "ai_accept", "fallback"}`
- [x] added `vim.g.ai_cmp`. When `true` we try to integrate the AI
source in the completion engine.
- [x] when `false`, `<tab>` should be used to insert the AI suggestion
- [x] when `false`, the completion engine's ghost text is disabled
- [x] luasnip support for blink (only works with blink `main`)
- [x] create undo points when accepting AI suggestions 

## Test Matrix

| completion   | snippets     | ai          | ai_cmp | tested? |
|--------------|--------------|-------------|--------|---------|
| nvim-cmp     | native       | copilot     | true   |       |
| nvim-cmp     | native       | copilot     | false  |       |
| nvim-cmp     | native       | codeium     | true   |       |
| nvim-cmp     | native       | codeium     | false  |       |
| nvim-cmp     | luasnip      | copilot     | true   |       |
| nvim-cmp     | luasnip      | copilot     | false  |       |
| nvim-cmp     | luasnip      | codeium     | true   |       |
| nvim-cmp     | luasnip      | codeium     | false  |       |
| blink.cmp    | native       | copilot     | true   |       |
| blink.cmp    | native       | copilot     | false  |       |
| blink.cmp    | native       | codeium     | true   |       |
| blink.cmp    | native       | codeium     | false  |       |
| blink.cmp    | luasnip      | copilot     | true   |       |
| blink.cmp    | luasnip      | copilot     | false  |       |
| blink.cmp    | luasnip      | codeium     | true   |       |
| blink.cmp    | luasnip      | codeium     | false  |       |


## Related Issue(s)

- [ ] Closes #4702

## 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-11 10:50:57 +01:00
Folke Lemaitre 06071dd452 fix(vscode): added snacks.nvim to allowed plugins for vscode. Fixes #4757 2024-11-11 09:41:45 +01:00
Folke Lemaitre 17a1b846f0 fix(snacks): allow overriding statuscolumn through options.lua 2024-11-11 09:37:47 +01:00
Folke Lemaitre 86904d2fb1 feat(ai): move ai related extras from coding to ai (#4751)
## Description

<!-- 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

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-10 11:27:21 +01:00
Folke Lemaitre b9dae57961 perf(ui): only enable treesitter folds if the buffer has treesitter highlighting 2024-11-09 23:33:05 +01:00
Folke Lemaitre 24665fc736 feat(keymaps): leader-bo to close other buffers 2024-11-09 16:13:11 +01:00
Folke Lemaitre 220148f47f fix(snacks): noice now honors Snacks.config.notifier.enabled = false 2024-11-09 15:49:40 +01:00
Folke Lemaitre 548fddd1d5 fix(options): make sure spelling works in regular text files 2024-11-08 21:05:30 +01:00
Folke Lemaitre 76168166e5 fix(lsp): wrap hover and signature_help 2024-11-08 16:55:40 +01:00
Folke Lemaitre 776994a207 fix(dap): use dap's splitstr when running with args. Closes #4387 2024-11-08 13:31:19 +01:00
Folke Lemaitre b841a1dfc3 fix(blink): remove draw="reversed" for now till new release 2024-11-07 22:52:38 +01:00
Folke Lemaitre e6f612f1cc fix(snacks): dont add snacks_notif to close_with_q 2024-11-07 22:52:11 +01:00
Folke Lemaitre 67b216c973 fix(lualine): make sure path is in root before substituting 2024-11-07 17:01:08 +01:00
Folke Lemaitre aa53cd47c4 feat(keymaps): only add lazygit keymaps when available. Closes #4643. Closes #4247 2024-11-07 16:21:48 +01:00
Folke Lemaitre 1e975be7a5 fix(options): removed deprecated options 2024-11-07 16:19:18 +01:00
Folke Lemaitre 0bc09d8206 fix(telescope): check for gmake if needed 2024-11-07 16:10:45 +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 7ebed5349d fix(blink): use release version 2024-11-03 15:26:45 +01:00
Folke Lemaitre fa3739678a fix(copilot): properly process tab with copilot and blink. Fixes #4692 2024-11-03 12:53:10 +01:00
Folke Lemaitre 0403e80a8e fix(java): jdtls run with args (#4689)
## Description

Makes run with args work for jdtls

## Related Issue(s)
- Closes #4686
- Closes #4673
2024-11-03 12:48:11 +01:00
Folke Lemaitre a7b4c4391b fix(autocmds): vim.highlight is deprecated 2024-11-02 18:51:04 +01:00
Folke Lemaitre ec616a3cec fix(blink): explicetely set version=false for now 2024-11-02 18:12:31 +01:00
Folke Lemaitre 28da1eb073 feat(blink): use vim.o.pumblend as winblend option for autocomplete menu in blink 2024-11-02 17:43:11 +01:00
Folke Lemaitre 6e1d0994d9 fix(copilot): create undo point before accepting copilot suggestion when using blink 2024-11-02 17:41:38 +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
Folke Lemaitre 1d3d64fd1a fix(rust): disable rust_analyzer in the rust extra. Fixes #4685 2024-11-02 09:47:17 +01:00
Folke Lemaitre cb40a09538 fix(autocmds): close window and force delete buf on q. See #4638 2024-10-24 17:18:01 +02:00
Folke Lemaitre 0eb400908d fix(autocmds): force close buffers with q. See #4638 2024-10-24 09:25:03 +02:00
Folke Lemaitre 6570a141c0 fix(catppuccin): fix bufferline integration when no colorscheme is set. Closes #4641 2024-10-24 07:58:14 +02:00
Folke Lemaitre fe7003de50 fix(folds): enable folds when treesitter available. Fixes #4563 2024-10-23 11:32:21 +02:00
Folke Lemaitre 917c685c1f feat(catppuccin): bufferline integration. Closes #4583. Closes #4581 2024-10-23 11:23:09 +02:00
Folke Lemaitre 327e829c15 fix(neotest): properly initialize adapter with call table. Fixes #4538 2024-10-04 23:50:15 +02:00
Folke Lemaitre 6e4025229d fix(lsp): backward compat with lspconfig refactor. Fixes #4525. See #4518 2024-10-02 10:18:21 +02:00
Folke Lemaitre 86d4f14bc8 feat(cmp): better c-n and c-p mapping fallback. Fixes #4414 2024-09-18 08:20:01 +02:00
Folke Lemaitre 3dbace941e fix(toggle): diagnostics enable/disable. See #4205 2024-08-31 12:34:45 +02:00
Folke Lemaitre 5a0122b619 feat(persistence): added leader-qS to select a session 2024-08-31 09:27:14 +02:00
Folke Lemaitre 94bf4f9324 fix(news): pcall diag when showing news for older Neovim versions 2024-07-25 10:55:08 +02:00
Folke Lemaitre 328272144c fix(autcmds): added grug-far to close with q 2024-07-24 18:18:00 +02:00
Folke Lemaitre c8d0faf9b1 feat(markdown): markdown-render toggle 2024-07-24 08:21:36 +02:00
Folke Lemaitre 391f506295 fix(keymaps): leader-wm 2024-07-24 07:03:45 +02:00
Folke Lemaitre f0d8b8b293 fix(keymaps): leader-wd 2024-07-23 08:29:08 +02:00
Folke Lemaitre f6cd4a38c6 fix(news): deprecated API 2024-07-23 07:17:18 +02:00
Folke Lemaitre 1c2be200c1 fix(grug-far): use new transient option 2024-07-22 23:26:03 +02:00
Folke Lemaitre 5626d98d1c ci: update 2024-07-22 14:24:32 +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 c8ab5d7554 fix(toggle): safe toggle get 2024-07-20 22:06:16 +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 eed91a3e4c fix(conform): changes for new conform.nvim config 2024-07-20 17:14:07 +02:00
Folke Lemaitre 3d1f961232 refactor: which-key mappings 2024-07-20 17:04:01 +02:00
Folke Lemaitre f9fdb356f2 fix(ui): trouble lualine component 2024-07-18 15:45:53 +02:00
Folke Lemaitre b8bdebe5be fix(ui): another typo 2024-07-18 10:42:02 +02:00
Folke Lemaitre 4ac249beaa fix(ui): typo 2024-07-18 09:30:56 +02:00
Folke Lemaitre d6561fd27c fix(autcmds): desc for close_with_q 2024-07-18 00:41:54 +02:00
Folke Lemaitre b1a47405b9 feat(edgy): added support for grug-far.nvim 2024-07-18 00:21:19 +02:00
Folke Lemaitre c1b76ee235 feat(toggle): move toggle notifs to toggle function 2024-07-17 15:07:04 +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 bab54406dc feat(keymaps): proxy leader-w to ctrl-w 2024-07-17 12:40:56 +02:00
Folke Lemaitre 60b10deeb0 style(toggle): types 2024-07-16 23:54:23 +02:00
Folke Lemaitre 150523b77b feat(toggle): make toggles callable. Fixes #4081 2024-07-16 23:34:27 +02:00
Folke Lemaitre a1335e59e1 style: fix toggle desc 2024-07-15 23:56:07 +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 29e285d882 style(persistence): remove unused option 2024-07-14 18:11:24 +02:00
Folke Lemaitre d39cdb0596 fix(telescope): better find_command. Fixes #4031 2024-07-14 18:06:40 +02:00
Folke Lemaitre 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
Folke Lemaitre 75ff1496bd feat: shorter keymap descriptions for mini.ai / yanky 2024-07-14 07:08:17 +02:00
Folke Lemaitre 702471e454 feat: new mappings format for which-key v3. Forgot to push :) 2024-07-12 22:54:35 +02:00
Folke Lemaitre 67650528e4 fix(vscode): allow overriding default vscode keymaps. Fixes #3950 2024-07-08 07:52:18 +02:00
Folke Lemaitre f3c93701e7 style(icons): CODEOWNERS has a default icon 2024-07-07 20:41:37 +02:00
Folke Lemaitre 09831414cf test: added tests for mini.icons 2024-07-07 17:46:57 +02:00
Folke Lemaitre 33e1da585d fix(fzf-lua): move register_select to lazy init 2024-07-07 17:23:53 +02:00
Folke Lemaitre d108169e95 fix(lualine): check that trouble is installed 2024-07-07 08:47:57 +02:00
Folke Lemaitre 4035768195 ci: update 2024-07-06 23:45:22 +02:00
Folke Lemaitre 21470b49d9 ci: update 2024-07-06 23:19:41 +02:00
Folke Lemaitre 5e1216867b ci: update 2024-07-06 23:18:20 +02:00
Folke Lemaitre ab2ff2e436 ci: update 2024-07-06 11:45:21 +02:00
Folke Lemaitre a915a5d7e1 ci: fix urls 2024-07-05 19:08:52 +02:00
Folke Lemaitre bb4d4cbd5c ci: update 2024-07-05 18:58:27 +02:00
Folke Lemaitre 6eb8cacd0f ci: update 2024-07-05 15:31:26 +02:00