Compare commits

..

489 Commits

Author SHA1 Message Date
2b3bd6c013 fix: disable telescope 2024-06-10 21:57:28 +02:00
31c40573db feat: added ctrl-f and ctrl-b to scroll the preview window 2024-06-10 21:55:40 +02:00
9cc5d3df50 fix: fix path formatting for grep 2024-06-10 20:59:42 +02:00
6761d8efc8 chore: cleanup 2024-06-10 20:44:43 +02:00
0d05715411 feat: consistent prompt symbols for all pickers 2024-06-10 20:44:32 +02:00
dd5a5fb4cd feat: use ctrl-r to toggle between rootdir/cwd 2024-06-10 20:44:13 +02:00
9f98b0a01e chore: remove fzf_colors code since PR has been merged 2024-06-10 20:43:40 +02:00
b74db85447 feat(fzf-lua): added support for todo-comments 2024-06-10 18:10:13 +02:00
c155b2e965 feat: added symbols filter 2024-06-10 17:31:26 +02:00
6a07e6522a refactor: temp code for better fzf_colors 2024-06-10 17:10:37 +02:00
26254487fb feat: added toggle for hidden/ignore 2024-06-10 17:10:07 +02:00
f9697cbf17 feat: root-dir toggle 2024-06-10 17:09:43 +02:00
7eac9a854b refactor: trouble 2024-06-10 17:09:33 +02:00
4947802191 feat: fzf_colors based on Neovim colorscheme 2024-06-10 14:23:18 +02:00
60d472a569 fix: fzf smart open 2024-06-10 06:40:43 +02:00
252197f659 Update lua/lazyvim/plugins/extras/editor/fzf.lua
Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
2024-06-09 23:27:22 +02:00
e29ad4a14e refactor: LazyVim.pick 2024-06-09 23:13:53 +02:00
1b34b481c8 feat: added trouble integration 2024-06-09 23:13:53 +02:00
bedeb66fa9 feat(extras): added fzf-lua 2024-06-09 23:13:53 +02:00
1c46f54432 fix(typescript): clean up configuration of the vscode dap extension (#3556)
`mason-nvim-dap.nvim` adds it's own adapter filetype mappings to the
vscode extension in `nvim-dap` (as of
https://github.com/jay-babu/mason-nvim-dap.nvim/pull/129)

This also moves the type mappings for the `pwa-node` and `node` adapters
to where they are defined in the typescript pack.

Now that the default internal type mappings are configured we can rely
on the automatic loading of the `.vscode/launch.json` that `nvim-dap`
does
2024-06-09 22:48:51 +02:00
7793942eba feat(octo): re-open octo windows when restoring session + cleanup 2024-06-09 11:42:58 +02:00
2848ee492b ci: link to discussions 2024-06-09 11:36:44 +02:00
547dc76a12 fix(rust): make neotest optional 2024-06-09 09:27:29 +02:00
Ian
0567b37f61 fix(lang): neotest not loading rust tests (#3544)
fixes https://github.com/LazyVim/LazyVim/issues/3543
2024-06-09 08:37:08 +02:00
aa059e0d49 fix(luasnip): disable nvim-snippets when luasnip is enabled. Fixes #3547 2024-06-09 07:37:45 +02:00
28426cc31c chore(build): auto-generate vimdoc 2024-06-09 05:34:35 +00:00
02dd65cdea fix(helm): missing dependency (#3546)
according to this comment
ab41ff551b (r142924660)
2024-06-09 07:33:59 +02:00
fbb1276ffd fix(extra-lang-angular): add BufNew event to attach angular treesitter (#3522)
## Problem

Sometimes angular treesitter didn't get started, e.g. when creating a
new file.

## Solution

- Add `BufNew` event to attach angular treesitter.
- Change `BufRead` to `BufReadPost` for better readability.

### Related Neovim docs
- [BufRead / BufReadPost
docs](https://neovim.io/doc/user/autocmd.html#BufRead)
- [BufNew](https://neovim.io/doc/user/autocmd.html#BufNew)
2024-06-08 23:57:45 +02:00
51854046db fix(extras): +prefix in which-key panel for visual mode (#3537) 2024-06-08 10:04:10 +02:00
8f7ee56dab refactor: LazyVim.lsp.on_attach 2024-06-08 08:11:30 +02:00
6098a36d92 chore(build): auto-generate vimdoc 2024-06-08 05:31:47 +00:00
d90930b13e fix(typescript): implemented move to new file. Fixes #3534 2024-06-08 07:30:49 +02:00
1394070aab docs(news): fixed versions 2024-06-08 00:11:24 +02:00
16f3ebb9f1 docs(news): added link to news 2024-06-07 23:59:07 +02:00
a5f8af912d chore(main): release 12.10.0 (#3532)
🤖 I have created a release *beep* *boop*
---


##
[12.10.0](https://github.com/LazyVim/LazyVim/compare/v12.9.0...v12.10.0)
(2024-06-07)


### Features

* **prettier:** prettier is now enabled for all supported filetypes and
no longer requires a config file by default
([7d50bf0](7d50bf0626))
* **prettier:** with the prettier & astro extra, prettier will be
enabled if the prettier-astro-plugin is available
([214f5fc](214f5fccdf))
* **svelte:** with prettier & svelte extra, prettier will be enabled
when prettier-plugin-svelte is available
([945143a](945143a34e))
* **util:** added LazyVim.has_extra
([b714f28](b714f28662))
* **util:** added LazyVim.memoize
([5a11d74](5a11d740e1))


### Bug Fixes

* **clojure:** removed rainbow delimiters and fixed some plugin setups.
Closes [#3530](https://github.com/LazyVim/LazyVim/issues/3530)
([cfa8c9f](cfa8c9fbd4))
* **cmp:** don't enable `snippets` source without `nvim-snippets`
([#3527](https://github.com/LazyVim/LazyVim/issues/3527))
([af80811](af80811be0))
* **extras:** load prettier extra before svelte/astro
([4980574](49805748d4))
* **formatting:** remove deprecation check on some options
([c16fb5d](c16fb5d49b))
* **prettier:** fixup
([ac9217b](ac9217b199))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-07 23:57:13 +02:00
f202f573b4 docs: updated news 2024-06-07 23:54:57 +02:00
ac9217b199 fix(prettier): fixup 2024-06-07 23:24:01 +02:00
af80811be0 fix(cmp): don't enable snippets source without nvim-snippets (#3527)
Make it easier, so if users decide to disable `nvim-snippets`, they
don't have to remove the `snippets` source manually in their config.
2024-06-07 23:12:59 +02:00
cfa8c9fbd4 fix(clojure): removed rainbow delimiters and fixed some plugin setups. Closes #3530 2024-06-07 23:10:40 +02:00
588240ca09 style: better types for vim.api.nvim_create_autocmd 2024-06-07 23:02:47 +02:00
49805748d4 fix(extras): load prettier extra before svelte/astro 2024-06-07 23:02:47 +02:00
945143a34e feat(svelte): with prettier & svelte extra, prettier will be enabled when prettier-plugin-svelte is available 2024-06-07 23:02:47 +02:00
214f5fccdf feat(prettier): with the prettier & astro extra, prettier will be enabled if the prettier-astro-plugin is available 2024-06-07 23:02:47 +02:00
7d50bf0626 feat(prettier): prettier is now enabled for all supported filetypes and no longer requires a config file by default 2024-06-07 23:02:47 +02:00
5a11d740e1 feat(util): added LazyVim.memoize 2024-06-07 23:02:47 +02:00
b714f28662 feat(util): added LazyVim.has_extra 2024-06-07 23:02:47 +02:00
c16fb5d49b fix(formatting): remove deprecation check on some options 2024-06-07 23:02:47 +02:00
789b1b4fd4 chore(main): release 12.9.0 (#3501)
🤖 I have created a release *beep* *boop*
---


##
[12.9.0](https://github.com/LazyVim/LazyVim/compare/v12.8.0...v12.9.0)
(2024-06-07)


### Features

* **autocmd:** enable spell for typst and text file
([#3505](https://github.com/LazyVim/LazyVim/issues/3505))
([8ca7245](8ca7245129))
* **docs:** add link to LazyVim For Ambitious Developers to README
([#3504](https://github.com/LazyVim/LazyVim/issues/3504))
([2a5ab31](2a5ab3109a))
* **lang:** add clojure support
([#2179](https://github.com/LazyVim/LazyVim/issues/2179))
([913902b](913902ba36))
* **neo-tree:** added l:open and h:close_node to neo-tree. Closes
[#3293](https://github.com/LazyVim/LazyVim/issues/3293)
([dbec83d](dbec83d57a))
* **options:** when available use treesitter spell regions for spell
checking
([276b803](276b8032be))
* **sql:** add SQL extra
([#1740](https://github.com/LazyVim/LazyVim/issues/1740))
([59495c1](59495c1871))


### Bug Fixes

* **editor:** telescope init error when trouble.nvim is disabled
([#3518](https://github.com/LazyVim/LazyVim/issues/3518))
([c452fd7](c452fd730c))
* **lualine:** only show one Lualine component for symbols
([#3514](https://github.com/LazyVim/LazyVim/issues/3514))
([827aa53](827aa5380a)),
closes [#3511](https://github.com/LazyVim/LazyVim/issues/3511)
* **mini.files:** fix error about `opts.mappings`
([#3507](https://github.com/LazyVim/LazyVim/issues/3507))
([9210648](92106484ed))
* removed leader-m, since it is leading to too many issues. Still
available at leader-wm
([119dcb9](119dcb949a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-07 20:44:39 +02:00
913902ba36 feat(lang): add clojure support (#2179)
This adds support to Clojure as an extra _lang_ configuration. 
Closes https://github.com/LazyVim/LazyVim/pull/1484
@folke I read the docs and couldn't find a recommendation on _how_ to
suggest features, so I figured opening a PR should be enought. please
let me know if I should do anything else.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-07 17:23:23 +02:00
2ac3f0daa1 ci: Create dependabot.yml 2024-06-07 16:27:31 +02:00
94c338765c style: fix spelling in octo keymap description (#3521) 2024-06-07 16:05:59 +02:00
c1cb4467ec style: fix some spells (#3517) 2024-06-07 13:35:25 +02:00
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
827aa5380a fix(lualine): only show one Lualine component for symbols (#3514)
Fixes #3511
2024-06-07 12:12:05 +02:00
119dcb949a fix: removed leader-m, since it is leading to too many issues. Still available at leader-wm 2024-06-07 10:53:56 +02:00
e1c54ac638 chore(build): auto-generate vimdoc 2024-06-07 07:04:47 +00:00
ab41ff551b refactor: use lazy's new opts_extend functionality for treesitter and mason 2024-06-07 09:03:59 +02:00
f70d350085 style: comment 2024-06-07 07:02:51 +02:00
59495c1871 feat(sql): add SQL extra (#1740)
Co-authored-by: Fredrik Averpil <fredrik.averpil@gmail.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 23:27:59 +02:00
8ca7245129 feat(autocmd): enable spell for typst and text file (#3505) 2024-06-06 22:38:24 +02:00
276b8032be feat(options): when available use treesitter spell regions for spell checking 2024-06-06 22:37:47 +02:00
92106484ed fix(mini.files): fix error about opts.mappings (#3507) 2024-06-06 20:52:40 +02:00
1699091d70 chore(build): auto-generate vimdoc 2024-06-06 16:54:37 +00:00
2a5ab3109a feat(docs): add link to LazyVim For Ambitious Developers to README (#3504)
As requested, here's a link to my book from the README. I'll add the
video and this link to the main page of lazyvim.org as well.
2024-06-06 18:54:02 +02:00
dbec83d57a feat(neo-tree): added l:open and h:close_node to neo-tree. Closes #3293 2024-06-06 18:05:11 +02:00
ad092e96f9 chore(main): release 12.8.0 (#3494)
🤖 I have created a release *beep* *boop*
---


##
[12.8.0](https://github.com/LazyVim/LazyVim/compare/v12.7.0...v12.8.0)
(2024-06-06)


### Features

* **options:** added linebreak=true to default options
([1f4c196](1f4c1964fd))


### Bug Fixes

* **markdown:** missing markdown-toc in mason
([#3499](https://github.com/LazyVim/LazyVim/issues/3499))
([a9aea4b](a9aea4b5a1))
* **mason-nvim-dap:** correctly configure to auto-install debug adapters
([#3493](https://github.com/LazyVim/LazyVim/issues/3493))
([86ba1bc](86ba1bc62d))
* **octo:** fixed octo's rendering of comment signs when lines are
wrapped
([81370cf](81370cf714))
* **octo:** load octo on `octo://*` events, so that those buffers work
after session restore
([e6443ad](e6443ad7dc))
* **php:** php gets recommended in every .git repo
([#3496](https://github.com/LazyVim/LazyVim/issues/3496))
([3654098](3654098520))
* **prettier:** fix prettier config detection. Closes
[#3497](https://github.com/LazyVim/LazyVim/issues/3497)
([e51199c](e51199cffa))
* **prettier:** use prettier to check if prettier should run on the file
([0255b8f](0255b8fdb1))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 17:44:45 +02:00
0255b8fdb1 fix(prettier): use prettier to check if prettier should run on the file 2024-06-06 17:38:12 +02:00
a9aea4b5a1 fix(markdown): missing markdown-toc in mason (#3499)
missing `markdown-toc` in ensure installed for `extra/markdown`
2024-06-06 16:22:40 +02:00
e51199cffa fix(prettier): fix prettier config detection. Closes #3497 2024-06-06 16:15:39 +02:00
3654098520 fix(php): php gets recommended in every .git repo (#3496) 2024-06-06 16:07:39 +02:00
81370cf714 fix(octo): fixed octo's rendering of comment signs when lines are wrapped 2024-06-06 16:05:55 +02:00
1f4c1964fd feat(options): added linebreak=true to default options 2024-06-06 16:05:23 +02:00
e6443ad7dc fix(octo): load octo on octo://* events, so that those buffers work after session restore 2024-06-06 14:58:44 +02:00
86ba1bc62d fix(mason-nvim-dap): correctly configure to auto-install debug adapters (#3493)
Tested with `php` and `kotlin` Extras. 

`kotlin` Extra doesn't have the debug adapter in Mason
`ensure_installed` and doesn't install automatically on its own.

`php` Extra has the debug adapter defined in Mason `ensure_installed`
and does correctly install automatically. However, this should not be
needed due to `mason-nvim-dap`. If you remove [these
lines](ed93ce9c15/lua/lazyvim/plugins/extras/lang/php.lua (L26-L33)),
then the debug adapter doesn't automatically install, but it should.

With the change introduced in this PR, both Extras automatically install
the debug adapters. `kotlin` Extra doesn't need anything else and in
`php` Extra the lines I mentioned previously can be removed or not. The
point is not to remove previously Mason dependencies with debug
adapters, but to correctly configure `mason-nvim-dap`, so in future
Extras you don't have to define the debug adapter inside a Mason
dependency.
2024-06-06 14:35:59 +02:00
ed93ce9c15 chore(main): release 12.7.0 (#3490)
🤖 I have created a release *beep* *boop*
---


##
[12.7.0](https://github.com/LazyVim/LazyVim/compare/v12.6.0...v12.7.0)
(2024-06-06)


### Features

* **extras:** add thrift lang support
([#2804](https://github.com/LazyVim/LazyVim/issues/2804))
([5a19f6b](5a19f6b5fe))
* **extras:** added extra for neogen. Closes
[#2881](https://github.com/LazyVim/LazyVim/issues/2881)
([6fd2c88](6fd2c88024))
* **extras:** added gleam lang support
([#2802](https://github.com/LazyVim/LazyVim/issues/2802))
([1891b02](1891b02d9d))
* **lang:** add elm
([#3023](https://github.com/LazyVim/LazyVim/issues/3023))
([4742390](4742390960))
* **lang:** added php support
([#1450](https://github.com/LazyVim/LazyVim/issues/1450))
([32ba8ea](32ba8ea3fe))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 13:46:20 +02:00
4742390960 feat(lang): add elm (#3023)
Adding https://elm-lang.org support.

- Adds `elm` Treesitter parsers
- Adds `elm-language-server` language server
- Adds `elm-format` formatter

## LSP Configuration

The default
[elm-language-server](https://github.com/elm-tooling/elm-language-server)
configuration matches all [currently supported features for Neovim
LSP](https://github.com/elm-tooling/elm-language-server#editor-support).

## A note on elm-test and elm-review

`elm-test` is not directly supported by [neo-test](../test/neotest) but
it's available via
[neotest-vim-test](https://github.com/nvim-neotest/neotest-vim-test).

However, it is common practice to peruse both
[elm-test](https://github.com/elm-explorations/test/) and
[elm-review](https://github.com/jfmengels/elm-review) directly via the
command line.

---------

Co-authored-by: gacallea <gacallea@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 13:36:02 +02:00
5a19f6b5fe feat(extras): add thrift lang support (#2804)
This PR adds support for thriftls, the first line is because thrift is
not among the neovim built-in file types.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 13:30:17 +02:00
32ba8ea3fe feat(lang): added php support (#1450)
Configures tree-sitter, phpactor as LSP server and
xdebug/vscode-php-debug as DAP server.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 13:26:51 +02:00
1891b02d9d feat(extras): added gleam lang support (#2802)
Added [Gleam lang](https://gleam.run/) support.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-06 13:23:29 +02:00
6fd2c88024 feat(extras): added extra for neogen. Closes #2881 2024-06-06 13:14:04 +02:00
43e4f635d6 chore(main): release 12.6.0 (#3467)
🤖 I have created a release *beep* *boop*
---


##
[12.6.0](https://github.com/LazyVim/LazyVim/compare/v12.5.0...v12.6.0)
(2024-06-06)


### Features

* **bufferline:** allow custom icons for filetypes
([bac4bba](bac4bba016))
* **extras:** added extra for octo.nvim. Make sure to update lazy.nvim,
which-key.nvim and also update tokyonight if you use that theme.
([100c579](100c5793c8))
* **extras:** added new `git` extra with treesitter and issue/pr support
([91a5fc1](91a5fc10e6))
* **extras:** allow recommended to be the args for LazyVim.extras.wants
([502602e](502602e4a2))
* **git:** added leader-gB to browse remotes of the current repo
([c4ccd7c](c4ccd7cbce))
* **keymaps:** add neotest toggle watch keymap
([#3073](https://github.com/LazyVim/LazyVim/issues/3073))
([4d16296](4d1629605b))
* **lang:** add nix language support
([#2956](https://github.com/LazyVim/LazyVim/issues/2956))
([9eae3e0](9eae3e015a))
* **lint:** added support for prepend_args to nvim-lint. Fixes
[#1887](https://github.com/LazyVim/LazyVim/issues/1887)
([4ab123f](4ab123fb31))
* **lsp:** simpler API to deal with code actions
([1bd4d2f](1bd4d2fc72))
* **mini.files:** add cwd and vertical/horizontal keybindings to
mini.files ([#2695](https://github.com/LazyVim/LazyVim/issues/2695))
([393aa44](393aa44e66)),
closes [#2692](https://github.com/LazyVim/LazyVim/issues/2692)
* **nushell:** add minimal support
([#2416](https://github.com/LazyVim/LazyVim/issues/2416))
([4ef42b4](4ef42b4578))
* **prettier:** the prettier extra now needs a prettier config file by
default. See docs to change this.
([8ceccd7](8ceccd71e2))
* **treesitter:** add printf
([#2450](https://github.com/LazyVim/LazyVim/issues/2450))
([0a2f40c](0a2f40c2fb))
* **typescript:** open locations from lsp execute command with trouble
for vtsls
([a636bf2](a636bf2022))


### Bug Fixes

* **angular:** re-fix angular html treesitter
([#3488](https://github.com/LazyVim/LazyVim/issues/3488))
([fd4c38b](fd4c38bc2b))
* **angular:** treesitter not enabled for angular templates
([#3469](https://github.com/LazyVim/LazyVim/issues/3469))
([24af74e](24af74eed6))
* **git:** added recommended
([88db9c5](88db9c5192))
* **kotlin:** kotlin plugin messages and code maintain consistency
([#3291](https://github.com/LazyVim/LazyVim/issues/3291))
([2244af1](2244af1a86))
* **lualine:** don't override user's laststatus setting. See
[#3486](https://github.com/LazyVim/LazyVim/issues/3486)
([4d8d597](4d8d597a3f))
* **svelte:** added organize imports and prettier
([#3466](https://github.com/LazyVim/LazyVim/issues/3466))
([e0a0123](e0a0123b18))
* **svelte:** disable prettier integration for svelte for now. See
[#3466](https://github.com/LazyVim/LazyVim/issues/3466)
([9a11623](9a1162314f))
* **typecript:** remove dependency on `nvim-vtsls`. Not needed anymore
([cae2c22](cae2c226b5))
* **ui:** remove extra space in extras ui
([#3481](https://github.com/LazyVim/LazyVim/issues/3481))
([2c2b6f2](2c2b6f200c))
* **which-key:** use new which-key support for native group keymaps
(nop)
([8010f50](8010f50aa5))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 12:50:45 +02:00
0a2f40c2fb feat(treesitter): add printf (#2450)
```c
printf("%s\n", "Finally!");
```
2024-06-06 12:42:09 +02:00
fd4c38bc2b fix(angular): re-fix angular html treesitter (#3488)
This was previously attemped to be fixed by
https://github.com/LazyVim/LazyVim/pull/3469, which caused an issue with
angular LSP.
The PR was reverted as mentioned in
https://github.com/LazyVim/LazyVim/pull/3485.

This PR implements suggestion by @folke, which fixes treesitter without
breaking LSP.
2024-06-06 12:31:25 +02:00
88db9c5192 fix(git): added recommended 2024-06-06 12:29:53 +02:00
100c5793c8 feat(extras): added extra for octo.nvim. Make sure to update lazy.nvim, which-key.nvim and also update tokyonight if you use that theme. 2024-06-06 12:25:11 +02:00
91a5fc10e6 feat(extras): added new git extra with treesitter and issue/pr support 2024-06-06 12:24:00 +02:00
4d8d597a3f fix(lualine): don't override user's laststatus setting. See #3486 2024-06-06 11:16:36 +02:00
2bbc7e179d Revert "fix(angular): treesitter not enabled for angular templates (#3469)"
This reverts commit 24af74eed60bf2f02d963fd730b07e537cdf34dc.
2024-06-06 10:54:43 +02:00
2244af1a86 fix(kotlin): kotlin plugin messages and code maintain consistency (#3291)
### Description
I am the author of this
[PR](https://github.com/LazyVim/LazyVim/pull/2890).

While reviewing my own code and checking the LazyVim official website, I
noticed some inconsistencies 😓 , so I created a small PR to address
them:

### Changes
1.Each optional plugin has a comment message indicating that the plugin
is optional, but DAP does not (as shown in the image). Since the
official website already has an "optional" in title.
**I removed the comment messages regarding "optional" to avoid
confusion**.
<img width="300" alt="Screenshot 2024-05-23 at 10 31 38 PM"
src="https://github.com/LazyVim/LazyVim/assets/82575487/441979fc-20dd-4599-a91d-f27bc0841d79">


---

2. I changed the DAP to use local variables for DAP to maintain
consistency, even though both require statements reference the same
module.
2024-06-06 10:53:58 +02:00
8010f50aa5 fix(which-key): use new which-key support for native group keymaps (nop) 2024-06-06 10:46:56 +02:00
bac4bba016 feat(bufferline): allow custom icons for filetypes 2024-06-06 10:46:56 +02:00
c4ccd7cbce feat(git): added leader-gB to browse remotes of the current repo 2024-06-06 10:46:56 +02:00
86811ad7aa chore(build): auto-generate vimdoc 2024-06-06 04:10:32 +00:00
2c2b6f200c fix(ui): remove extra space in extras ui (#3481)
Remove extra space between icon and text (for source label).

## Before:
<img width="1893" alt="image"
src="https://github.com/LazyVim/LazyVim/assets/3313023/7778e103-729a-4231-bb23-0482ae9d8506">

## After:
<img width="1893" alt="image"
src="https://github.com/LazyVim/LazyVim/assets/3313023/b8e6b4d3-2554-4312-b7d3-7fd5b8c146d4">
2024-06-06 06:09:58 +02:00
24af74eed6 fix(angular): treesitter not enabled for angular templates (#3469)
## Problem
Treesitter was not working in angular html templates after enabling
`lang.angular` extra.

## Solution
Added a change recommeded by angular treesitter developer to enable
treesitter for components and containers.

### Reference to recommendation in treesitter docs
[Reference to the recommendation for this
hack](https://github.com/dlvandenberg/tree-sitter-angular?tab=readme-ov-file#filetype).
2024-06-06 00:01:42 +02:00
4d1629605b feat(keymaps): add neotest toggle watch keymap (#3073) 2024-06-05 23:46:21 +02:00
9eae3e015a feat(lang): add nix language support (#2956)
In the future we can add:
- dap / debugger support, if this is ever possible or needed.
- extend neotest, if this is ever needed, for most people I suspect not
needed.
- linting, if this is ever needed.
- ~~maybe enhance nvim-cmp behavior with nixpkgs, rust lang extension
crates.nvim does smt with nvim-cmp, other language extensions don't.~~

I think its already good to merge this PR, we can add these enhancements
later, if they are ever needed.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 23:44:43 +02:00
4ef42b4578 feat(nushell): add minimal support (#2416)
## Description

This will add minimal support for [Nushell](https://www.nushell.sh/)
include lspconfig and treesitter highlight

## Additional Context

Close #2164

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 23:35:46 +02:00
502602e4a2 feat(extras): allow recommended to be the args for LazyVim.extras.wants 2024-06-05 23:35:14 +02:00
393aa44e66 feat(mini.files): add cwd and vertical/horizontal keybindings to mini.files (#2695)
* Makes the toggle_hidden keybinding configurable via mappings
* Adds new mini.files keybindings for opening files in a vertical split,
with both go_in and go_in_plus modes (configurable via mappings)
* Adds new keybinding to change working directory from mini.files
(configurable via mappings)

Closes #2692
2024-06-05 23:22:14 +02:00
d704ca4c1b ci: feature template 2024-06-05 23:11:06 +02:00
4ab123fb31 feat(lint): added support for prepend_args to nvim-lint. Fixes #1887 2024-06-05 23:02:19 +02:00
8ceccd71e2 feat(prettier): the prettier extra now needs a prettier config file by default. See docs to change this. 2024-06-05 22:55:36 +02:00
9a1162314f fix(svelte): disable prettier integration for svelte for now. See #3466 2024-06-05 22:20:35 +02:00
cae2c226b5 fix(typecript): remove dependency on nvim-vtsls. Not needed anymore 2024-06-05 22:19:44 +02:00
a636bf2022 feat(typescript): open locations from lsp execute command with trouble for vtsls 2024-06-05 22:19:19 +02:00
1bd4d2fc72 feat(lsp): simpler API to deal with code actions 2024-06-05 22:18:14 +02:00
e0a0123b18 fix(svelte): added organize imports and prettier (#3466)
* feat(svelte): add key binding for organize imports

* fix(svelte): solves sveltejs/language-tools#2008

* feat(svelte): add formatter for svelte
2024-06-05 20:28:23 +02:00
61689ad543 chore(main): release 12.5.0 (#3444)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-05 19:58:44 +02:00
4cc586a3f1 tests: refactored tests a bit 2024-06-05 19:53:50 +02:00
1d42e45fd2 ci: remove commit linter in favor of PR title linter 2024-06-05 18:24:52 +02:00
73c767c2f3 fix(util): don't print warning message in headless 2024-06-05 18:15:45 +02:00
f8268faa7c fix: cleanup unnecessary treesitter langs and mason lsp servers 2024-06-05 18:07:01 +02:00
368c060b45 tests: check for treesitter langs and mason lsp config 2024-06-05 17:47:46 +02:00
ca0b9ee915 fix(extras): added recommended for helm/haskell 2024-06-05 17:36:02 +02:00
106130f4cd ci: added some tests 2024-06-05 17:31:51 +02:00
373d6b60e1 style: python.lua 2024-06-05 16:42:13 +02:00
1cdb5bdf41 feat(python): switch to regexp branch for a rewrite the venv selector plugin (#3301)
It has eliminated many bugs and allows users to easily add their searches, if the plugin doesn't find them automatically.
2024-06-05 16:33:49 +02:00
1806ea710f feat(bufferline): add keymaps for BufferLineMovePrev / BufferLineMoveNext (#1935)
* Add mappings for BufferLineMovePrev / BufferLineMoveNext

* Change to '[B' and ']B'

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 16:11:16 +02:00
de9e337f0d feat(keymaps): add keymap to close all tab pages except the current one (#2975)
* feat(keymaps): add keymap to close all tab pages except the current one

* fix: use o

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 16:04:17 +02:00
99c06952a0 ci: stale 2024-06-05 15:53:22 +02:00
90d8ff27d2 ci: fix stale workflow 2024-06-05 15:43:22 +02:00
d6dea2247c ci: enable conventional commit linter on main 2024-06-05 15:41:32 +02:00
7f65b24113 style: r.lua 2024-06-05 15:38:04 +02:00
ff9ca808e0 ci: added stylua / stale / conventional commits 2024-06-05 15:36:56 +02:00
cdadb59ee3 docs(pt): add readme in portuguese (#1958) 2024-06-05 15:23:09 +02:00
ea62195fe5 docs: Added Japanese Translation of the README (#2232)
* add Japanese README file

* fix some typo
2024-06-05 15:22:50 +02:00
a2cf7d9a11 docs: add the Korean version of README (#2495) 2024-06-05 15:22:30 +02:00
7ed5a6c371 ci: remove custom pr-numbers again 2024-06-05 15:20:32 +02:00
71165ac52a ci: label more PRs 2024-06-05 15:19:04 +02:00
39c10b2b81 ci: remove custom pr-numbers 2024-06-05 15:16:39 +02:00
cf2870cce0 ci: fix labels 2024-06-05 15:10:46 +02:00
b764947061 ci: run labeler on existing PRs 2024-06-05 15:08:20 +02:00
75dcce02dc ci: added PR labeler 2024-06-05 15:03:08 +02:00
1faa562964 ci: change the release please action name to new (#3259)
* ci: change the release please action name to new

* Update ci.yml

* Create release-please-config.json

* fix: add release manifest

* fix: release-please

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 14:49:33 +02:00
c52242b05b style: format 2024-06-05 13:42:15 +02:00
662e2ffe0f fix(keymaps): use root dir for git log 2024-06-05 13:41:59 +02:00
fa706b320b feat(statuscol): statuscolumn options for open fold indicator and fold hl (#2923)
* feat(statuscol): fold open indicator

* fix: make it configurable

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-06-05 11:23:19 +02:00
d64d761539 feat: enabled ts-plugin support for astro and svelte 2024-06-05 11:09:12 +02:00
e32d1918ae fix(python): removed the python-semshi extra 2024-06-05 11:01:10 +02:00
HJK
c1f5fcf9c7 fix(extra.lang.scala): Fix the always initializing regardless of file… (#3455)
* fix(extra.lang.scala): Fix the always initializing regardless of filetype

* fix typo
2024-06-05 08:07:13 +02:00
452b70ad15 fix(toggle): slightly better maximize 2024-06-05 07:40:28 +02:00
1c583650e6 fix(toggle): un-maximize when quiting Neovim 2024-06-05 07:02:19 +02:00
90e68edfe7 chore(build): auto-generate vimdoc 2024-06-05 04:55:23 +00:00
8971ea25f9 fix(toggle): Restore width/height values when closing while maximized is toggled on (#3453) 2024-06-05 06:54:52 +02:00
987bd2207f feat(extras): Add extra for angular lspconfig (#2806)
* feat(extras): Add extra for angular lspconfig

Since treesitter has better support for angular parser recently that works for the legacy and the latest version of it,
I am happy to suggest this extra configuration that works for well for me without any issue.
And since lack of references about how to config the angular lsp inside of neovim out there, this will work fine as a starting point.

* feat(extras): Added `angularls` lsp configuration

* feat(extras.lang): update `angularls` configuration

---------

Co-authored-by: Radvil <radvil.linux@gmail.com>
2024-06-04 19:03:16 +02:00
9a635ef8d6 fix(lsp): Enable using deno.enablePaths in denols settings (#3446) 2024-06-04 11:31:29 +02:00
1677b3b84f feat(lazydev): use lazydev with neodev types (not the plugin) on Neovim 0.9.x 2024-06-04 11:14:48 +02:00
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
ae0d94e048 fix(lazydev): add cmd 2024-06-04 09:39:37 +02:00
3df8af369c fix(tex): remove latex treesitter support since it's not needed with vimtex and it needs treesitter-cli 2024-06-04 09:39:37 +02:00
0c396e298a chore(main): release 12.4.0 (#3422)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-04 08:49:37 +02:00
2c6dbd9b89 chore(build): auto-generate vimdoc 2024-06-04 06:44:06 +00:00
39da8514d3 feat(lazydev): new lazydev config based on trigger words 2024-06-04 08:43:31 +02:00
4d706f1bdc fix(ui): fix incorrect colors on change colorscheme (lualine) (#3431) 2024-06-03 10:30:57 +02:00
d6c59d9a41 feat(hipatterns): added vue/astro 2024-06-03 09:24:19 +02:00
1731e455d4 fix(hipatterns): update mini-hipatterns.lua config to add support for heex, rust and svelte files (#3430)
* Update mini-hipatterns.lua

added support for heex, rust and svelte to hipatterns

* Update mini-hipatterns.lua
2024-06-03 09:22:23 +02:00
40df5896d5 chore(build): auto-generate vimdoc 2024-06-03 07:12:58 +00:00
6c3fd9fedf fix: hack for dashboard.nvim so that it shows errors when exiting 2024-06-03 07:12:17 +02:00
da7b7738eb fix(luasnip): move mappings to cmp spec so that they dont conflict with native snippets 2024-06-02 18:43:44 +02:00
83c0c9405a fix: fixup for nvim-snippets compat on 0.9. Fixes #3426 2024-06-02 17:47:27 +02:00
028d5bcac5 fix(todo-comments): use toggle for Trouble todo commands (#3424) 2024-06-02 14:53:58 +02:00
bb66618f1f fix(lazydev): easier way of defining library plugin paths 2024-06-02 14:24:14 +02:00
6da95ee7d3 fix(todo-comments): use trouble filters for showing only todo/fix/fixmes 2024-06-02 12:30:54 +02:00
b289fea163 chore(main): release 12.3.0 (#3415)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-02 10:03:48 +02:00
6ba62855e2 chore(build): auto-generate vimdoc 2024-06-02 07:35:29 +00:00
5e76948d58 feat(coding): use lazydev.nvim instead of neodev.nvim 2024-06-02 09:33:52 +02:00
596c439db5 feat(util): utility methods for lazy plugins 2024-06-02 09:33:19 +02:00
c14d21ce75 feat: moved neoconf.nvim to extras 2024-06-02 09:05:16 +02:00
8024201e75 refactor: move 0.9 stuff to a compat layer. Cleaner this way 2024-06-01 20:46:58 +02:00
595069d501 R.lua make R output themed by neovim theme (#3416) 2024-06-01 15:05:34 +02:00
b2858a297a feat(extras): show extras imported in other extras 2024-06-01 11:22:17 +02:00
45b92aa381 feat(extras): split enabled in enabled plugins/languages 2024-06-01 11:21:28 +02:00
c69553e194 fix(dot): added dot to recommended 2024-06-01 11:21:03 +02:00
c98fbef3b5 fix(json): added *.json to recommended 2024-06-01 11:20:50 +02:00
c33d6578a8 fix(util): make sure doc gen works 2024-06-01 10:25:10 +02:00
2e9da7f41f chore(main): release 12.2.0 (#3377)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-01 09:52:43 +02:00
7598a7503d feat(extras): added extra for svelte. Full support will be enabled once my mason PR gets merged 2024-06-01 09:08:09 +02:00
4e62df4269 fix(health): remove old deprecated module checks 2024-06-01 08:48:44 +02:00
a6df15a63f fix(util): make sure mason is loaded when getting package paths 2024-06-01 08:48:29 +02:00
276b50e389 style: docs for LazyVim.extend 2024-06-01 08:42:00 +02:00
679c76a8f3 chore(build): auto-generate vimdoc 2024-06-01 06:34:09 +00:00
683aaeb75b feat(astro): added support for ts-plugin, but won't work till mason-registry PR is merged. See #3364 2024-06-01 08:33:24 +02:00
9d999fa210 refactor: refactored mason/typescript/vue support 2024-06-01 08:31:10 +02:00
135150307b fix(aerial): disable trouble leader-cs keymap when aerial extra is enabled 2024-05-31 23:47:48 +02:00
146c87cd78 fix(trouble): don't enable symbols keymap when outline.nvim enabled (#3408) 2024-05-31 23:46:30 +02:00
e7430b0776 fix(vue): correctly add plugins. See #3401 2024-05-31 20:53:55 +02:00
07ff12f5eb fix(extras.lang.vue) missing typescript autocomplete in .vue files (#3401)
* Fix missing autocomplete in .vue files

The existing Vue extra was not properly configuring vtsls to use the globalPlugin: '@vue/typescript-plugin'

This commit fixes missing typescript autocomplete in .vue files.

* move @vue/typescript-plugin back to extend function call

* tidy LazyVim.extend() arguments
2024-05-31 20:52:01 +02:00
abc6554e24 fix(ui): remove old alpha.nvim warning 2024-05-31 16:49:47 +02:00
ae381c91a1 Revert "fix(rust): let rustaceans.nvim setup rust_analyzer (#3389)"
This reverts commit 3fadf6af8f4adc1788fb8adec1fd9850d12feaf8.
2024-05-31 14:24:27 +02:00
d02b73d72a fix(ui): allow to disable the trouble lualine component with vim.g.trouble_lualine = false (#3391)
* fix(ui): do not add trouble to lualine when aerial is enabled

* refactor: make trouble lualine an option

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-31 14:07:55 +02:00
6678af37ee fix(copilot-chat): no need to schedule which-key keys. just use default 2024-05-31 13:59:53 +02:00
3fadf6af8f fix(rust): let rustaceans.nvim setup rust_analyzer (#3389)
fix this warning
```
   Warn  11:52:45 PM notify.warn nvim-lspconfig.rust_analyzer has been setup.
This will likely lead to conflicts with the rustaceanvim LSP client.
See ':h rustaceanvim.mason'
```
fix taken from https://github.com/mrcjkb/rustaceanvim/blob/master/doc/mason.txt
2024-05-31 13:56:40 +02:00
9f2cc30246 fix(lsp): better way of extending deeply nested lists. Fixes #3398 2024-05-31 13:52:43 +02:00
7782affc90 chore(build): auto-generate vimdoc 2024-05-31 06:22:30 +00:00
a474aea1f9 fix: rename +a which-key group to ai. Fixes #3392 2024-05-31 08:21:50 +02:00
060f56d6d4 fix(extras): underline = false for setting diagnostics (#3379)
Similar to ea7b9c3c3f#
I only noticed this, because in my main config I have some Extras not
managed by `LazyExtras`.
2024-05-30 16:08:34 +02:00
0a9373733f feat(typescript): add keymap for remove unused imports (#3376) 2024-05-30 15:30:20 +02:00
298a8f5c5d chore(main): release 12.1.0 (#3362)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-30 14:55:03 +02:00
95d055dcf7 feat: trouble v3 2024-05-30 14:41:13 +02:00
ae098d67d6 fix(typescript): vtsls server expe settings (#3372)
Based on [vtsls schema](bd2df5a2d4/packages/service/configuration.schema.json (L1092)), experimental setting should be vtsls property not typescript.

```json
"vtsls.experimental.completion.enableServerSideFuzzyMatch": {
      "default": false,
      "type": "boolean",
      "description": "Execute fuzzy match of completion items on server side. Enable this will help filter out useless completion items from tsserver."
    },
```
2024-05-30 11:29:09 +02:00
c2ef09227e fix: remove lazygit log gl keymap when on gitui (#3371) 2024-05-30 11:17:55 +02:00
e7d4b397b2 feat(extras): simple extra for astro 2024-05-30 11:17:24 +02:00
cf6775a959 fix(typescript): allow easier merging of ts plugins 2024-05-30 11:17:23 +02:00
c4b7505969 fix(extras): show recommended languages above enabled plugins 2024-05-30 11:17:23 +02:00
7414e84af9 fix(root): escape glob expressions 2024-05-30 11:17:23 +02:00
b285a46dfc feat(typescript): vtls add select ts version (#3366) 2024-05-30 09:57:10 +02:00
2e5e46d9ff chore(build): auto-generate vimdoc 2024-05-30 05:19:20 +00:00
a224ef2a73 fix(clangd): switch source/header is now leader-ch. Fixes #3363 2024-05-30 07:18:41 +02:00
2a7d163a8a feat(copilot-chat): add cmp integration 2024-05-30 00:27:13 +02:00
80143069ff chore(main): release 12.0.0 (#3357)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-29 22:37:15 +02:00
3ace8277e5 feat(keymaps): new keymap to toggle mazimize of current window leader-m or leader-wm 2024-05-29 22:35:40 +02:00
a13457eea3 fix(trouble_v3): set correct lualine section background color 2024-05-29 21:38:05 +02:00
0975eeb9ad feat(vscode): added ts-comments to allow list for vscode 2024-05-29 18:22:54 +02:00
804756209e fix(lsp): remove duplicate keymap 2024-05-29 16:39:02 +02:00
01e6718e03 fix(lsp): added support for has as array for lsp keymaps 2024-05-29 16:31:16 +02:00
38b8736b81 feat(typescript): added gR to goto file references 2024-05-29 16:02:38 +02:00
4dfd5c2596 fix(lsp): create gr with nowait=true 2024-05-29 16:02:13 +02:00
f6bcf6f12c fix(lsp): fix ts/deno both attaching 2024-05-29 15:39:17 +02:00
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
cf46d265ff chore(build): auto-generate vimdoc 2024-05-29 12:46:34 +00:00
b949dba489 feat(lsp): added leader-cR to rename the current file and to lsp rename operations 2024-05-29 14:45:55 +02:00
4bbeb37a18 fix(lsp): fix LazyVim's on_file_rename to work according to the lsp spec 2024-05-29 14:45:55 +02:00
54d687383d style: cleanup 2024-05-29 14:45:55 +02:00
0160851a25 chore(main): release 11.11.0 (#3351)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-28 23:04:16 +02:00
1b86d7b2ad fix(snippets): fix snippets with multiple placeholders for the same tabstop 2024-05-28 19:32:21 +02:00
eb0da3c92f feat(snippets): try to use the snippet parse to get a preview 2024-05-28 19:31:59 +02:00
425dadef72 fix(snippets): show actual error for failed snippet 2024-05-28 19:31:22 +02:00
91493588a8 fix(nvim-snippets): no longer needed to set global_snippets 2024-05-28 17:51:10 +02:00
97bdcc1c52 chore(main): release 11.10.0 (#3339)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-28 16:15:34 +02:00
a6e6d4dabd fix(nvim-snippets): remove extra filetypes since thats no longer needed with merged PR 2024-05-28 16:12:53 +02:00
cf4374867d feat(snippets): re-number tabstops for invalid snippets 2024-05-28 16:12:35 +02:00
025ba33dc3 fix(nvim-snippets): also enable for tsx/jsx files 2024-05-28 15:13:29 +02:00
99f0a1cb40 fix(nvim-snippets): load js snippets for ts. See #3344 2024-05-28 15:11:32 +02:00
de57894158 feat(scala-extra): Use noice for progress and add minimal keybinding (#3348)
* Use fidget for progress and add minimal keybinding

* remove figest, noice works already

* make keybinding only available for scala filetypes
2024-05-28 14:55:11 +02:00
80c9dcaabe feat(lang): add R (#3272)
* Added R extra

* Removed "made by Ben10164"

* Formatted Lua

* Removed hardcoded addition of R-languageserver in MasonLSP

* Improved nvim-lspconfig config for r_language_server

* Added nvim-neotest

* Format

* Removed Lualine

* Rework into opts, modify `pdfviewer` to be os dependent

* refactor: r

* fix: add cmp-r back

* Added quarto whichkey group label

* Set pdfviewer to be an empty string

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-28 13:44:38 +02:00
a3011c91d4 chore(build): auto-generate vimdoc 2024-05-28 05:40:04 +00:00
47a8736278 feat(keymaps): add comment above/below current line with gco/gcO 2024-05-28 07:39:26 +02:00
e68ff6897e feat(lsp): config option to exclude certain filetypes from inlay hints. Closes #3202 2024-05-27 21:19:36 +02:00
08481c2c92 fix(copilot-chat): enhanced chat view is now merged upstream, so update your plugins! 2024-05-27 20:57:49 +02:00
505ce3851c chore(main): release 11.9.0 (#3333)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-27 18:24:15 +02:00
0a63734b78 fix(lsp): double check for documentHighlight. See #3246 2024-05-27 18:22:44 +02:00
a23e8c15f5 feat(copilot-chat): enhanced rendering of the chat window 2024-05-27 18:16:35 +02:00
02b240cea5 fix(copilot-chat): clear -> reset 2024-05-27 17:53:38 +02:00
eb1c04bd31 fix(terminal): make gf behave. Fixes #3335 2024-05-27 17:38:51 +02:00
163f7ea303 fix(edgy): load edgy spec early 2024-05-27 17:38:30 +02:00
2695fc7dfc feat(copilot-chat): make keymaps work in visual mode 2024-05-27 16:48:22 +02:00
54d7cea305 fix(typescript): invalid value in inlayHints options (#3331) 2024-05-27 13:48:22 +02:00
91fe7ef568 chore(main): release 11.8.0 (#3326)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-27 09:07:31 +02:00
46785526a6 feat(extras): added extra for CopilotChat.nvim 2024-05-27 08:42:30 +02:00
d3500a4a33 fix(rust): show error when rust-analyzer not found 2024-05-27 08:09:24 +02:00
f48d55a653 fix(lang/rust): Remove rust-analyzer from nvim-lspconfig (#2755)
According to the maintainer of `rustaceanvim` (see his comment [here](https://github.com/LazyVim/LazyVim/pull/2198#issuecomment-1999475044)) he says
> To pick up on this: There's a good reason rustaceanvim doesn't automatically pick up a mason.nvim installation. It will most likely be built with a different toolchain than the one your project uses, often leading to discrepancies and subtle bugs.
It's easy to configure rustaceanvim to use mason.nvim if you really want it, but I generally adhere to the YAGNI principle.

I tried locally and the removal of `rust-analyzer` from `nvim-lspconfig` doesn't
seem to have any effect on how `rustaceanvim` behaves.

I propose to remove all instances of `rust-analyzer` from `nvim-lspconfig` to avoid
any possible issues from users that don't have `rust-analyzer` installed
in their toolchain (in this case it would pick up Mason's $PATH I
believe), since they will think that since `rust-analyzer` is installed
by Mason, there shouldn't be a problem and report issues as bugs.
2024-05-27 08:04:51 +02:00
9ccdbf644c feat(git): Change Commit Log to use Lazygit (#2959)
* feat(git): Change Commit Log to use Lazygit

* fix: use gl

* fix conflicts

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-27 07:53:49 +02:00
dbed614655 fix(laygit): normalize paths. Fixes #3327 2024-05-27 05:35:47 +02:00
61dc00147b chore(build): auto-generate vimdoc 2024-05-27 05:14:23 +00:00
d23e8572e8 fix(laygit): use correct .git root for git blame 2024-05-27 07:13:43 +02:00
53911748dd fix(snippet): always use top-level snippet session. Fixes #3199 2024-05-26 18:51:14 +02:00
59204df1cb chore(main): release 11.7.0 (#3317)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-26 17:04:15 +02:00
3a30070a4c feat: lazyrc files are now a lazy.nvim feature 2024-05-26 16:49:48 +02:00
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
b3373f3428 fix(lsp): added a-n, a-p for document highlights and cycling. Closes #3320 2024-05-26 16:03:13 +02:00
c9ab8224f5 fix(illuminate): s/enabed/enabled (#3313) 2024-05-26 10:38:28 +02:00
cdff9de172 fix(lsp): correct previous reference keymap description (#3314) 2024-05-26 10:33:40 +02:00
945ee7e283 chore(build): auto-generate vimdoc 2024-05-26 08:11:46 +00:00
07a137199c fix(lsp): properly get buffer for dynamic capabilities (#3315) 2024-05-26 10:11:12 +02:00
0f6ff53ce3 chore(main): release 11.6.1 (#3292)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-23 17:41:03 +02:00
10ed3082a4 fix(lsp): use proper buffer for dynamic capabilities. Fixes #3246 2024-05-23 17:39:23 +02:00
c6e8c5b450 chore(main): release 11.6.0 (#3269)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-23 07:15:41 +02:00
692aa08da7 chore(build): auto-generate vimdoc 2024-05-23 05:14:55 +00:00
46cf5347b5 fix(lsp): only enableinlay hints for when buffer is an actual file. See #3284 2024-05-23 07:14:17 +02:00
f9b31372ae fix(python): extras.lang.python to enable venv select keys on ft (#3280) 2024-05-22 19:39:16 +02:00
ad6c9bcfab Revert "fix: set markdown for LICENSE file (#3276)"
This reverts commit 1eea51606e1ec1035c440a4ca9b3eab053337a7d.
2024-05-22 19:37:23 +02:00
31f876cc4c chore(build): auto-generate vimdoc 2024-05-22 17:37:04 +00:00
1eea51606e fix: set markdown for LICENSE file (#3276) 2024-05-22 19:36:33 +02:00
ae6d8f1a34 feat(markdown): add formatter for mdx 2024-05-21 23:05:29 +02:00
9eec03d890 feat(markdown): configure conform for markdown files (#2308) 2024-05-21 23:03:43 +02:00
79608fbc4f feat(telescope): add telescope jumplist keymap (#3268) 2024-05-21 22:56:15 +02:00
3ebe30685d chore(main): release 11.5.0 (#3265)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-21 22:28:15 +02:00
e46dd4e9b2 fix(neo-tree): better icons for git staged/unstaged 2024-05-21 22:06:52 +02:00
ab4e57a4bf feat(telescope): add quickfix and telescope keymaps (#3077) 2024-05-21 20:34:28 +02:00
027d6bc2e8 fix(snippets): my nvim-snippets PR is merged, so remove work-around. That was quick :) 2024-05-21 20:26:30 +02:00
cb1e1b9c82 fix(snippets): fixes custom snippets. use my branch till nvim-snippets PR is merged. Fixes #3240 2024-05-21 20:18:20 +02:00
d73397c4aa fix(snippets): make friendly snippets a dep of nvim-snippets 2024-05-21 19:54:20 +02:00
2bae438570 fix(cmp): fix cmp's broken snippet parsing functionality. Fixes #3266 2024-05-21 19:51:13 +02:00
8ba7c64a7d feat(comments): use ts-comments.nvim instead of nvim-ts-context-commentstring on Neovim 0.10 2024-05-21 19:31:40 +02:00
55b07dee21 fix(nvim-snippets): enable global friendly-snippets. See #3240 2024-05-21 19:22:41 +02:00
8c94842b4a fix(lsp): sometimes lsp client is not fully initialized and doesnt yet have client.supports_method on 0.9.5. Fixes #3263 2024-05-21 18:23:10 +02:00
d19a004136 chore(build): auto-generate vimdoc 2024-05-21 10:01:38 +00:00
6aae99e76d chore(main): release 11.4.1 (#3256)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-21 12:00:59 +02:00
8e67bb1240 fix(java): properly pass settings to jdtls 2024-05-20 22:39:36 +02:00
50626e3092 chore(main): release 11.4.0 (#3243)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-20 21:26:18 +02:00
dd417c36cd feat(kotlin): added recommended checks 2024-05-20 21:25:29 +02:00
94c9f4cf37 feat(extras.lang): Add kotlin (#2890)
* Add kotlin lang

* Update the opts.ensure_installed

* Add the kotlin setup in nvim-dap

* Update plugins based on the review comments.

1. Remove kotlin language server from mason

2. Add optinal is true, only enabled if the user has explicitly enabled
the extra plugin.

3. Remove duplicate dependencies cause they are already defined in the
plugin.

4. Add none-ls as optional

* Update comment message
2024-05-20 21:24:50 +02:00
e5ea8abd38 feat(java): enable inlay hints. Fixes #3244 2024-05-20 20:42:25 +02:00
3db94e44a0 refactor(lsp): refactored again :) 2024-05-20 20:25:55 +02:00
0006fe7a3c refactor(cmp): snippet_resolve => snippet_preview 2024-05-20 20:05:02 +02:00
5726f3966d feat(vscode): enable more compatible plugins (#3250) 2024-05-20 19:56:14 +02:00
130d402759 chore(build): auto-generate vimdoc 2024-05-20 17:54:27 +00:00
ea1c3ad6b4 fix(bufferline): unpin bufferline with 0.9.x compatibility (#3252) 2024-05-20 19:53:49 +02:00
ac092289f5 refactor(lsp): prevent autocmd leaks 2024-05-20 00:56:25 +02:00
69751cf417 refactor(lsp): refactored on_supports_method 2024-05-20 00:35:52 +02:00
32f000754f docs: readme should be unix format. Fixes #3247 2024-05-20 00:13:18 +02:00
20e002f9f0 feat(lsp): properly update certain Neovim functionlity based on dynamic capabilities. See #3244. Fixes #3246 2024-05-20 00:08:05 +02:00
97862f4259 feat(cmp): better error handling and automatic fixing of snippets that fail to parse with native Neovim snippets 2024-05-19 22:48:01 +02:00
7d72436193 feat(cmp): resolve placeholders in generated missing snippet documentation 2024-05-19 22:47:13 +02:00
2961162eba fix(cmp): use better cmp.confirm 2024-05-19 22:46:09 +02:00
24a2a9fb0b feat(cmp): add missing documentation to snippets when needed 2024-05-19 21:47:42 +02:00
39f3ebcadf feat(cmp): move cmp autobracket support to util class 2024-05-19 21:46:54 +02:00
57a31c3920 fix(cmp): no need to setup native snippets with latest cmp 2024-05-19 21:24:23 +02:00
c264253d8f feat(toml): also recommend toml when theres toml files in the cwd 2024-05-19 21:23:49 +02:00
76033c6aa9 fix(config): add some extra LazyVim keys to lazy health 2024-05-19 21:12:51 +02:00
e0c67f6776 feat(lang): add toml (#3022)
Co-authored-by: gacallea <gacallea@users.noreply.github.com>
2024-05-19 20:47:00 +02:00
a72baa8295 chore(main): release 11.3.2 (#3232)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-19 19:46:44 +02:00
573aa226f9 fix(bufferline): pin bufferline to older version on 0.9.x for now 2024-05-19 19:44:37 +02:00
4a41012483 fix: show refactored success msg (#3233) 2024-05-19 17:45:36 +02:00
93c156a0a5 fix(yanky): load yanky earlier to avoid losing deleted lines (#3234) 2024-05-19 17:25:00 +02:00
ad22adab7d fix(cmp): only complete on <cr> when cmp is really visible. Dont wait till it might be visible. Faster and more correct imho 2024-05-19 09:58:28 +02:00
4208a09df8 fix(git): off-by-one issue in lazygit blame line (#3230) 2024-05-19 09:30:03 +02:00
e346d17812 fix(gitui): properly delete lazygit keymap at the correct time. Fixes #3227 2024-05-19 09:29:17 +02:00
74b7c9110e chore(build): auto-generate vimdoc 2024-05-19 07:24:09 +00:00
22c4eadef5 docs: Clarify vim.g.deprecation_warnings behavior (#3229)
The previous wording was a little clunky (disable disabling). This removes the double negative.
2024-05-19 09:23:37 +02:00
b0128b60bf chore(main): release 11.3.1 (#3226)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-18 23:55:59 +02:00
3a4672de3f fix(util): fixup 2024-05-18 23:54:17 +02:00
32cdfa5e26 chore(main): release 11.3.0 (#3221)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-18 23:30:40 +02:00
673975ebbe feat(cmp): create undo point right before confirming a completion 2024-05-18 23:28:38 +02:00
96aa4b8877 fix(plugin): typo (#3225) 2024-05-18 22:31:13 +02:00
649fa9d521 fix(keymaps): delete lazygit keymap when using gitui (#2986)
* fix(keymaps): delete lazygit keymap when using gitui

* Update gitui.lua
2024-05-18 21:55:54 +02:00
4614666d1e fix(ibl): remove ibl fix since it's been fixed upstream 2024-05-18 21:53:26 +02:00
d8644c4715 feat(mini.ai): mini.ai is back in core with some improved features. Removing it was a mistake. 2024-05-18 21:53:26 +02:00
4105c0ad3a feat(util): added Util.is_loaded 2024-05-18 21:53:26 +02:00
fe552853f5 fix(treesitter): refactored treesitter code and fixed nvim-treesitter-textobjects 2024-05-18 21:53:26 +02:00
4bc9389bb5 refactor(snippets): refactored snippet code 2024-05-18 21:53:26 +02:00
eb6c9fb578 fix(mini.starter): changes based on echasnovski's recommendation (#3223) 2024-05-18 18:14:35 +02:00
a4d83524a7 fix(lsp): move next/prev reference keymaps to lsp keymaps. See #3220 2024-05-18 15:46:35 +02:00
9080959981 chore(main): release 11.2.0 (#3206)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-18 15:07:54 +02:00
30b8169cb2 docs: updated news on new recommended extras 2024-05-18 14:53:20 +02:00
d514e2fa93 feat(extras): added trouble-v3 and mini-hipatterns to recommended 2024-05-18 14:47:31 +02:00
c29213416b feat(extras): added recommended detectors for all languages 2024-05-18 14:39:20 +02:00
03ea7f6f98 feat(root): added support for *.xxx root patterns 2024-05-18 14:38:53 +02:00
ef3bd3bd02 feat(extras): tags some extras as recommended 2024-05-18 14:12:26 +02:00
16eb3d9473 feat(extras): added a recommended plugin/language section to :LazyExtras 2024-05-18 14:11:50 +02:00
434883632c perf(yanky): switch to shada backend. It seems much faster than sqlite 2024-05-18 12:46:03 +02:00
180d9516fd fix(extras): remove treesitter-rewrite extra for now 2024-05-18 12:10:32 +02:00
c653c4a9a5 perf(comments): vim.schedule ts-context-commentstring integration 2024-05-18 12:09:07 +02:00
1d23c98da1 fix(comments): better way of using ts-context-commentstring with native comments 2024-05-18 12:05:19 +02:00
72abb893ac fix(bufferline): force update bufferline after BufDelete. Closes #3197 2024-05-18 11:32:50 +02:00
3a193d3aa8 fix(indent-blankline): temp fix for tbl_flatten on 0.9.x 2024-05-18 11:28:06 +02:00
08925421e8 fix(trouble-v3): add neovim version check 2024-05-18 11:28:06 +02:00
9c212d655a fix(leap): add label to renamed surround mappings key group (#3211) 2024-05-18 10:11:05 +02:00
cf328429b1 chore(build): auto-generate vimdoc 2024-05-18 08:08:21 +00:00
dc66887b57 fix(mini.starter): buf_id in refresh() is not an identifier of valid … (#3209)
* fix(mini.starter): buf_id in refresh() is not an identifier of valid Starter buffer

Fixes #3207.

* fix(mini.starter): just do `do VimResized` for simpler approach
2024-05-18 10:07:33 +02:00
9176a6bc22 docs: remove mention of treesitter-rewrite from NEWS.md 2024-05-17 22:45:20 +02:00
87bb766123 fix(treesitter): disable treesitter-rewrite extra for now. not ready yet 2024-05-17 22:38:59 +02:00
EJ
39bec71ce9 fix(refactoring): add label to refactoring key group (#3201) 2024-05-17 20:08:28 +02:00
23374f160a fix(util.toggle): correctly toggle inlay_hints (#3202)
`is_enabled` also accepts a `filter` and when we initially toggle
`inlay_hints` on
[here](735f5905f8/lua/lazyvim/plugins/lsp/init.lua (L153)),
we pass a `bufnr` which sets the `inlay_hints` in the `bufstate` (see
[here](42aa69b076/runtime/lua/vim/lsp/inlay_hint.lua (L407-L432))),
but when we call `is_enabled` without a filter table the returned result
if from the `globalstate` (see
  [here](42aa69b076/runtime/lua/vim/lsp/inlay_hint.lua (L376-L388))).
2024-05-17 20:06:17 +02:00
735f5905f8 chore(main): release 11.1.2 (#3198)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-17 15:53:23 +02:00
19674e8047 fix(util): use bdelete for buf remove 2024-05-17 15:49:50 +02:00
c8b7912eb9 chore(main): release 11.1.1 (#3196)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-17 14:35:42 +02:00
2e1c945f61 fix(bufferline): correctly configure bufferline to use the new bufremove util 2024-05-17 14:27:00 +02:00
289c2f81c4 perf(coding): dont load vim.snippet early 2024-05-17 14:27:00 +02:00
6aef1989bd chore(main): release 11.1.0 (#3190)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-17 13:15:12 +02:00
b1ea356e6c fix(util.lsp): add desc for keymaps reference (#3193) 2024-05-17 11:19:34 +02:00
779de263f1 feat(util): mini.bufremove is no longer needed 2024-05-17 10:10:31 +02:00
87493af237 fix(lsp): dont try to highlight refs for deleted buffers 2024-05-17 10:10:31 +02:00
47c90209f3 docs(news.md): fix typo in native snippets announcement (#3186) 2024-05-17 09:23:11 +02:00
f8de965d3e feat(options): new option to disable deprecation warnings. warnings will be hidden bydefault 2024-05-17 09:19:28 +02:00
cc99b219de feat(lsp): document highlights now use native lsp. vim-illuminate is available as an extra 2024-05-17 09:19:28 +02:00
960ec8079b fix: deprecation warning on diagnostic.is_disabled 2024-05-17 09:19:28 +02:00
03653dbe35 chore(build): auto-generate vimdoc 2024-05-17 06:52:57 +00:00
ec673a83ff fix(treesitter-rewrite): add missed local Config (#3188) 2024-05-17 08:52:25 +02:00
07923f3701 chore(main): release 11.0.1 (#3180)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-16 22:30:31 +02:00
639dfce010 fix(treesitter-rewrite): show error in Extras only when enabled (#3178) 2024-05-16 22:28:25 +02:00
14872fa816 fix(util): get opts from parsing specs instead of plugins 2024-05-16 22:14:57 +02:00
76f9dbb40c refactor: use LazyVim.opts 2024-05-16 22:11:55 +02:00
58cf6f971b fix(news.md): correct phrase to disable inlay_hints 2024-05-16 22:03:49 +02:00
e7ee289c7f chore(main): release 11.0.0 2024-05-16 21:27:45 +02:00
3b74ef793f feat(keymaps): added leader-uI to open InspectTree 2024-05-16 21:25:51 +02:00
b739eb3503 fix(treesitter-rewrite): disable vim-illuminate 2024-05-16 21:25:51 +02:00
960e958548 feat(lsp): enable inlay hints by default on Neovim 0.10 2024-05-16 21:25:51 +02:00
2de7f24530 docs: update 2024-05-16 21:25:51 +02:00
73126e30c7 docs: updated news for 11.0 release 2024-05-16 21:25:51 +02:00
20081460b6 feat(extras): added extra for the nvim-treesitter rewrite. Some plugins are not compatible and will be disabled. 2024-05-16 21:25:51 +02:00
66dc9c09d6 feat(util)!: move vim-startuptime to an extra 2024-05-16 21:25:51 +02:00
4f4911ff95 feat(coding)!: move mini.ai to an extra 2024-05-16 21:25:51 +02:00
e37a699096 feat(mini.surround)!: move mini.surround to an extra 2024-05-16 21:25:51 +02:00
69e6daae2c feat(ui)!: move mini.indentscope to an extra 2024-05-16 21:25:51 +02:00
03704e2299 feat(ui)!: moved treesitter-context to an extra. No longer a core plugin 2024-05-16 21:25:51 +02:00
9839f10013 refactor: comments code 2024-05-16 21:25:51 +02:00
3c4ebd522e feat(coding)!: native snippets are now the default on Neovim 0.10. Install the luasnip extra to get luasnip back 2024-05-16 21:25:51 +02:00
d999be7401 feat(coding)!: use native comments on 0.10, with support for ts_context_commentstring 2024-05-16 21:25:51 +02:00
f02507b159 feat(util): set_upvalue 2024-05-16 21:25:51 +02:00
9fe8b15928 fix(health): add warning when not using 0.10.0 2024-05-16 21:25:51 +02:00
8dae76c1fd fix(dap): use jsonc support from plenary. Same as the code from neoconf. Fixes #3174 2024-05-16 16:44:01 +02:00
2391ac0420 refactor(options): refactored options 2024-05-16 16:37:26 +02:00
183d6eea60 fix(dap): add debugger to filetypes mapping for launch.json (#3165) 2024-05-16 11:57:56 +02:00
6e7ba50141 fix(cmp): never auto bracket for snippets and correct prev char check. Fixes #2949 2024-05-16 08:07:36 +02:00
97d7b2d262 chore(build): auto-generate vimdoc 2024-05-16 05:59:54 +00:00
44d51e5a65 refactor(options): prefer opt in place of vim.opt (#3167) 2024-05-16 07:59:19 +02:00
b601ade71c chore(main): release 10.25.0 (#3147)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-15 18:12:55 +02:00
f25ac504b8 perf(yanky): remove performance optim for sqlite since it has been merged upstream 2024-05-15 18:09:55 +02:00
c70a78e631 fix(cmp): dont add autobrackets if prev char is a bracket. Closes #2949 2024-05-15 16:23:42 +02:00
fc5ee49495 fix(gitsigns): update deprecated hunk nav mappings (#2935) 2024-05-15 16:15:11 +02:00
9337db17c2 fix(autocmds): remove query from q-to-quit autocmd (#2838) 2024-05-15 16:12:18 +02:00
9b7e4b7c03 docs(README-DE.md): improves German README (#2413)
- Translates remaining English text
- Fixes a couple of spelling and grammar issues
2024-05-15 16:11:27 +02:00
36802fea19 fix(keymaps): better up/down keymaps description (#1909) 2024-05-15 16:10:06 +02:00
d36e3a5c73 fix(extras.lang.typescript): support node debug type along with pwa-node (#2983)
* feat(typescript): add "node" debug adapter

add "node" debug adapter for compatibility with .vscode/launch.json

* refactor: ...

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-15 16:08:15 +02:00
a8659d02b9 feat(omnisharp): support neotest dotnet (#3051)
Co-authored-by: Rafał Schmidt <rafal.schmidt@allegro.com>
2024-05-15 16:01:24 +02:00
16e6c86b27 feat(terraform): ensure tflint is installed (#2336) 2024-05-15 15:56:16 +02:00
914ca4a455 feat(noice): added keymap <leader>snt to show Noice messages in telescope. Fixes #1306 2024-05-15 15:53:19 +02:00
91ead22116 feat(lua_ls): configure default lua_ls inlay hint settings 2024-05-15 15:48:46 +02:00
2c86da7c2d feat(typescript): configure inlayHint (#2995)
* feat(typescript): configure inlayHint
since LazyVim have toggle inlayhint keymap, it make sense to configure
them for each extra languages provided. In this commit I just add the
configuration for typescript, since IDK how to configure the rest of
lang extras that was provided.

* fix: changed defaults

---------

Co-authored-by: Radvil <radvil.linux@gmail.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-15 15:45:13 +02:00
543dead590 fix(dap): load vscode launch files with jsonc parser (#1839)
This seems to be the proper fix for #1503. jsonc ensures compatibility
with native vscode.

Ref: https://github.com/mfussenegger/nvim-dap/issues/964
2024-05-15 15:39:28 +02:00
a97fa3b756 feat(lua): added LazyVim as a treesitter builtin 2024-05-15 15:31:08 +02:00
12a48b8ce1 feat(snippet): add friendly-snippets to native extra (#2944) 2024-05-15 12:11:29 +02:00
6a2545025e fix(lsp): check if diagnostics.signs is disabled by user (#2897) 2024-05-15 11:29:55 +02:00
1892ebad78 chore(build): auto-generate vimdoc 2024-05-15 06:49:36 +00:00
9047d041a8 perf(yanky): schedule_wrap sqlite push to history to prevent blocking Neovim on copy/paste 2024-05-15 08:48:58 +02:00
3c04789ef1 fix(clangd): update the attribute name for process ID (#3047)
The attribute name for picked process id when attaching the debugger is `pid`, not `processId`
2024-05-14 22:37:27 +02:00
1df3c5d70b fix(dial): Fix dial commands in Visual line+block (#2933) 2024-05-14 22:36:31 +02:00
3585d61c93 style: remove debug :) 2024-05-14 22:25:44 +02:00
cffed60fe4 chore(build): auto-generate vimdoc 2024-05-14 19:43:45 +00:00
965a469ca8 perf(startup): render a file opened from the cmdline as soon as possible and get rid of lazy_file logic 2024-05-14 21:43:02 +02:00
b29d169afb perf(treesitter): load treesitter early during startup when opening a file from the cmdline 2024-05-14 21:41:56 +02:00
8301096c31 perf(treesitter): dont let nvim-treesitter-textobjects stall loading treesitter 2024-05-14 21:36:43 +02:00
39901c1f00 fix(fzf-native): try rebuilding fzf-native when needed. Fixes #2464 2024-05-13 08:53:20 +02:00
abb1ff0d60 fix(ansible): ansiblels not loading, keymap desc. (#2739)
If lazy extras yaml is enabled, yamlls was being loaded not ansiblels.

Add ft = {} to nvim-ansible spec allows ft=yaml.ansible to be detected.

Re-mapped nvim-ansible plugin key to not conflict with neotest.

Added a description for the keymap.
2024-05-13 08:21:33 +02:00
c54eeb5390 fix(lazyfile): exclude filetypedetect from skips (#3004) 2024-05-13 08:20:34 +02:00
36b59b2608 chore(build): auto-generate vimdoc 2024-05-13 05:03:43 +00:00
8087283fea fix(rust): update creates.nvim src option to completion (#3149) 2024-05-13 07:03:10 +02:00
73de8dde2b feat(extras): add refactoring.nvim (#3040)
* feat(editor): add refactoring.nvim

More on:
https://github.com/ThePrimeagen/refactoring.nvim#features

* Update lua/lazyvim/plugins/extras/editor/refactoring.lua

Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>

* Update lua/lazyvim/plugins/extras/editor/refactoring.lua

Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>

* indent fixes

---------

Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
2024-05-12 22:12:05 +02:00
f4490252fb feat(vue): add Vue.js support to LazyVim (#3094) 2024-05-12 22:10:32 +02:00
e89653f410 fix(pretty_path): properly escape % characters 2024-05-12 22:08:13 +02:00
a0afe8fef9 fix(dot): remove .env => sh since this is already the default 2024-05-12 18:23:14 +02:00
42010d1dfb fix(dot): use syntax sh for dotenv files. Closes #3145 2024-05-12 16:39:00 +02:00
cfe87ba894 chore(main): release 10.24.0 (#3143)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-12 10:15:27 +02:00
8968c9e9ea feat(mason-lspconfig): allow opts.ensure_installed to be taken into account (#3134) 2024-05-12 10:09:54 +02:00
30ce84f7a7 fix(neo-tree): correctly set up cwd (#3097)
* fix(neo-tree): correctly set up `cwd`

* refactor: cleanup

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-12 10:08:55 +02:00
f7450a5236 chore(build): auto-generate vimdoc 2024-05-12 07:58:05 +00:00
30c9e4718a fix(ui): don't lazy-load dashboard-nvim (#3107)
As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim
shouldn't be lazy-loaded to properly handle stdin
2024-05-12 09:57:29 +02:00
530e94a9fa chore(main): release 10.23.0 (#3043)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-03 16:21:45 +02:00
34183a2759 fix(python): make both ruff and ruff_lsp available to user (#3060)
* fix(python): make both `ruff` and `ruff_lsp` available to user

Provide global variable to choose between `ruff` and `ruff_lsp` in
accordance to `pyright`/`basedpyright`

* refactor(python): ruff stuff

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-03 09:23:31 +02:00
a96348d7b0 fix(extras): Rust-Analyzer cargo option (#3061)
* fix(extras): Rust-Analyzer cargo option

* fix(extras): Rust-Analyzer cargo option
2024-05-03 09:17:55 +02:00
b8475f5194 feat(lualine): make path trimming configurable by user (#3062)
* feat(lualine): make path trimming configurable by user

* fix: always split both forward/backward slashes

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-05-03 09:16:50 +02:00
6004e8d4f6 fix(native_snippets): Fix native_snippets for vim.snippet api changes (#3083) 2024-05-03 09:11:25 +02:00
095bc13188 style(keymaps): clarify no to use LazyVim.safe_keymap_set #3085
* Update keymaps.lua

add more explanation about what to use

* Update keymaps.lua

* fix typo YOU => YOUR
2024-05-03 09:10:36 +02:00
9d734c5ae2 chore(build): auto-generate vimdoc 2024-05-03 07:07:12 +00:00
3086bf03e9 fix(dot): install when list is empty (#3052) 2024-05-03 09:06:33 +02:00
f086bcde25 chore(build): auto-generate vimdoc 2024-04-23 06:55:09 +00:00
5fb4cf0d36 fix(dot): can't match kitty conf file (#3042) 2024-04-23 08:54:32 +02:00
9b4675ddde chore(main): release 10.22.0 (#3037)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-22 10:19:46 +02:00
9da13ef7e8 fix(trouble-v3): fix telescope integration 2024-04-22 10:00:48 +02:00
0fa63603af fix(trouble_v3): keymap previous is deprecated, use prev instead (#2968) 2024-04-22 09:56:00 +02:00
6fdbc623e0 fix(edgy): proper way of opening neo-tree. Fixes #2984 2024-04-22 09:54:32 +02:00
15b09e800b feat(dot): add more filetypes (#2987)
Adds dotenv files support for file names like
prod.env
.env
.env.xyz

Also adds configurationfiletypes rofi, wofi and vimfmrc
2024-04-22 09:49:16 +02:00
ceb4855b43 fix(trouble_v3): show error only when trouble_v3 is enabled (#2989) 2024-04-22 09:48:05 +02:00
79fed97f23 fix(harpoon): harpoon2 deprecated message (#2920)
* fix(config): harpoon2 deprecated message when adding new file to list and fix auto save on file list toggle

* fix: Update harpoon2.lua to add pleanery dep

* fix: no need for plenary deps here

---------

Co-authored-by: Alan Alvarenga <alan.alvarengamejia@telus.com>
Co-authored-by: Rubin Bhandari <roobin.bhandari@gmail.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-04-22 09:45:59 +02:00
cd04b58fe3 feat(python): use new ruff instead of ruff_lsp (#3016) 2024-04-22 09:40:09 +02:00
5f92dc5304 fix(toggle): use new inlay_hint.enable() signature (#3013) 2024-04-22 09:36:05 +02:00
7834d77ada chore(build): auto-generate vimdoc 2024-04-22 07:35:47 +00:00
74eb25d579 ci: update action versions to remove node warning (#3029)
Since Node.js 16 actions are deprecated, and updating the actions to use
Node.js 20 is recommended. All actions in `ci.yml` have a newer version,
this change bumps the actions to next versions.
2024-04-22 09:35:17 +02:00
bb36f71b77 chore(build): auto-generate vimdoc 2024-04-11 15:24:29 +00:00
9e3af1070f feat(git): <leader>gb for Git Blame Line 2024-04-11 17:23:46 +02:00
32eacde793 fix(mini.pairs): better default for ```` 2024-04-11 17:23:17 +02:00
97480dc5d2 feat(dot): add bashls and shellcheck (#2879) 2024-03-29 22:10:03 +01:00
50b7f426f2 fix(harpoon): optimizes harpoon keys (#2877) 2024-03-29 14:51:56 +01:00
5646ee5191 chore(main): release 10.21.1 (#2873)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-29 10:08:37 +01:00
aaa10e717d fix(lsp): better support for diagnostics icons on Neovim nightly/stable 2024-03-29 09:45:52 +01:00
64f86147f9 fix(lsp): dont define diagnostics signs on >= 0.10.0 2024-03-29 09:45:52 +01:00
349ae03f09 fix: merge conflict 2024-03-29 09:45:31 +01:00
f308867570 fix(native_snippets): don't try to enable native snippets on Neovim < 0.10.0 and show warning 2024-03-29 09:44:40 +01:00
0af1fd82d7 chore(main): release 10.21.0 (#2870)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-29 08:19:18 +01:00
914f26d04e fix(tex): don't override conceallevel for tex. Not sure why that was added 2024-03-29 07:56:32 +01:00
3def2097ad chore(build): auto-generate vimdoc 2024-03-29 06:28:38 +00:00
80a8b18be6 feat(trouble): enabled edgy 2024-03-29 07:27:55 +01:00
754467525b feat(trouble): added <leader>cS to open a trouble list of all references / definitions / ... of the item under the cursor 2024-03-29 07:27:43 +01:00
3166236ff8 fix(mini.move): default mini.move setup already maps the correct keys 2024-03-29 00:21:52 +01:00
20b2806a8f chore(main): release 10.20.1 (#2869)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 23:57:49 +01:00
4ca0bf69dd fix(trouble-v3): use the filtered symbols list for lualine 2024-03-28 23:55:41 +01:00
b26be29330 chore(main): release 10.20.0 (#2849)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 23:51:31 +01:00
8f1fb60f0a feat(extras): use mini.move instead of native move (#2865) 2024-03-28 23:49:48 +01:00
e29c7acd2d feat(extras): added extra for mini.diff 2024-03-28 23:41:54 +01:00
a786c471df fix(statuscolumn): right align signs when virtnum > 0 2024-03-28 23:25:06 +01:00
9a2f773090 fix(trouble): show message if use hasnt updated with Lazy yet after enabling the extra 2024-03-28 22:49:35 +01:00
bb6aa98cbf feat(extras): added extra for the trouble.nvim v3 beta 2024-03-28 22:11:55 +01:00
dd54a29cc5 chore(build): auto-generate vimdoc 2024-03-28 20:33:40 +00:00
d95c2ba1dc feat(python): enable auto_brackets for python, since pyright and basedpyright dont support this natively 2024-03-28 21:32:37 +01:00
bf8ce8076e feat(cmp): added option auto_brackets that adds brackets to functions/methods in configured filetypes 2024-03-28 21:32:09 +01:00
cfbd358273 fix(nvim-lint): don't duplicate linters. Fixes #2852 2024-03-27 16:54:38 +01:00
e3075b05ef fix(config): type filter was broken for telescope symbols 2024-03-27 15:04:41 +01:00
129 changed files with 6046 additions and 1756 deletions

View File

@ -1 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question or start a discussion
url: https://github.com/LazyVim/LazyVim/discussions
about: Use Github discussions instead

View File

@ -3,6 +3,11 @@ description: Suggest a new feature
title: "feature: "
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
**IMPORTANT:** ideas or requests related to extras, should go in the [Extra Requests](https://github.com/LazyVim/LazyVim/discussions/categories/extra-requests)
discussion forum.
- type: checkboxes
attributes:
label: Did you check the docs?
@ -10,6 +15,8 @@ body:
options:
- label: I have read all the LazyVim docs
required: true
- label: This is not a request for a new or existing extra (see above)
required: true
- type: textarea
validations:
required: true

11
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"

19
.github/labeler.yml vendored Normal file
View File

@ -0,0 +1,19 @@
core:
- all:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/**"
- all-globs-to-all-files: "!lua/lazyvim/plugins/**"
core-plugins:
- all:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/plugins/**"
- all-globs-to-all-files: "!lua/lazyvim/plugins/extras/**"
extras:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/plugins/extras/**"
extras-lang:
- changed-files:
- any-glob-to-any-file: "lua/lazyvim/plugins/extras/lang/**"

View File

@ -4,6 +4,16 @@ on:
pull_request:
jobs:
stylua:
name: Stylua Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --check .
tests:
strategy:
matrix:
@ -11,7 +21,7 @@ jobs:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Neovim
shell: bash
run: |
@ -25,13 +35,13 @@ jobs:
run: |
nvim --version
[ ! -d tests ] && exit 0
nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/init.lua', sequential = true}"
./tests/run
docs:
runs-on: ubuntu-latest
needs: tests
if: ${{ github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: panvimdoc
uses: kdheepak/panvimdoc@main
with:
@ -40,7 +50,7 @@ jobs:
demojify: true
treesitter: true
- name: Push changes
uses: stefanzweifel/git-auto-commit-action@v4
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore(build): auto-generate vimdoc"
commit_user_name: "github-actions[bot]"
@ -54,14 +64,11 @@ jobs:
- tests
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
- uses: googleapis/release-please-action@v4
id: release
with:
release-type: simple
package-name: LazyVim
extra-files: |
lua/lazyvim/config/init.lua
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: tag stable versions
if: ${{ steps.release.outputs.release_created }}
run: |

12
.github/workflows/labeler.yml vendored Normal file
View File

@ -0,0 +1,12 @@
name: "Pull Request Labeler"
on:
- pull_request_target
jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5

41
.github/workflows/pr.yml vendored Normal file
View File

@ -0,0 +1,41 @@
name: "Lint PR"
on:
pull_request_target:
types:
- opened
- edited
- synchronize
permissions:
pull-requests: read
jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
requireScope: true
subjectPattern: ^(?![A-Z]).+$
scopes: |
.+
types: |
build
chore
ci
docs
feat
fix
merge
perf
refactor
revert
style
test
wip
ignoreLabels: |
autorelease: pending

27
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Close stale issues and PRs
on:
workflow_dispatch:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
operations-per-run: 300
# default stale time
days-before-stale: 30
days-before-close: 7
# never stale pull requests
# days-before-pr-stale: -1
days-before-pr-close: -1
# exclude issues with certain labels
exempt-issue-labels: pinned,wip,security,notice
# never stale issues attached to a milestone
# exempt-all-milestones: true
stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days."
stale-pr-message: "This PR is stale because it has been open 60 days with no activity."
close-issue-message: "This issue was closed because it has been stalled for 7 days with no activity."

File diff suppressed because it is too large Load Diff

88
NEWS.md
View File

@ -1,7 +1,95 @@
# What's new?
## 12.x
- This **news** is now also available on the website at [https://www.lazyvim.org/news](https://www.lazyvim.org/news)
- **prettier** extra now works for all prettier supported filetypes
and will be enabled for astro/svelte extra if you have a proper
config file with the correct prettier plugin
- **New Language Support:** SQL, Clojure, Thrift, Elm, Gleam, Angular,
NuShell, Svelte, Kotlin, Astro, Toml and PHP
- **New Extras:** `copilot-chat`, `git`, `octo`, `inc-rename` and `neogen`
- The **typescript** extra now uses `vtsls` instead of `tsserver`
- **Neovim >= 0.10** now uses the much faster [lazydev.nvim](https://github.com/folke/lazydev.nvim)
instead of `neodev.nvim`
- moved `neoconf.nvim` to extras. Project specific LSP settings
can be done with a `.lazy.lua` file instead.
## 11.x
- **Keymaps:**
- `<leader>gB` to open the current repo in the browser
- `gco` and `gcO` to add a comment below or above the current line
- `<leader>wm` to toggle window maximize
- **lazydev.nvim:** faster alternative to `neodev.nvim`
- **Options:** Added `linebreak=true` to default options.
- `mini.ai` is back as a default plugin! Removing it was a mistake.
It's a great plugin that enhances the native text objects.
- `:LazyExtras` now has multiple new sections:
- **Enabled**: extras that are currently enabled
- **Recommended Languages**: language extras recommended for the current buffer / directory
- **Recommended Plugins**: extras that are recommended for most users
- **Plugins**: other plugin extras
- **Languages**: other language extras
- new option `vim.g.deprecation_warnings` to disable deprecation warnings
Defaults to `false`. To enable deprecation warnings, set it to `true` in your `options.lua`
- `vim-illuminate` move to extras
Document highlights now use native lsp functionality by default
Since Neovim 0.10 has been released, I've been working on a new version of **LazyVim**
that is fully compatible with all the latest Neovim features.
Additionally, some core plugins have been moved to extras.
- `native snippets` are now the default on Neovim 0.10
Older versions of Neovim will use the new `luasnip` extra.
- `native comments` are now the default on Neovim 0.10
Older versions of Neovim will use the new `mini-comment` extra.
`nvim-ts-context-commentstring` has been integrated in the native comments.
- `inlay hints` have been in **LazyVim** for a while, but are now
enabled by default. To disable them:
```lua
{
"nvim-lspconfig",
opts = {
inlay_hints = { enabled = false },
}
}
```
- plugins moved to extras:
- `mini.surround`
- `mini.indentscope` scopes are now also highlighted with `indent-blankline`
- `nvim-treesitter-context`
## 10.x
- added new extra for [mini.diff](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-diff.md)
This is a plugin similar to gitsigns but with a neat diff overlay
that can be toggled with `<leader>go`.
- **trouble.nvim** has been rewritten from scratch and is now in beta.
I've added a new extra for it (`trouble-v3`) for those of you who want to try it out.
You can find the updated docs [here](https://github.com/folke/trouble.nvim/tree/dev)
- The **lazygit** integration now configures:
- the theme based on the colorscheme

View File

@ -1,138 +1,138 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">Install</a>
·
<a href="https://lazyvim.github.io/configuration">Configure</a>
·
<a href="https://lazyvim.github.io">Docs</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVim ist ein Neovim setup aufgebaut auf [💤 lazy.nvim](https://github.com/folke/lazy.nvim).
Es erleichter das Anpassen und erweitern von Ihrer Konfiguration.
Anstatt von vorne anzufangen oder eine vorgefertigte Distro zu verwenden, gibt LazyVim das beste aus
beiden Welten - die Flexibilität Ihre Konfiguration zu verändern und einzustellen wie Sie es wollen
und die Einfachheit von einem vorgefertigten Setup.
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
## ✨ Features
- 🔥 Transformiere dein Neovim in eine komplette IDE
- 💤 Passe deine Konfiguration einfach an und erweitere diese mit [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 Extrem schnell
- 🧹 Logische Voreinstellungen für optionen, autocmds und keymaps
- 📦 Kommt mit einem Haufen vor Konfigurierten, ready to use Plugins
## ⚡️ Vorraussetzungen
- Neovim >= **0.8.0** (gebraucht um mit **LuaJIT** zu bauen)
- Git >= **2.19.0** (um Teil-Klone zu unterstützen)
- eine [Nerd Font](https://www.nerdfonts.com/) **_(optional)_**
## 🚀 Einstieg
Sie können eine Startvorlage für **LazyVim** [hier](https://github.com/LazyVim/starter) finden
<details><summary>Versuchen Sie's mit Docker</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary>Installieren von <a href="https://github.com/LazyVim/starter">LazyVim Starter</a></summary>
- Neovim Files sichern:
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- Den Starter Klonen:
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- Den `.git` Folder löschen, um die Konfiguration zu einer eigenen distro hinzuzufügen:
```sh
rm -rf ~/.config/nvim/.git
```
- Neovim starten!
```sh
nvim
```
Refer to the comments in the files on how to customize **LazyVim**.
</details>
## 📂 File Structure
The files under config will be automatically loaded at the appropriate time,
so you don't need to require those files manually.
**LazyVim** comes with a set of default config files that will be loaded
**_before_** your own. See [here](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
You can add your custom plugin specs under `lua/plugins/`. All files there
will be automatically loaded by [lazy.nvim](https://github.com/folke/lazy.nvim)
<pre>
~/.config/nvim
├── lua
│ ├── config
│ │ ├── autocmds.lua
│ │ ├── keymaps.lua
│ │ ├── lazy.lua
│ │ └── options.lua
│ └── plugins
│ ├── spec1.lua
│ ├── **
│ └── spec2.lua
└── init.toml
</pre>
## ⚙️ Configuration
Refer to the [docs](https://lazyvim.github.io)
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">Installieren</a>
·
<a href="https://lazyvim.github.io/configuration">Konfigurieren</a>
·
<a href="https://lazyvim.github.io">Dokumentation</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVim ist ein Neovim-Setup aufgebaut auf [💤 lazy.nvim](https://github.com/folke/lazy.nvim).
Es erleichtert das Anpassen und Erweitern von Ihrer Konfiguration.
Anstatt von vorne anzufangen oder eine vorgefertigte Distro zu verwenden, gibt LazyVim das beste aus
beiden Welten - die Flexibilität Ihre Konfiguration zu verändern und einzustellen wie Sie es wollen
und die Einfachheit von einem vorgefertigten Setup.
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
## ✨ Features
- 🔥 Transformiere dein Neovim in eine komplette IDE
- 💤 Passe deine Konfiguration einfach an und erweitere diese mit [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 Extrem schnell
- 🧹 Logische Voreinstellungen für optionen, autocmds und keymaps
- 📦 Kommt mit einem Haufen vorkonfigurierter, ready-to-use Plugins
## ⚡️ Vorraussetzungen
- Neovim >= **0.8.0** (gebraucht um mit **LuaJIT** zu bauen)
- Git >= **2.19.0** (um Teil-Klone zu unterstützen)
- eine [Nerd Font](https://www.nerdfonts.com/) **_(optional)_**
## 🚀 Einstieg
Sie können eine Startvorlage für **LazyVim** [hier](https://github.com/LazyVim/starter) finden
<details><summary>Versuchen Sie's mit Docker</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary>Installieren von <a href="https://github.com/LazyVim/starter">LazyVim Starter</a></summary>
- Neovim Files sichern:
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- Den Starter Klonen:
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- Den `.git` Folder löschen, um die Konfiguration zu einer eigenen distro hinzuzufügen:
```sh
rm -rf ~/.config/nvim/.git
```
- Neovim starten!
```sh
nvim
```
Refer to the comments in the files on how to customize **LazyVim**.
</details>
## 📂 Dateistruktur
Die Dateien unter `config` werden automatisch und zur richtigen Zeit geladen,
sodass ein manuelles `require` nicht nötig ist.
**LazyVim** bringt Konfigurationsdatein mit, die **_vor_** Ihren eigenen geladen werden -
siehe [hier](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
Sie können eigene Plugins unter `lua/plugins/` hinzufügen. Alle Dateien innerhalb
dieses Ordners werden automatisch mit [lazy.nvim](https://github.com/folke/lazy.nvim)
geladen.
<pre>
~/.config/nvim
├── lua
│ ├── config
│ │ ├── autocmds.lua
│ │ ├── keymaps.lua
│ │ ├── lazy.lua
│ │ └── options.lua
│ └── plugins
│ ├── spec1.lua
│ ├── **
│ └── spec2.lua
└── init.toml
</pre>
## ⚙️ Konfiguration
Siehe [Dokumentation](https://lazyvim.github.io).

139
README-JP.md Normal file
View File

@ -0,0 +1,139 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">インストール</a>
·
<a href="https://lazyvim.github.io/configuration">設定</a>
·
<a href="https://lazyvim.github.io">ドキュメント</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVimは、設定の拡張と変更を容易にするために[💤 lazy.nvim](https://github.com/folke/lazy.nvim)によって提供されるNeovimセットアップです。
LazyVimは、ゼロから始めるか、あらかじめ作成されたディストリビューションを使用するかの選択を迫ることなく、
必要に応じて設定を調整する柔軟性と、事前に設定されたセットアップの利便性を両方叶える最高の世界を提供します。
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ 機能
- 🔥 Neovimを本格的なIDEへと変身させます
- 💤 [lazy.nvim](https://github.com/folke/lazy.nvim)で簡単にカスタマイズと拡張が可能
- 🚀 驚くほどの高速さ
- 🧹 Options, autocmds, そしてkeymapsのための合理的なデフォルト設定
- 📦 事前に設定がされ、使用可能なプラグインが豊富についてきます
## ⚡️ 必要要件
- Neovim >= **0.9.0** (**LuaJIT**でビルドされている必要があります)
- Git >= **2.19.0** (部分的なcloneサポートのため)
- [Nerd Font](https://www.nerdfonts.com/) **_(任意)_**
- `nvim-treesitter`用の**C**コンパイラ。詳細は[こちら](https://github.com/nvim-treesitter/nvim-treesitter#requirements)
## 🚀 Getting Started
**lazyvim**のスターターテンプレートは[こちら](https://github.com/lazyvim/starter)。
<details><summary>Dockerで試す</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary><a href="https://github.com/LazyVim/starter">LazyVim Starter</a>をインストール</summary>
- 既存のNeovimファイルのバックアップを作成します。
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- スターターをcloneします。
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- 後ほど自分のリポジトリに加えられるように、`.git`フォルダを削除します。
```sh
rm -rf ~/.config/nvim/.git
```
- Neovimを起動します!
```sh
nvim
```
**LazyVim**をカスタマイズするために、ファイルのコメントを参照してください。
</details>
---
[@elijahmanor](https://github.com/elijahmanor)氏によって作成された始めるにあたっての概要動画があります。
[![動画を見る](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 ファイル構造
config配下にあるファイルは適切なタイミングで自動的にロードされる為、
手動でそれらのファイルをrequireする必要はありません。
LazyVimには、自分で設定したものより先にロードされるデフォルトの設定ファイルが付属しています。詳しくは[こちら](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)。
カスタムプラグインをlua/plugins/の下に追加することができます。lua/plugins/配下の全てのファイルは[lazy.nvim](https://github.com/folke/lazy.nvim)によって自動的にロードされます。
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ 設定
こちらの[ドキュメント](https://lazyvim.github.io)を参照してください。

139
README-KO.md Normal file
View File

@ -0,0 +1,139 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">설치하기</a>
·
<a href="https://lazyvim.github.io/configuration">설정하기</a>
·
<a href="https://lazyvim.github.io">문서</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="최신 업데이트" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="마지막 커밋" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="라이센스" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="스타" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="이슈" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="레파지토리 크기" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="트위터" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVim은 [💤 lazy.nvim](https://github.com/folke/lazy.nvim)를 기반으로 작동하는 Neovim 셋업입니다. 더 커스터마이징 가능하고, 설정들을 바꾸는 것을 쉽게 만들기위해 시작되었죠. 그저 처음부터 모든 설정들을 만지고 시작하는 방법, 또는 이미 만들어진 배포용 설정을 사용하는 방법이 있지만, LazyVIM은 이미 잘 설정된 환경과, 필요에 따라 쉽게 바꿀 수 있는 유연성을 모두 포괄합니다. 이를 통해 훨신 쉽고 편리한, 전에는 만나보실 수 없었던 새로운 Nvim의 세계를 경험하실 수 있으실 겁니다.
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ 기능
- 🔥 Neovim을 완벽한 IDE로 바꾸어보세요.
- 💤 lazy.vim과 함께 쉽게 커스터마이징하고, 확장하세요.
- 🚀 완전히 빠른 속도를 경험해보세요.
- 🧹 기본적으로 만져져있는 옵션, 자동커멘드, 그리고 단축키들을 아무런 추가적인 설정없이 사용해보세요.
- 📦 안정적이고 미리 설정되어져있는 플러그인들과 함게 코딩하세요.
## ⚡️ 요구사항
- **0.9.0**이상의 Neovim (LuaJIT과 함께 개발이 되어져있어야함니다.)
- **2.19.0**이상의 Git (이것은 부분적인 클론기능을 지원하기 위함입니다.)
- [Nerd Font](https://www.nerdfonts.com/) **_(옵션)_**
- `nvim-treesitter`를 위한 **C** 컴파일러. [이 문서](https://github.com/nvim-treesitter/nvim-treesitter#requirements)를 확인해주시기바랍니다.
## 🚀 시작하기
[이 깃헙 레파지토리](https://github.com/LazyVim/starter)에서 스타터 템플릿을 찾으실 수 있습니다.
<details><summary>도커와 함께 시작해보기</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary><a href="https://github.com/LazyVim/starter">LazyVim 스타터</a>와 함께 시작해보기</summary>
- 현재 Neovim 파일들을 미리 백업:
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- Lazyvim 스타터 깃헙 레파지토리 복제:
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- 나중에 본인의 레파지토리에 저장할 경우를 대비해 .git 폴더 지우기
```sh
rm -rf ~/.config/nvim/.git
```
- Neovim!
```sh
nvim
```
LazyVim를 커스터마이징 하는 법에 대해 다룬 설명을 참조해주시기 바랍니다.
</details>
---
유튜브에 LazyVim시작하기에 대해 [@elijahmanor](https://github.com/elijahmanor)에 의해 만들어진 영상이 있으니, 시청해 보시는 것을 추천드립니다.
[![Watch the video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 파일 구조
config 폴더 안에 있는 모든 파일들은 적절한 시간내에 자동으로 로드가 되기에, 아무 파일도 require를 하지 않아도 됩니다. **LazyVim**은 config폴더 안에 있는 모든 기본 파일들을 당신의 config 파일들 **전**에 불어옵니다. 이것에 대해서는, [이 문서](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)를 확인해 보시기 바랍니다.
추가적인 플러그인을 설치하시거나, 미리 설치되고 설정된 플러그인들을 또 덮어서 설정을 바꾸거나, 지우거나, 추가하고 싶으실 경우에는, 그에 해당하는 lua 파일들을 `lua/plugins` 폴더 안에 추가하시면, lazy.nvim이 자동적으로 그 파일들을 로드 할 것입니다.
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ 설정
[Lazyvim 공식문서](https://lazyvim.github.io)를 확인해 주시기 바랍니다.
LazyVim 공식문서의 한국어 지원은 현재 번역 중에 있습니다.

146
README-PT.md Normal file
View File

@ -0,0 +1,146 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">Instalar</a>
·
<a href="https://lazyvim.github.io/configuration">Configurar</a>
·
<a href="https://lazyvim.github.io">Documentação</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
LazyVim é uma configuração de Neovim potenciada por [💤 lazy.nvim](https://github.com/folke/lazy.nvim)
para tornar fácil customizar e extender a tua configuração.
Em vez de ter de escolher entre começar de raiz ou usar
uma distribuição pré-feita, LazyVim oferece o melhor
dos dois mundos - a flexibilidade de alterar a tua configuração
como necessário, junto com a conveniência de um setup pré-configurado.
![imagem](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![imagem](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ Características
- 🔥 Transforma o teu Neovim num IDE completo.
- 💤 Customiza e extende a tua configuração facilmente com [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 Super rápido
- 🧹 Definições comuns para options, autocms e keymaps
- 📦 Contém uma variedade de plugins pré-configurados e preparados a usar
## ⚡️ Requesitos
- Neovim >= **0.9.0** (preciso fazer build com **LuaJIT**)
- Git >= **2.19.0** (para suporte parcial de clones)
- uma [Nerd Font](https://www.nerdfonts.com/) **_(opcional)_**
- um compilador de **C** para `nvim-treesitter`. Mais informações [aqui](https://github.com/nvim-treesitter/nvim-treesitter#requirements)
## 🚀 Como Começar
Podes encontrar uma template **LazyVim** starter para começar, [aqui](https://github.com/LazyVim/starter)
<details><summary>Experimenta com docker</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<details><summary>Instala a template <a href="https://github.com/LazyVim/starter">LazyVim Starter</a></summary>
- Faz um backup da tua configuração atual de Neovim:
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
- Clona a template
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- Remove o diretório `.git`, para poderes adicionar ao teu próprio repositório mais tarde
```sh
rm -rf ~/.config/nvim/.git
```
- Inicia o Neovim!
```sh
nvim
```
Consulta os comentários nos ficheiros sobre como customizar **LazyVim**.
</details>
---
Existe um excelente video criado por [@elijahmanor](https://github.com/elijahmanor) com um passo a passo para começar.
[![Vê o video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 Extrutura de ficheiros
Os ficheiros no diretório **config** serão carregados automaticamente
no momento apropriado, por isso não é necessário carregar os plugins manualmente.
**LazyVim** vem com um conjunto de ficheiros
que serão carregados **_antes_** dos teus. Lẽ mais [aqui](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
Tu podes acrescentar a tua configuração em `lua/plugins`. Todos os ficheiros
neste diretório serão carregados automaticamente por [lazy.nvim](https://github.com/folke/lazy.nvim)
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ Configuração
Consulta a [documentação](https://lazyvim.github.io)

View File

@ -115,6 +115,10 @@ There's a great video created by [@elijahmanor](https://github.com/elijahmanor)
[![Watch the video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
[@dusty-phillips](https://github.com/dusty-phillips) is working on a book called
[LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes)
available for free online.
## 📂 File Structure
The files under config will be automatically loaded at the appropriate time,

View File

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 March 27
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 June 09
==============================================================================
Table of Contents *LazyVim-table-of-contents*
@ -8,6 +8,7 @@ Table of Contents *LazyVim-table-of-contents*
- Getting Started |LazyVim-getting-started|
- File Structure |LazyVim-file-structure|
- Configuration |LazyVim-configuration|
1. Links |LazyVim-links|
Install
·
@ -101,6 +102,10 @@ Theres a great video created by @elijahmanor
<https://www.youtube.com/watch?v=N93cTbtLCIM>
@dusty-phillips <https://github.com/dusty-phillips> is working on a book called
LazyVim for Ambitious Developers
<https://lazyvim-ambitious-devs.phillips.codes> available for free online.
FILE STRUCTURE *LazyVim-file-structure*
@ -124,6 +129,7 @@ Refer to the docs <https://lazyvim.github.io>
2. *image*: https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png
3. *@elijahmanor*:
4. *Watch the video*: https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg
5. *@dusty-phillips*:
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>

View File

@ -59,7 +59,6 @@ vim.api.nvim_create_autocmd("FileType", {
"lspinfo",
"notify",
"qf",
"query",
"spectre_panel",
"startuptime",
"tsplayground",
@ -67,6 +66,7 @@ vim.api.nvim_create_autocmd("FileType", {
"checkhealth",
"neotest-summary",
"neotest-output-panel",
"dbout",
},
callback = function(event)
vim.bo[event.buf].buflisted = false
@ -86,7 +86,7 @@ vim.api.nvim_create_autocmd("FileType", {
-- wrap and check for spell in text filetypes
vim.api.nvim_create_autocmd("FileType", {
group = augroup("wrap_spell"),
pattern = { "gitcommit", "markdown" },
pattern = { "*.txt", "*.tex", "*.typ", "gitcommit", "markdown" },
callback = function()
vim.opt_local.wrap = true
vim.opt_local.spell = true

View File

@ -3,7 +3,8 @@ _G.LazyVim = require("lazyvim.util")
---@class LazyVimConfig: LazyVimOptions
local M = {}
M.version = "10.19.0" -- x-release-please-version
M.version = "10.21.1" -- x-release-please-version
LazyVim.config = M
---@class LazyVimOptions
local defaults = {
@ -32,6 +33,9 @@ local defaults = {
misc = {
dots = "󰇘",
},
ft = {
octo = "",
},
dap = {
Stopped = { "󰁕 ", "DiagnosticWarn", "DapStoppedLine" },
Breakpoint = "",
@ -131,7 +135,7 @@ local defaults = {
}
M.json = {
version = 3,
version = 6,
data = {
version = nil, ---@type string?
news = {}, ---@type table<string, string>
@ -190,6 +194,13 @@ function M.setup(opts)
vim.cmd([[Lazy! load all]])
vim.cmd([[checkhealth]])
end, { desc = "Load all plugins and run :checkhealth" })
local health = require("lazy.health")
vim.list_extend(health.valid, {
"recommended",
"desc",
"vscode",
})
end,
})
@ -221,6 +232,9 @@ function M.get_kind_filter(buf)
if M.kind_filter[ft] == false then
return
end
if type(M.kind_filter[ft]) == "table" then
return M.kind_filter[ft]
end
---@diagnostic disable-next-line: return-type-mismatch
return type(M.kind_filter) == "table" and type(M.kind_filter.default) == "table" and M.kind_filter.default or nil
end
@ -271,6 +285,10 @@ function M.init()
-- after installing missing plugins
M.load("options")
if vim.g.deprecation_warnings == false then
vim.deprecate = function() end
end
LazyVim.plugin.setup()
M.json.load()
end

View File

@ -1,14 +1,14 @@
-- This file is automatically loaded by lazyvim.config.init
-- DO NOT USE THIS IN YOU OWN CONFIG!!
-- DO NOT USE `LazyVim.safe_keymap_set` IN YOUR OWN CONFIG!!
-- use `vim.keymap.set` instead
local map = LazyVim.safe_keymap_set
-- better up/down
map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
map({ "n", "x" }, "<Down>", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
map({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
map({ "n", "x" }, "<Up>", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { desc = "Down", expr = true, silent = true })
map({ "n", "x" }, "<Down>", "v:count == 0 ? 'gj' : 'j'", { desc = "Down", expr = true, silent = true })
map({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { desc = "Up", expr = true, silent = true })
map({ "n", "x" }, "<Up>", "v:count == 0 ? 'gk' : 'k'", { desc = "Up", expr = true, silent = true })
-- Move to window using the <ctrl> hjkl keys
map("n", "<C-h>", "<C-w>h", { desc = "Go to Left Window", remap = true })
@ -37,6 +37,8 @@ map("n", "[b", "<cmd>bprevious<cr>", { desc = "Prev Buffer" })
map("n", "]b", "<cmd>bnext<cr>", { desc = "Next Buffer" })
map("n", "<leader>bb", "<cmd>e #<cr>", { desc = "Switch to Other Buffer" })
map("n", "<leader>`", "<cmd>e #<cr>", { desc = "Switch to Other Buffer" })
map("n", "<leader>bd", LazyVim.ui.bufremove, { desc = "Delete Buffer" })
map("n", "<leader>bD", "<cmd>:bd<cr>", { desc = "Delete Buffer and Window" })
-- Clear search with <esc>
map({ "i", "n" }, "<esc>", "<cmd>noh<cr><esc>", { desc = "Escape and Clear hlsearch" })
@ -73,6 +75,10 @@ map("n", "<leader>K", "<cmd>norm! K<cr>", { desc = "Keywordprg" })
map("v", "<", "<gv")
map("v", ">", ">gv")
-- commenting
map("n", "gco", "o<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Below" })
map("n", "gcO", "O<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Above" })
-- lazy
map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" })
@ -127,17 +133,27 @@ map("n", "<leader>ub", function() LazyVim.toggle("background", false, {"light",
-- lazygit
map("n", "<leader>gg", function() LazyVim.lazygit( { cwd = LazyVim.root.git() }) end, { desc = "Lazygit (Root Dir)" })
map("n", "<leader>gG", function() LazyVim.lazygit() end, { desc = "Lazygit (cwd)" })
map("n", "<leader>gb", LazyVim.lazygit.blame_line, { desc = "Git Blame Line" })
map("n", "<leader>gB", LazyVim.lazygit.browse, { desc = "Git Browse" })
map("n", "<leader>gf", function()
local git_path = vim.api.nvim_buf_get_name(0)
LazyVim.lazygit({args = { "-f", vim.trim(git_path) }})
end, { desc = "Lazygit Current File History" })
map("n", "<leader>gl", function()
LazyVim.lazygit({ args = { "log" }, cwd = LazyVim.root.git() })
end, { desc = "Lazygit Log" })
map("n", "<leader>gL", function()
LazyVim.lazygit({ args = { "log" } })
end, { desc = "Lazygit Log (cwd)" })
-- quit
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit All" })
-- highlights under cursor
map("n", "<leader>ui", vim.show_pos, { desc = "Inspect Pos" })
map("n", "<leader>uI", "<cmd>InspectTree<cr>", { desc = "Inspect Tree" })
-- LazyVim Changelog
map("n", "<leader>L", function() LazyVim.news.changelog() end, { desc = "LazyVim Changelog" })
@ -165,9 +181,11 @@ map("n", "<leader>w-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>w|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>wm", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
-- tabs
map("n", "<leader><tab>l", "<cmd>tablast<cr>", { desc = "Last Tab" })
map("n", "<leader><tab>o", "<cmd>tabonly<cr>", { desc = "Close Other Tabs" })
map("n", "<leader><tab>f", "<cmd>tabfirst<cr>", { desc = "First Tab" })
map("n", "<leader><tab><tab>", "<cmd>tabnew<cr>", { desc = "New Tab" })
map("n", "<leader><tab>]", "<cmd>tabnext<cr>", { desc = "Next Tab" })

View File

@ -2,7 +2,7 @@
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Enable LazyVim auto format
-- LazyVim auto format
vim.g.autoformat = true
-- LazyVim root dir detection
@ -19,33 +19,52 @@ vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- Set to false to disable.
vim.g.lazygit_config = true
-- Options for the LazyVim statuscolumn
vim.g.lazyvim_statuscolumn = {
folds_open = false, -- show fold sign when fold is open
folds_githl = false, -- highlight fold sign with git sign color
}
-- Optionally setup the terminal to use
-- This sets `vim.o.shell` and does some additional configuration for:
-- * pwsh
-- * powershell
-- LazyVim.terminal.setup("pwsh")
-- Hide deprecation warnings
vim.g.deprecation_warnings = false
-- Show the current document symbols location from Trouble in lualine
vim.g.trouble_lualine = true
local opt = vim.opt
opt.autowrite = true -- Enable auto write
if not vim.env.SSH_TTY then
-- only set clipboard if not in ssh, to make sure the OSC 52
-- integration works automatically. Requires Neovim >= 0.10.0
opt.clipboard = "unnamedplus" -- Sync with system clipboard
end
-- only set clipboard if not in ssh, to make sure the OSC 52
-- integration works automatically. Requires Neovim >= 0.10.0
opt.clipboard = vim.env.SSH_TTY and "" or "unnamedplus" -- Sync with system clipboard
opt.completeopt = "menu,menuone,noselect"
opt.conceallevel = 2 -- Hide * markup for bold and italic, but not markers with substitutions
opt.confirm = true -- Confirm to save changes before exiting modified buffer
opt.cursorline = true -- Enable highlighting of the current line
opt.expandtab = true -- Use spaces instead of tabs
opt.fillchars = {
foldopen = "",
foldclose = "",
fold = " ",
foldsep = " ",
diff = "",
eob = " ",
}
opt.foldlevel = 99
opt.formatexpr = "v:lua.require'lazyvim.util'.format.formatexpr()"
opt.formatoptions = "jcroqlnt" -- tcqj
opt.grepformat = "%f:%l:%c:%m"
opt.grepprg = "rg --vimgrep"
opt.ignorecase = true -- Ignore case
opt.inccommand = "nosplit" -- preview incremental substitute
opt.laststatus = 3 -- global statusline
opt.linebreak = true -- Wrap lines at convenient points
opt.list = true -- Show some invisible characters (tabs...
opt.mouse = "a" -- Enable mouse mode
opt.number = true -- Print line number
@ -63,14 +82,14 @@ opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift t
opt.smartcase = true -- Don't ignore case with capitals
opt.smartindent = true -- Insert indents automatically
opt.spelllang = { "en" }
opt.spelloptions:append("noplainbuffer")
opt.splitbelow = true -- Put new windows below current
opt.splitkeep = "screen"
opt.splitright = true -- Put new windows right of current
opt.statuscolumn = [[%!v:lua.require'lazyvim.util'.ui.statuscolumn()]]
opt.tabstop = 2 -- Number of spaces tabs count for
opt.termguicolors = true -- True color support
if not vim.g.vscode then
opt.timeoutlen = 300 -- Lower than default (1000) to quickly trigger which-key
end
opt.timeoutlen = vim.g.vscode and 1000 or 300 -- Lower than default (1000) to quickly trigger which-key
opt.undofile = true
opt.undolevels = 10000
opt.updatetime = 200 -- Save swap file and trigger CursorHold
@ -78,38 +97,16 @@ opt.virtualedit = "block" -- Allow cursor to move where there is no text in visu
opt.wildmode = "longest:full,full" -- Command-line completion mode
opt.winminwidth = 5 -- Minimum window width
opt.wrap = false -- Disable line wrap
opt.fillchars = {
foldopen = "",
foldclose = "",
fold = " ",
foldsep = " ",
diff = "",
eob = " ",
}
if vim.fn.has("nvim-0.10") == 1 then
opt.smoothscroll = true
end
-- Folding
vim.opt.foldlevel = 99
if vim.fn.has("nvim-0.9.0") == 1 then
vim.opt.statuscolumn = [[%!v:lua.require'lazyvim.util'.ui.statuscolumn()]]
vim.opt.foldtext = "v:lua.require'lazyvim.util'.ui.foldtext()"
end
-- HACK: causes freezes on <= 0.9, so only enable on >= 0.10 for now
if vim.fn.has("nvim-0.10") == 1 then
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "v:lua.require'lazyvim.util'.ui.foldexpr()"
vim.opt.foldtext = ""
vim.opt.fillchars = "fold: "
opt.foldexpr = "v:lua.require'lazyvim.util'.ui.foldexpr()"
opt.foldmethod = "expr"
opt.foldtext = ""
else
vim.opt.foldmethod = "indent"
opt.foldmethod = "indent"
opt.foldtext = "v:lua.require'lazyvim.util'.ui.foldtext()"
end
vim.o.formatexpr = "v:lua.require'lazyvim.util'.format.formatexpr()"
-- Fix markdown indentation settings
vim.g.markdown_recommended_style = 0

View File

@ -10,6 +10,9 @@ function M.check()
if vim.fn.has("nvim-0.9.0") == 1 then
ok("Using Neovim >= 0.9.0")
if vim.fn.has("nvim-0.10.0") == 0 then
warn("Use Neovim >= 0.10.0 for the best experience")
end
else
error("Neovim >= 0.9.0 is required")
end

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
-- Compatibility with Neovim 0.9
return {
-- Use LuaSnip instead of native snippets
{ "garymjr/nvim-snippets", enabled = false },
{ import = "lazyvim.plugins.extras.coding.luasnip" },
-- Use mini.comment instead of ts-comments
{ "folke/ts-comments.nvim", enabled = false },
{ import = "lazyvim.plugins.extras.coding.mini-comment" },
-- Use neodev-types with lazydev
{ "folke/neodev.nvim", config = function() end },
{
"folke/lazydev.nvim",
opts = function(_, opts)
opts.library = opts.library or {}
table.insert(opts.library, { "neodev.nvim/types/stable" })
end,
config = function(_, opts)
-- force lazydev to load on Neovim 0.9
require("lazydev.config").have_0_10 = true
require("lazydev").setup(opts)
end,
},
{
"neovim/nvim-lspconfig",
dependencies = {},
},
}

View File

@ -1,3 +1,6 @@
local have_make = vim.fn.executable("make") == 1
local have_cmake = vim.fn.executable("cmake") == 1
return {
-- file explorer
@ -41,12 +44,23 @@ return {
vim.cmd([[Neotree close]])
end,
init = function()
if vim.fn.argc(-1) == 1 then
local stat = vim.uv.fs_stat(vim.fn.argv(0))
if stat and stat.type == "directory" then
require("neo-tree")
end
end
-- FIX: use `autocmd` for lazy-loading neo-tree instead of directly requiring it,
-- because `cwd` is not set up properly.
vim.api.nvim_create_autocmd("BufEnter", {
group = vim.api.nvim_create_augroup("Neotree_start_directory", { clear = true }),
desc = "Start Neo-tree with directory",
once = true,
callback = function()
if package.loaded["neo-tree"] then
return
else
local stats = vim.uv.fs_stat(vim.fn.argv(0))
if stats and stats.type == "directory" then
require("neo-tree")
end
end
end,
})
end,
opts = {
sources = { "filesystem", "buffers", "git_status", "document_symbols" },
@ -58,6 +72,8 @@ return {
},
window = {
mappings = {
["l"] = "open",
["h"] = "close_node",
["<space>"] = "none",
["Y"] = {
function(state)
@ -82,6 +98,12 @@ return {
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
git_status = {
symbols = {
unstaged = "󰄱",
staged = "󰱒",
},
},
},
},
config = function(_, opts)
@ -130,12 +152,23 @@ return {
dependencies = {
{
"nvim-telescope/telescope-fzf-native.nvim",
build = vim.fn.executable("make") == 1 and "make"
build = have_make and "make"
or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build",
enabled = vim.fn.executable("make") == 1 or vim.fn.executable("cmake") == 1,
config = function()
enabled = have_make or have_cmake,
config = function(plugin)
LazyVim.on_load("telescope.nvim", function()
require("telescope").load_extension("fzf")
local ok, err = pcall(require("telescope").load_extension, "fzf")
if not ok then
local lib = plugin.dir .. "/build/libfzf." .. (LazyVim.is_win() and "dll" or "so")
if not vim.uv.fs_stat(lib) then
LazyVim.warn("`telescope-fzf-native.nvim` not built. Rebuilding...")
require("lazy").build({ plugins = { plugin }, show = false }):wait(function()
LazyVim.info("Rebuilding `telescope-fzf-native.nvim` done.\nPlease restart Neovim.")
end)
else
LazyVim.error("Failed to load `telescope-fzf-native.nvim`:\n" .. err)
end
end
end)
end,
},
@ -146,17 +179,17 @@ return {
"<cmd>Telescope buffers sort_mru=true sort_lastused=true<cr>",
desc = "Switch Buffer",
},
{ "<leader>/", LazyVim.telescope("live_grep"), desc = "Grep (Root Dir)" },
{ "<leader>/", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" },
{ "<leader>:", "<cmd>Telescope command_history<cr>", desc = "Command History" },
{ "<leader><space>", LazyVim.telescope("files"), desc = "Find Files (Root Dir)" },
{ "<leader><space>", LazyVim.pick("auto"), desc = "Find Files (Root Dir)" },
-- find
{ "<leader>fb", "<cmd>Telescope buffers sort_mru=true sort_lastused=true<cr>", desc = "Buffers" },
{ "<leader>fc", LazyVim.telescope.config_files(), desc = "Find Config File" },
{ "<leader>ff", LazyVim.telescope("files"), desc = "Find Files (Root Dir)" },
{ "<leader>fF", LazyVim.telescope("files", { cwd = false }), desc = "Find Files (cwd)" },
{ "<leader>fc", LazyVim.pick.config_files(), desc = "Find Config File" },
{ "<leader>ff", LazyVim.pick("auto"), desc = "Find Files (Root Dir)" },
{ "<leader>fF", LazyVim.pick("auto", { root = false }), desc = "Find Files (cwd)" },
{ "<leader>fg", "<cmd>Telescope git_files<cr>", desc = "Find Files (git-files)" },
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Recent" },
{ "<leader>fR", LazyVim.telescope("oldfiles", { cwd = vim.uv.cwd() }), desc = "Recent (cwd)" },
{ "<leader>fR", LazyVim.pick("oldfiles"), desc = "Recent (cwd)" },
-- git
{ "<leader>gc", "<cmd>Telescope git_commits<CR>", desc = "Commits" },
{ "<leader>gs", "<cmd>Telescope git_status<CR>", desc = "Status" },
@ -168,20 +201,23 @@ return {
{ "<leader>sC", "<cmd>Telescope commands<cr>", desc = "Commands" },
{ "<leader>sd", "<cmd>Telescope diagnostics bufnr=0<cr>", desc = "Document Diagnostics" },
{ "<leader>sD", "<cmd>Telescope diagnostics<cr>", desc = "Workspace Diagnostics" },
{ "<leader>sg", LazyVim.telescope("live_grep"), desc = "Grep (Root Dir)" },
{ "<leader>sG", LazyVim.telescope("live_grep", { cwd = false }), desc = "Grep (cwd)" },
{ "<leader>sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" },
{ "<leader>sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" },
{ "<leader>sh", "<cmd>Telescope help_tags<cr>", desc = "Help Pages" },
{ "<leader>sH", "<cmd>Telescope highlights<cr>", desc = "Search Highlight Groups" },
{ "<leader>sj", "<cmd>Telescope jumplist<cr>", desc = "Jumplist" },
{ "<leader>sk", "<cmd>Telescope keymaps<cr>", desc = "Key Maps" },
{ "<leader>sl", "<cmd>Telescope loclist<cr>", desc = "Location List" },
{ "<leader>sM", "<cmd>Telescope man_pages<cr>", desc = "Man Pages" },
{ "<leader>sm", "<cmd>Telescope marks<cr>", desc = "Jump to Mark" },
{ "<leader>so", "<cmd>Telescope vim_options<cr>", desc = "Options" },
{ "<leader>sR", "<cmd>Telescope resume<cr>", desc = "Resume" },
{ "<leader>sw", LazyVim.telescope("grep_string", { word_match = "-w" }), desc = "Word (Root Dir)" },
{ "<leader>sW", LazyVim.telescope("grep_string", { cwd = false, word_match = "-w" }), desc = "Word (cwd)" },
{ "<leader>sw", LazyVim.telescope("grep_string"), mode = "v", desc = "Selection (Root Dir)" },
{ "<leader>sW", LazyVim.telescope("grep_string", { cwd = false }), mode = "v", desc = "Selection (cwd)" },
{ "<leader>uC", LazyVim.telescope("colorscheme", { enable_preview = true }), desc = "Colorscheme with Preview" },
{ "<leader>sq", "<cmd>Telescope quickfix<cr>", desc = "Quickfix List" },
{ "<leader>sw", LazyVim.pick("grep_string", { word_match = "-w" }), desc = "Word (Root Dir)" },
{ "<leader>sW", LazyVim.pick("grep_string", { root = false, word_match = "-w" }), desc = "Word (cwd)" },
{ "<leader>sw", LazyVim.pick("grep_string"), mode = "v", desc = "Selection (Root Dir)" },
{ "<leader>sW", LazyVim.pick("grep_string", { root = false }), mode = "v", desc = "Selection (cwd)" },
{ "<leader>uC", LazyVim.pick("colorscheme", { enable_preview = true }), desc = "Colorscheme with Preview" },
{
"<leader>ss",
function()
@ -205,20 +241,17 @@ return {
local actions = require("telescope.actions")
local open_with_trouble = function(...)
return require("trouble.providers.telescope").open_with_trouble(...)
end
local open_selected_with_trouble = function(...)
return require("trouble.providers.telescope").open_selected_with_trouble(...)
return require("trouble.sources.telescope").open(...)
end
local find_files_no_ignore = function()
local action_state = require("telescope.actions.state")
local line = action_state.get_current_line()
LazyVim.telescope("find_files", { no_ignore = true, default_text = line })()
LazyVim.pick("find_files", { no_ignore = true, default_text = line })()
end
local find_files_with_hidden = function()
local action_state = require("telescope.actions.state")
local line = action_state.get_current_line()
LazyVim.telescope("find_files", { hidden = true, default_text = line })()
LazyVim.pick("find_files", { hidden = true, default_text = line })()
end
return {
@ -241,7 +274,7 @@ return {
mappings = {
i = {
["<c-t>"] = open_with_trouble,
["<a-t>"] = open_selected_with_trouble,
["<a-t>"] = open_with_trouble,
["<a-i>"] = find_files_no_ignore,
["<a-h>"] = find_files_with_hidden,
["<C-Down>"] = actions.cycle_history_next,
@ -366,8 +399,10 @@ return {
end
-- stylua: ignore start
map("n", "]h", gs.next_hunk, "Next Hunk")
map("n", "[h", gs.prev_hunk, "Prev Hunk")
map("n", "]h", function() gs.nav_hunk("next") end, "Next Hunk")
map("n", "[h", function() gs.nav_hunk("prev") end, "Prev Hunk")
map("n", "]H", function() gs.nav_hunk("last") end, "Last Hunk")
map("n", "[H", function() gs.nav_hunk("first") end, "First Hunk")
map({ "n", "v" }, "<leader>ghs", ":Gitsigns stage_hunk<CR>", "Stage Hunk")
map({ "n", "v" }, "<leader>ghr", ":Gitsigns reset_hunk<CR>", "Reset Hunk")
map("n", "<leader>ghS", gs.stage_buffer, "Stage Buffer")
@ -382,89 +417,27 @@ return {
},
},
-- Automatically highlights other instances of the word under your cursor.
-- This works with LSP, Treesitter, and regexp matching to find the other
-- instances.
{
"RRethy/vim-illuminate",
event = "LazyFile",
opts = {
delay = 200,
large_file_cutoff = 2000,
large_file_overrides = {
providers = { "lsp" },
},
},
config = function(_, opts)
require("illuminate").configure(opts)
local function map(key, dir, buffer)
vim.keymap.set("n", key, function()
require("illuminate")["goto_" .. dir .. "_reference"](false)
end, { desc = dir:sub(1, 1):upper() .. dir:sub(2) .. " Reference", buffer = buffer })
end
map("]]", "next")
map("[[", "prev")
-- also set it after loading ftplugins, since a lot overwrite [[ and ]]
vim.api.nvim_create_autocmd("FileType", {
callback = function()
local buffer = vim.api.nvim_get_current_buf()
map("]]", "next", buffer)
map("[[", "prev", buffer)
end,
})
end,
keys = {
{ "]]", desc = "Next Reference" },
{ "[[", desc = "Prev Reference" },
},
},
-- buffer remove
{
"echasnovski/mini.bufremove",
keys = {
{
"<leader>bd",
function()
local bd = require("mini.bufremove").delete
if vim.bo.modified then
local choice = vim.fn.confirm(("Save changes to %q?"):format(vim.fn.bufname()), "&Yes\n&No\n&Cancel")
if choice == 1 then -- Yes
vim.cmd.write()
bd(0)
elseif choice == 2 then -- No
bd(0, true)
end
else
bd(0)
end
end,
desc = "Delete Buffer",
},
-- stylua: ignore
{ "<leader>bD", function() require("mini.bufremove").delete(0, true) end, desc = "Delete Buffer (Force)" },
},
},
-- better diagnostics list and others
{
"folke/trouble.nvim",
cmd = { "TroubleToggle", "Trouble" },
opts = { use_diagnostic_signs = true },
keys = {
{ "<leader>xx", "<cmd>TroubleToggle document_diagnostics<cr>", desc = "Document Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = "Workspace Diagnostics (Trouble)" },
{ "<leader>xL", "<cmd>TroubleToggle loclist<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>TroubleToggle quickfix<cr>", desc = "Quickfix List (Trouble)" },
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
{ "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)" },
{
"<leader>cS",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP references/definitions/... (Trouble)",
},
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
{
"[q",
function()
if require("trouble").is_open() then
require("trouble").previous({ skip_groups = true, jump = true })
require("trouble").prev({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cprev)
if not ok then
@ -502,8 +475,8 @@ return {
keys = {
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next Todo Comment" },
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous Todo Comment" },
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo (Trouble)" },
{ "<leader>xT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
{ "<leader>xt", "<cmd>Trouble todo toggle<cr>", desc = "Todo (Trouble)" },
{ "<leader>xT", "<cmd>Trouble todo toggle filter = {tag = {TODO,FIX,FIXME}}<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
{ "<leader>st", "<cmd>TodoTelescope<cr>", desc = "Todo" },
{ "<leader>sT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme" },
},

View File

@ -0,0 +1,116 @@
return {
{
"CopilotC-Nvim/CopilotChat.nvim",
branch = "canary",
cmd = "CopilotChat",
opts = function()
local user = vim.env.USER or "User"
user = user:sub(1, 1):upper() .. user:sub(2)
return {
model = "gpt-4",
auto_insert_mode = true,
show_help = true,
question_header = "" .. user .. " ",
answer_header = " Copilot ",
window = {
width = 0.4,
},
selection = function(source)
local select = require("CopilotChat.select")
return select.visual(source) or select.buffer(source)
end,
}
end,
keys = {
{ "<leader>a", "", desc = "+ai" },
{
"<leader>aa",
function()
return require("CopilotChat").toggle()
end,
desc = "Toggle (CopilotChat)",
mode = { "n", "v" },
},
{
"<leader>ax",
function()
return require("CopilotChat").reset()
end,
desc = "Clear (CopilotChat)",
mode = { "n", "v" },
},
{
"<leader>aq",
function()
local input = vim.fn.input("Quick Chat: ")
if input ~= "" then
require("CopilotChat").ask(input)
end
end,
desc = "Quick Chat (CopilotChat)",
mode = { "n", "v" },
},
},
config = function(_, opts)
local chat = require("CopilotChat")
require("CopilotChat.integrations.cmp").setup()
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "copilot-chat",
callback = function()
vim.opt_local.relativenumber = false
vim.opt_local.number = false
end,
})
chat.setup(opts)
end,
},
-- Telescope integration
{
"nvim-telescope/telescope.nvim",
optional = true,
keys = {
-- Show help actions with telescope
{
"<leader>ad",
function()
local actions = require("CopilotChat.actions")
local help = actions.help_actions()
if not help then
LazyVim.warn("No diagnostics found on the current line")
return
end
require("CopilotChat.integrations.telescope").pick(help)
end,
desc = "Diagnostic Help (CopilotChat)",
mode = { "n", "v" },
},
-- Show prompts actions with telescope
{
"<leader>ap",
function()
local actions = require("CopilotChat.actions")
require("CopilotChat.integrations.telescope").pick(actions.prompt_actions())
end,
desc = "Prompt Actions (CopilotChat)",
mode = { "n", "v" },
},
},
},
-- Edgy integration
{
"folke/edgy.nvim",
optional = true,
opts = function(_, opts)
opts.right = opts.right or {}
table.insert(opts.right, {
ft = "copilot-chat",
title = "Copilot Chat",
size = { width = 50 },
})
end,
},
}

View File

@ -1,5 +1,5 @@
return {
recommended = true,
-- copilot
{
"zbirenbaum/copilot.lua",
@ -66,10 +66,8 @@ return {
-- attach cmp source whenever copilot attaches
-- fixes lazy-loading issues with the copilot cmp source
LazyVim.lsp.on_attach(function(client)
if client.name == "copilot" then
copilot_cmp._on_insert_enter({})
end
end)
copilot_cmp._on_insert_enter({})
end, "copilot")
end,
},
},

View File

@ -0,0 +1,53 @@
return {
{
"L3MON4D3/LuaSnip",
build = (not LazyVim.is_win())
and "echo 'NOTE: jsregexp is optional, so not a big deal if it fails to build'; make install_jsregexp"
or nil,
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
},
{
"nvim-cmp",
dependencies = {
"saadparwaiz1/cmp_luasnip",
},
opts = function(_, opts)
opts.snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
}
table.insert(opts.sources, { name = "luasnip" })
end,
},
},
opts = {
history = true,
delete_check_events = "TextChanged",
},
},
{
"nvim-cmp",
-- stylua: ignore
keys = {
{
"<tab>",
function()
return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>"
end,
expr = true, silent = true, mode = "i",
},
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
},
},
{
"garymjr/nvim-snippets",
enabled = false,
},
}

View File

@ -0,0 +1,20 @@
return {
{
"echasnovski/mini.comment",
event = "VeryLazy",
opts = {
options = {
custom_commentstring = function()
return require("ts_context_commentstring.internal").calculate_commentstring() or vim.bo.commentstring
end,
},
},
},
{
"JoosepAlviste/nvim-ts-context-commentstring",
lazy = true,
opts = {
enable_autocmd = false,
},
},
}

View File

@ -0,0 +1,36 @@
-- Fast and feature-rich surround actions. For text that includes
-- surrounding characters like brackets or quotes, this allows you
-- to select the text inside, change or modify the surrounding characters,
-- and more.
return {
"echasnovski/mini.surround",
recommended = true,
keys = function(_, keys)
-- Populate the keys based on the user's options
local opts = LazyVim.opts("mini.surround")
local mappings = {
{ opts.mappings.add, desc = "Add Surrounding", mode = { "n", "v" } },
{ opts.mappings.delete, desc = "Delete Surrounding" },
{ opts.mappings.find, desc = "Find Right Surrounding" },
{ opts.mappings.find_left, desc = "Find Left Surrounding" },
{ opts.mappings.highlight, desc = "Highlight Surrounding" },
{ opts.mappings.replace, desc = "Replace Surrounding" },
{ opts.mappings.update_n_lines, desc = "Update `MiniSurround.config.n_lines`" },
}
mappings = vim.tbl_filter(function(m)
return m[1] and #m[1] > 0
end, mappings)
return vim.list_extend(mappings, keys)
end,
opts = {
mappings = {
add = "gsa", -- Add surrounding in Normal and Visual modes
delete = "gsd", -- Delete surrounding
find = "gsf", -- Find surrounding (to the right)
find_left = "gsF", -- Find surrounding (to the left)
highlight = "gsh", -- Highlight surrounding
replace = "gsr", -- Replace surrounding
update_n_lines = "gsn", -- Update `n_lines`
},
},
}

View File

@ -1,59 +0,0 @@
return {
desc = "Use native snippets instead of LuaSnip. Only works on Neovim >= 0.10!",
{
"L3MON4D3/LuaSnip",
enabled = false,
},
{
"nvim-cmp",
opts = {
snippet = {
expand = function(args)
vim.snippet.expand(args.body)
end,
},
},
keys = {
{
"<Tab>",
function()
if vim.snippet.jumpable(1) then
vim.schedule(function()
vim.snippet.jump(1)
end)
return
end
return "<Tab>"
end,
expr = true,
silent = true,
mode = "i",
},
{
"<Tab>",
function()
vim.schedule(function()
vim.snippet.jump(1)
end)
end,
silent = true,
mode = "s",
},
{
"<S-Tab>",
function()
if vim.snippet.jumpable(-1) then
vim.schedule(function()
vim.snippet.jump(-1)
end)
return
end
return "<S-Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
},
},
}

Some files were not shown because too many files have changed in this diff Show More