Compare commits

..

395 Commits

Author SHA1 Message Date
50626e3092 chore(main): release 11.4.0 ()
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 ()
* 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 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 () 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 () 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 2024-05-20 00:13:18 +02:00
20e002f9f0 feat(lsp): properly update certain Neovim functionlity based on dynamic capabilities. See . Fixes 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 ()
Co-authored-by: gacallea <gacallea@users.noreply.github.com>
2024-05-19 20:47:00 +02:00
a72baa8295 chore(main): release 11.3.2 ()
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 () 2024-05-19 17:45:36 +02:00
93c156a0a5 fix(yanky): load yanky earlier to avoid losing deleted lines () 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 () 2024-05-19 09:30:03 +02:00
e346d17812 fix(gitui): properly delete lazygit keymap at the correct time. Fixes 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 ()
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 ()
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 ()
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 () 2024-05-18 22:31:13 +02:00
649fa9d521 fix(keymaps): delete lazygit keymap when using gitui ()
* 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 () 2024-05-18 18:14:35 +02:00
a4d83524a7 fix(lsp): move next/prev reference keymaps to lsp keymaps. See 2024-05-18 15:46:35 +02:00
9080959981 chore(main): release 11.2.0 ()
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 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 () 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 … ()
* fix(mini.starter): buf_id in refresh() is not an identifier of valid Starter buffer

Fixes .

* 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 () 2024-05-17 20:08:28 +02:00
23374f160a fix(util.toggle): correctly toggle inlay_hints ()
`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 ()
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 ()
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 ()
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 () 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 () 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 () 2024-05-17 08:52:25 +02:00
07923f3701 chore(main): release 11.0.1 ()
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 () 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 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 () 2024-05-16 11:57:56 +02:00
6e7ba50141 fix(cmp): never auto bracket for snippets and correct prev char check. Fixes 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 () 2024-05-16 07:59:19 +02:00
b601ade71c chore(main): release 10.25.0 ()
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 2024-05-15 16:23:42 +02:00
fc5ee49495 fix(gitsigns): update deprecated hunk nav mappings () 2024-05-15 16:15:11 +02:00
9337db17c2 fix(autocmds): remove query from q-to-quit autocmd () 2024-05-15 16:12:18 +02:00
9b7e4b7c03 docs(README-DE.md): improves German README ()
- 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 () 2024-05-15 16:10:06 +02:00
d36e3a5c73 fix(extras.lang.typescript): support node debug type along with pwa-node ()
* 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 ()
Co-authored-by: Rafał Schmidt <rafal.schmidt@allegro.com>
2024-05-15 16:01:24 +02:00
16e6c86b27 feat(terraform): ensure tflint is installed () 2024-05-15 15:56:16 +02:00
914ca4a455 feat(noice): added keymap <leader>snt to show Noice messages in telescope. Fixes 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 ()
* 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 ()
This seems to be the proper fix for . 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 () 2024-05-15 12:11:29 +02:00
6a2545025e fix(lsp): check if diagnostics.signs is disabled by user () 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 ()
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 () 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 2024-05-13 08:53:20 +02:00
abb1ff0d60 fix(ansible): ansiblels not loading, keymap desc. ()
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 () 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 () 2024-05-13 07:03:10 +02:00
73de8dde2b feat(extras): add refactoring.nvim ()
* 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 () 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 2024-05-12 16:39:00 +02:00
cfe87ba894 chore(main): release 10.24.0 ()
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 () 2024-05-12 10:09:54 +02:00
30ce84f7a7 fix(neo-tree): correctly set up cwd ()
* 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 ()
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 ()
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 ()
* 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 ()
* 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 ()
* 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 () 2024-05-03 09:11:25 +02:00
095bc13188 style(keymaps): clarify no to use LazyVim.safe_keymap_set
* 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 () 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 () 2024-04-23 08:54:32 +02:00
9b4675ddde chore(main): release 10.22.0 ()
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 () 2024-04-22 09:56:00 +02:00
6fdbc623e0 fix(edgy): proper way of opening neo-tree. Fixes 2024-04-22 09:54:32 +02:00
15b09e800b feat(dot): add more filetypes ()
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 () 2024-04-22 09:48:05 +02:00
79fed97f23 fix(harpoon): harpoon2 deprecated message ()
* 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 () 2024-04-22 09:40:09 +02:00
5f92dc5304 fix(toggle): use new inlay_hint.enable() signature () 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 ()
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 () 2024-03-29 22:10:03 +01:00
50b7f426f2 fix(harpoon): optimizes harpoon keys () 2024-03-29 14:51:56 +01:00
5646ee5191 chore(main): release 10.21.1 ()
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 ()
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 ()
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 ()
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 () 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 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
c901640167 chore(main): release 10.19.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-27 11:28:17 +01:00
d945137a32 fix(python-semshi): better highlights () 2024-03-27 11:23:26 +01:00
bb1480a6b9 feat(lazygit): allow customizing the lazygit theme. Check the code to change the hl group mapping. Fixes 2024-03-27 11:19:06 +01:00
6ed771de9d fix(lazygit): use Visual instead of CursorLine for selected line. Fixes 2024-03-27 10:43:32 +01:00
ce5917a589 fix(lazygit): error handling for getting lazygit's config path 2024-03-27 10:21:09 +01:00
2a8bfccc3e chore(build): auto-generate vimdoc 2024-03-27 07:57:14 +00:00
eb9f9a8862 fix(keymaps): update all keymap descriptions to be Title Case () 2024-03-27 08:56:44 +01:00
7d570fad79 fix(autocmds): auto create directory on windows for uris. Fixes 2024-03-26 20:48:56 +01:00
1910cd5cb7 refactor: use LazyVim.is_win() 2024-03-26 20:48:56 +01:00
1de90e7e4c chore(main): release 10.18.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 20:33:06 +01:00
76b037dcc1 feat(extras): add dial extra ()
* feat: add dial extra

* refactor: removed print statements

* fix(extras): early return for dial extra

* refactor: dials_by_ft like conform, nvim-lint. Simplified buffer specific groups

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-03-26 20:26:08 +01:00
fd0677fb9a fix(terminal): dont use backdrop for edgy terminal windows 2024-03-26 19:55:14 +01:00
426cd3ed91 feat(lazygit): configure lazygit nvim-remote as editor and enable nerdfont icons
can be disabled with `vim.g.lazygit_config = false`
2024-03-26 19:55:14 +01:00
55c2527dfe chore(main): release 10.17.3 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 17:41:37 +01:00
f3655c33a3 perf(notify): disable animation notifications. too big impact on performance for too little benefit
To keep using animations, you can set stages = fade_in_slide_out for the
nvim-notify plugin
2024-03-26 17:35:27 +01:00
49a1afab53 chore(main): release 10.17.2 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 15:30:56 +01:00
a26ca7bf56 fix(lazygit): dont error when setting ansi color fails. Fixes 2024-03-26 15:24:16 +01:00
20efdd44da chore(main): release 10.17.1 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 13:46:01 +01:00
bfe8c608a3 fix(lazygit): allow overriding default terminal options 2024-03-26 13:42:57 +01:00
4796dba8f7 chore(main): release 10.17.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 12:47:36 +01:00
7d0dbc6ded feat(lazygit): lazygit now automatically uses colors from your Neovim colorscheme
Disable by setting `vim.g.lazygit_theme = false` in your `options.lua`
2024-03-26 12:43:07 +01:00
c00e3aa6b1 feat(util): added util function to get a fg/bg color from the active colorscheme 2024-03-26 12:43:07 +01:00
1d2cb7d8d1 chore(build): auto-generate vimdoc 2024-03-26 08:28:44 +00:00
3e5a5dd621 feat(python): allow configuring other python lsp servers than pyright, basedpyright 2024-03-26 09:28:08 +01:00
9e07a6615a chore(build): auto-generate vimdoc 2024-03-23 07:15:37 +00:00
b74ef23a27 feat(neo-tree): add mapping "O" to open with system default ()
* feat(neo-tree): add mapping "O" to open with system default

* feat(neo-tree): add OS checks for system default open commands

* Use `vim.ui.open` if exists

* update OS checks

* Just use vim.ui.open or throw error if doesn't exist

* Make "O" undefined mapping if vim.ui.open isn't available

* fix: use lazy's util.open instead

---------

Co-authored-by: Uthman Mohamed <83053931+1239uth@users.noreply.github.com>
Co-authored-by: saeedahsan <ahsan02@gmail.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-03-23 08:15:04 +01:00
7ab6285011 feat(options): Disable foldtext for nightly ()
* chores(format.lua): Fix typo

* Change gitsigns.nvim hunk preview shortcut

Change `preview_hunk` to recently added `preview_hunk_inline` command

* feat(options): remove redundant commented line

* feat(options): use native folding

see https://github.com/neovim/neovim/pull/20750
2024-03-22 10:38:10 +01:00
c91982a8bc chore(main): release 10.16.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 10:33:16 +01:00
4b8fe44c08 fix: add shim for vim.uv just in case someone upgrades lazyvim before lazy 2024-03-22 10:30:35 +01:00
69aedc2657 fix(cmake): lazy load cmake-tools. Fixes 2024-03-22 10:23:09 +01:00
1c13a5c10b feat(telescope-fzf-native): added support for building with cmake. Fixes 2024-03-22 10:00:22 +01:00
8d31bf230c fix(java): dont error when not using cmp. Fixes 2024-03-22 09:54:24 +01:00
3d4ab4eb26 feat(lazyterm): optional shell setup, mainly for pwsh. Fixes 2024-03-22 09:49:07 +01:00
7a5dbeae75 feat: use LazyVim everywhere instead of require("lazyvim.util") 2024-03-22 09:15:09 +01:00
3a87c08cda feat: use vim.uv everywhere instead of vim.loop 2024-03-22 09:02:34 +01:00
7f333f006f chore(build): auto-generate vimdoc 2024-03-22 06:18:48 +00:00
213493e766 fix(format): Don't leak bufnr into opts tables () 2024-03-22 07:18:15 +01:00
70bc880330 chore(build): auto-generate vimdoc 2024-03-21 13:51:23 +00:00
4187417158 fix(python): basedpyright is now supported by mason-lspconfig 2024-03-20 22:25:59 +01:00
6e57e86c99 feat: added LazyVim global. Will refactor specs later to use that 2024-03-20 17:26:50 +01:00
1661759d33 fix(util.telescope): make show_untracked configurable () 2024-03-20 17:25:39 +01:00
642bcf168b chore(main): release 10.15.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-20 17:19:56 +01:00
f6db6054e3 chore(build): auto-generate vimdoc 2024-03-20 16:18:58 +00:00
f055265bff feat(python): added option to configure basedpyright as lsp. Check the python extra docs. Fixes 2024-03-20 17:18:11 +01:00
fa0e538838 fix(lsp): dont auto install disabled lsp servers 2024-03-20 14:13:28 +01:00
1432f318b6 chore(main): release 10.14.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-19 22:44:49 +01:00
f655139281 feat(mini.ai): add more objects d,e,g,u,U () 2024-03-19 22:31:00 +01:00
52ee7ef696 fix(format): format injected langs does not wait 300ms () 2024-03-19 22:29:56 +01:00
ed44b246b4 feat(lualine): add modified_sign to pretty_path ()
Closes 

I left the initial text blank on purpose, so that it doesn't change
anything stylistically and let the user decide what he wants to add
in his personal configuration for `lualine` spec.
2024-03-19 22:28:31 +01:00
6a37171df6 fix(extras): accept symlinks in User extras directory () 2024-03-19 22:28:00 +01:00
b8c6d87825 chore(build): auto-generate vimdoc 2024-03-19 21:02:56 +00:00
393a9c7c7a fix(neotest): add required nvim-nio to test and dap extra (neotest and nvim-dap-ui respectively) ()
* Adding required nvim-nio to neotest in test-core

neotest now requires nvim-neotest/nvim-nio to be
installed as per BREAKING CHANGE: https://github.com/nvim-neotest/neotest/pull/337

* Adding nvim-nio as dependency

nvim-dap-ui now requires  nvim-neotest/nvim-nio as a dependency as of recent changes
2024-03-19 22:02:22 +01:00
e1d39b624f chore(build): auto-generate vimdoc 2024-03-18 10:24:36 +00:00
d8d380a60e fix(lazygit): make sure we start lazygit in a valid git root 2024-03-18 11:23:55 +01:00
864c58cae6 chore(build): auto-generate vimdoc 2024-03-15 17:02:05 +00:00
42a7e79d5a fix(git): use compatible function for windows and linux () 2024-03-15 18:01:33 +01:00
0107a1079b chore(main): release 10.13.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-14 17:16:28 +01:00
623297efa6 fix(which-key): add group description for folds ()
Signed-off-by: Jeff Davis <mr.jefedavis@gmail.com>
2024-03-14 17:12:47 +01:00
991523431f fix(mini.files): description for g. keybinding in mini.files ()
If you press `g` in a mini.files menu, the `.` key shows up but doesn't have a description. This adds a desc attribute to the binding so the menu shows a correct description.
2024-03-14 17:12:23 +01:00
843032ef1c fix(markdown): disable headlines.nvim bullets for now 2024-03-14 16:53:00 +01:00
0ba731a879 fix(markdown): disable headlines.nvim in insert mode. Fixes 2024-03-14 16:39:23 +01:00
98c8226e21 chore(build): auto-generate vimdoc 2024-03-14 13:15:16 +00:00
afca0b7876 fix(conform): make lsp_fallback option user configurable () 2024-03-14 14:14:41 +01:00
2a666ac5f2 fix(rust): don't overwrite vim.g.rustaceanvim if it is defined () 2024-03-14 00:07:40 +01:00
d2f7cb0462 chore(build): auto-generate vimdoc 2024-03-13 23:07:24 +00:00
0ec7a9040b feat(git): add <leader>gf for lazygit commit history on current file ()
* Add <leader>gf for lazygit commit history on current file

* Change root dir to git root using git command

* refactor: cleanup

---------

Co-authored-by: Uthman Mohamed <83053931+1239uth@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-03-14 00:06:47 +01:00
cca2e09149 chore(build): auto-generate vimdoc 2024-03-11 22:14:34 +00:00
1c9f4160a2 fix(options): dont set clipboard in an SSH session, so that OSC52 can be enabled (when supported) 2024-03-11 23:13:51 +01:00
78e6405f90 chore(build): auto-generate vimdoc 2024-03-10 08:46:17 +00:00
d3761eded7 feat(lualine): add more hl options to pretty_path ()
* feat(lualine): add more hl options to pretty_path

Adds two additional options to pretty_path: filename_hl and dirpath_hl.

This allows users to customize the highlight group of both the directory
component of the path name and the filenname independently. modified_hl
is still used when the buffer has been modified.

Thanks to dpetka2001 (Iordanis Petkakis) for the changes to the format
function.

* feat: cleanup

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-03-10 09:45:40 +01:00
aa9fb1fd23 chore(build): auto-generate vimdoc 2024-03-09 08:00:17 +00:00
b12e742458 fix(terraform-extra): Drop unnecessary commentstring config for terraform ()
* fix(terraform-extra): Drop unnecessary commentstring config for terraform

The commentstring for terraform and hcl files is now handled by nvim-ts-context-commentstring:



* Fixed terraform.lua issues. I'm bad.
2024-03-09 08:59:44 +01:00
e3bfcb9bf7 chore(main): release 10.12.1 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-08 11:55:40 +01:00
935bc2283f fix(extras): prevent duplicate extra imports 2024-03-08 11:51:18 +01:00
ee2e876252 fix(extras): automatically rename extra symbols-outline => outline. Fixes 2024-03-08 11:47:17 +01:00
7415231855 fix(hi-patterns): correct regex for shorthand hex colors. See ##2562 2024-03-08 11:31:45 +01:00
166942251d chore(build): auto-generate vimdoc 2024-03-08 10:23:09 +00:00
04bc5718a5 fix(haskell): Make Haskell-snippets lazy load for performance ()
* fix(haskell): add filetype to haskell-snippets for lazy load

* format haskell.lua

---------

Co-authored-by: Uthman Mohamed <83053931+1239uth@users.noreply.github.com>
2024-03-08 11:22:36 +01:00
c0ad2209b6 chore(main): release 10.12.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-07 20:45:12 +01:00
4745314074 fix(extras): set correct priority for outline extra. Fixes 2024-03-07 20:43:13 +01:00
139c41c18e feat(lang): replace rust-tools.nvim with rustacean.nvim
dummy commit to trigger changelog.
original commit message was not correct and didnt get picked up by the changelog
2024-03-07 20:41:12 +01:00
5cabc2ff5b chore(main): release 10.11.1 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-07 19:04:38 +01:00
c6736ef2b8 fix(extras): show rename of symbols-outline => outline 2024-03-07 18:59:14 +01:00
8ade97a42c chore(main): release 10.11.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-07 17:51:41 +01:00
8386d23c81 fix(util): clear buffer root cache when cwd change () 2024-03-07 17:49:39 +01:00
e8e7d22f56 fix(go): adding opts recursive_run ()
Adding opts recursive_run to fix the error 'no Go files in /path/project.' This issue is caused by a recent change in the 'nvim-neotest/neotest-go' project, which now [defaults to non-recursive behavior](https://github.com/nvim-neotest/neotest-go/pull/72)
2024-03-07 17:49:06 +01:00
a7c16f8efd feat(java): allow opts for setup_dap_main_class_configs() ()
[1] 382b9f6258/doc/jdtls.txt (L206-L210)
2024-03-07 17:48:00 +01:00
780b9bb337 feat(lsp): added native codelens support. Enable in lsp settings. (disabled by default). Fixes 2024-03-07 17:04:18 +01:00
b2a0ae6d0d fix(ansible): incorrect key spec 2024-03-07 16:41:03 +01:00
ed135e6ffd fix(lang): Change rustacean keymaps to vim.keymap.set instead of which-key ()
Based on this [comment](https://github.com/LazyVim/LazyVim/pull/2198#pullrequestreview-1873658780).
2024-03-07 16:34:49 +01:00
66b3c0a19f feat(ui): dashboard files searches git files if in git repo ()
just like `<leader>ff` keymap for telescope
2024-03-07 12:11:26 +01:00
cae22baf08 feat(extras): add harpoon2 ()
* feat(extras): add harpoon2

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

Co-authored-by: Iordanis Petkakis <dpetka2001@gmail.com>

* chore: formatting

---------

Co-authored-by: Iordanis Petkakis <dpetka2001@gmail.com>
2024-03-07 12:07:38 +01:00
21ca466db1 feat(autocmds): added support for copy/paste through ssh. Needs Neovim >= 0.10.0 2024-03-07 12:04:41 +01:00
41e60af52c style: formatting 2024-03-07 12:00:44 +01:00
d57817d79b feat(lang): add telescope terraform integrations ()
* feat(lang): add telescope terraform integrations

Closes 

Add telescope integrations for:
- https://github.com/ANGkeith/telescope-terraform-doc.nvim
- https://github.com/cappyzawa/telescope-terraform.nvim

* fix(lang): remove event from terraform telescope extensions
2024-03-07 11:59:38 +01:00
b949835de5 feat(extras): Enable project-specific plugin specs using local .lazy.lua ()
* feat(extras): Enable project-specific plugin specs using .lazy.lua

* added a warning when extra lazyrc is not the last plugin spec
2024-03-07 11:58:50 +01:00
5012d7d839 fix(util.ui.fg): Add link=false to show effective definition ()
Fixes  by showing the effective definition instead of the linked
group name.
2024-03-07 11:57:03 +01:00
f23d3cee42 feat(omnisharp): add nvim-dap configuration ()
* feat(omnisharp): add `nvim-dap` configuration

* chore(omnisharp): add `netcoredbg` to `ensure_installed`

* chore: simplify get `netcoredbg` path
2024-03-07 11:56:27 +01:00
de01a37cb6 feat(lang): add support for helm chart templates ()
* feat(lang): add support for helm chart templates

* fix(helm): stop yamlls and disable autostart

* fix(helm): stop yaml & docker compose lsp on helm file types

Revert disabling `autostart` since that kills the LSP globally even when
opening a standard yaml file, like GitHub Workflow file.

* fix(helm): remove docker compose lsp overrides

Since docker compose LSP does not seem to be triggered or started by
opening *.yaml helm files, the config overrides were removed to simplify
Helm config.

* fix(helm): ensure mason installs helm lsp
2024-03-07 11:55:58 +01:00
d2502613ff feat(extras): Add scala support using nvim-metals ()
* Add scala support using nvim-metals

nvim-metals:
https://github.com/scalameta/nvim-metals

minimal example configuration from their documentation:
https://github.com/scalameta/nvim-metals/discussions/39

* add treesitter syntax highlighting
2024-03-07 11:54:16 +01:00
a48b14eb3e feat(symbols-outline): use outline.nvim instead of symbols-outline.nvim () 2024-03-07 11:53:06 +01:00
40a75e82f7 feat(util) create gitui extension () 2024-03-07 11:51:48 +01:00
c6c584f7c3 feat(lang): add Haskell config () 2024-03-07 11:51:08 +01:00
36ae4213b8 fix(telescope): anonymous keymap ()
* fix(telescope): anonymous keymap

* fix(telescope): add desc

* fix(telescope): function name

* fix(telescope): update description

* fix(telescope): diagnostic disable
2024-03-07 11:49:50 +01:00
ddbba85408 chore(treesitter.lua): fix typo ()
* fix typo

* fix typo
2024-03-07 11:48:37 +01:00
1b0b899ab3 feat(treesitter): add xml to ensure_installed () 2024-03-07 11:47:45 +01:00
b7da44caae feat(lang): add ansible support () 2024-03-07 11:46:33 +01:00
e7a58d9484 fix(telescope): dont use git_files when .ignore or .rgignore file is present 2024-03-07 11:43:22 +01:00
66bf7525e3 feat(lang) replace rust-tools.nvim with rustacean.nvim - fixes ()
* feat(lang) - move to rustacean.nvim, fixes 

* update rustacean plugin

* PR comment for lsp settings
2024-03-07 11:42:23 +01:00
a8eeb1b75d feat(hipatterns): add shorthand hex color support () 2024-03-07 11:41:34 +01:00
d9f5e6db16 fix(yanky): properly disable sqlite.lua on Windows ()
When directly modifying its `enabled` property, the plugin will remain
disabled even if required by another plugin.
2024-03-07 11:40:51 +01:00
29ed06e000 fix(options): don't lower timeoutlen when in VS Code ()
Avoid lowering timeoutlen when running in VS Code, to avoid
unwanted timeouts from key mappings.

The lower value of 300ms (down from Neovim's default of 1000ms)
works great outside of VS Code, where it helps trigger the which-key UI
quickly, and where which-key prevents timeouts from occuring.

But in VS Code (where which-key isn't applicable), the lower value
makes it difficult to perform some key mappings in time,
such as `]p`, which requires shifting hand position.
2024-03-07 11:39:57 +01:00
16d6ac234a fix(autocmds): nvim already binds q to close for man-files () 2024-03-07 11:38:36 +01:00
1a417430fc fix(neo-tree): Add description to "Y" in Neo-Tree ()
It copies the path of the file/directory
2024-03-07 11:34:20 +01:00
c43afbbdbb chore(build): auto-generate vimdoc 2024-03-07 10:33:56 +00:00
796112e170 fix(dot): remove hyprlang plugin () 2024-03-07 11:33:22 +01:00
91126b9896 chore(build): auto-generate vimdoc 2024-02-21 07:49:28 +00:00
fe72424e77 chore(main): release 10.10.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-21 08:48:55 +01:00
a50f92f755 chore(build): auto-generate vimdoc 2024-01-23 06:52:05 +00:00
591f850f8a fix(autocmds): apply conceal level change to local buffer options () 2024-01-23 07:51:34 +01:00
Yi
54ae77e164 feat(telescope): add <leader>fg for finding files using git-files ()
I found this to be more useful than the current <leader>ff and <leader>fF
2024-01-22 11:58:51 +01:00
7f9219162b feat(snippets): added extra to use native snippets instead of LuaSnip. 2024-01-22 08:39:07 +01:00
d9287391b7 feat: added LazyHealth that loads all plugins and runs :checkhealth 2024-01-22 08:03:15 +01:00
f799b39eaf fix(rust): avoid resetting cmp group_index to 1 ()
For example, 'buffer' source by default has group_index = 2 [1], however
if we take all the sources plus crates and run them through
cmp.config.sources() again, since it's a one-dimensional list, all
group_indexes will be reset to 1.

[1] 879e29504d/lua/lazyvim/plugins/coding.lua (L74-L80)
2024-01-22 07:51:19 +01:00
eb2674ce37 chore(build): auto-generate vimdoc 2024-01-22 06:50:15 +00:00
1dffb1d853 fix(hyprlang): use lazyvim way to install () 2024-01-22 07:49:45 +01:00
eccf3b5e68 fix(neo-tree): better copy file name with Y 2024-01-21 21:32:09 +01:00
93342f15ba feat(toggle): use vim.diagnostic.is_disabled when available ()
* feat(toggle-diagnostics): change logic based on `vim.diagnostic.is_disabled`

After discussion in , I thought maybe it would be beneficial if we
could change the logic of the `toggle-diagnostics` function based on if
the user has disabled diagnostics in his own configuration.

* feat(toggle-diagnostics): revert to `enable` instead of `status`

* fix(toggle): use vim.diagnostics enabled state when possible

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-01-21 20:41:11 +01:00
a43d8cf358 fix(options): change default conceal level to 2 ()
3 hides all concealed text, even if there are replacement chars defined

e.g. : for Markdown, 3 hides list item markers, dots for asterisk lists
and em-dashes for dash lists

If replacements are defined as defaults in a plugin, the "Laziest™"
config would seem to be displaying them.

Level 1 only seems useful when alignment really matters.
2024-01-21 20:34:07 +01:00
cbd9d700dc fix(typescript): don't hardcode values in lua table ()
* fix(typescript): don't hardcode values in lua table

When a user changes `vim.opt.shiftwidth` with some auto-command, it's
not taken into account. Make `opts` a function, so that values get
evaluated when `lspconfig` loads instead.

* fix(typescript): remove format settings entirely

* fix(typescript): add back comment and Lua annotations

* fix(typescript): bring back function call completion snippets
2024-01-21 20:28:16 +01:00
8e2046f3d0 fix(autocmds): avoid checktime when buftype=nofile ()
It triggered an 'E11: Invalid in command-line window; <CR> executes,
CTRL-C quits' error when Neovim was in Command Line window and
FocusGained.
2024-01-21 20:20:54 +01:00
c72db4938c docs(README-DE): remove .txt extension ()
Probably some windows editor that added this automatically + known extensions hidden.
2024-01-21 20:18:03 +01:00
37107cf2fc docs: typo in init.lua () 2024-01-21 20:10:18 +01:00
c433ea7aa8 chore(main): release 10.9.1 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-21 20:03:51 +01:00
fbe478ae3f fix: fixup for 2024-01-21 20:02:11 +01:00
adc0b36069 chore(main): release 10.9.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-21 20:00:03 +01:00
5296d42e6a feat(neo-tree): Adds copy file name command to Neo-Tree with 'Y' binding ()
Co-authored-by: Ricardo Rebelo <ricardo.rebelo@siemens.com>
2024-01-21 19:53:57 +01:00
71a73e8334 fix(eslint): correct working directories name () 2024-01-21 19:53:09 +01:00
fa6158a595 feat(keymaps): add function to toggle between light/dark backgrounds () 2024-01-21 19:52:36 +01:00
f4ddb16b26 feat(gitsigns): update gitsigns.nvim preview command ()
* chores(format.lua): Fix typo

* Change gitsigns.nvim hunk preview shortcut

Change `preview_hunk` to recently added `preview_hunk_inline` command
2024-01-21 19:49:41 +01:00
b71feb7e45 feat(test): Add <leader>tl to neotest.run_last() () 2024-01-21 19:37:38 +01:00
33830f1e7d feat(lsp): add diagnostic signs to lsp options ()
Co-authored-by: Gary Murray <gamurray@fanatics.com>
2024-01-21 19:35:24 +01:00
d0120ccdd1 chore(build): auto-generate vimdoc 2024-01-21 10:25:29 +00:00
23fe52acd7 feat(autocmds): dont use conceal for json files 2024-01-21 11:24:59 +01:00
979bb952a6 fix(dot): treesitter for hypr was renamed to hyprlang 2024-01-20 12:50:34 +01:00
879e29504d chore(main): release 10.8.2 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-30 21:27:02 +01:00
8baf9b5459 fix(lsp): fix inlay hints for older nightlies. See 2023-11-30 21:24:07 +01:00
6ac331b588 chore(main): release 10.8.1 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-30 20:20:39 +01:00
e229988a98 fix(lsp): inlay hints on stable. See 2023-11-30 20:17:07 +01:00
11a8a6bea7 fix(ui): signcolumn signs on nightly. Fixes 2023-11-30 20:17:07 +01:00
4ebda08d49 chore(build): auto-generate vimdoc 2023-11-30 18:54:19 +00:00
6853b785d9 fix(lsp): detect if using nvim-0.10 and use new inlay_hint.enable method ()
* Detect if using nvim 0.10 and use new inlay_hint.enable method

* Add lsp util for inlay-hints and update keymap

* Remove the need to check vim version

* Support older nightly builds

* Move inlay_hint toggle in Util.toggle

---------

Co-authored-by: Gary Murray <gamurray@fanatics.com>
2023-11-30 19:53:40 +01:00
68ff818a5b chore(main): release 10.8.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-04 11:12:37 +01:00
4312e5e283 feat(catppuccin): enable more integrations () 2023-11-04 11:09:01 +01:00
db31b4073b chore(build): auto-generate vimdoc 2023-11-04 09:15:11 +00:00
3986169823 fix(spectre): don't build nvim-spectre 2023-11-04 10:14:36 +01:00
e5babf289c chore(build): auto-generate vimdoc 2023-10-28 14:39:26 +00:00
b32b4fd581 fix(extras): dont show extras that give errors (user's extras). Fixes 2023-10-28 16:38:43 +02:00
4b758c40c0 chore(build): auto-generate vimdoc 2023-10-27 16:35:14 +00:00
e01ad513aa fix(sessions): added folds to sessions 2023-10-27 18:34:33 +02:00
7831fc94ca chore(build): auto-generate vimdoc 2023-10-26 05:39:38 +00:00
4558407574 fix(plugin): LazyFile now properly deals with deleted buffers. Fixes 2023-10-26 07:38:53 +02:00
09eafc60ef fix(mini.indentscope): remove duplicated filetype () 2023-10-25 20:00:01 +02:00
9a6b0f8928 chore(main): release 10.7.1 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-25 17:52:35 +02:00
f589154268 fix(catppuccin): trouble integration. Fixes 2023-10-25 17:23:37 +02:00
60e5707013 fix(util): pcall deletion of lazy_file augroup. See 2023-10-25 15:54:35 +02:00
028f69c03c chore(main): release 10.7.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-25 15:51:56 +02:00
58ddf405e0 fix(lang): add cmakelint to ensure installed list ()
1. mason/cmakelang install bin/cmake-lint
2. nvim-lint only recognize bin/cmakelint
3. mason/cmakelint install bin/cmakelint
so we need mason/cmakelint installed to using nvim-lint to perform formatting
2023-10-25 15:50:02 +02:00
9e1f835223 feat(nvim): extend j/k enhancements to up/down arrows () 2023-10-25 15:48:45 +02:00
37953585bb fix(extras.python-semshi): improve highlights () 2023-10-25 15:47:07 +02:00
61fae7d23f fix: fix jdtls not spwaning in windows () 2023-10-25 15:46:39 +02:00
6dfeeb8322 chore(main): release 10.6.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-25 15:44:48 +02:00
b651560ad0 perf(markdown): prevent headlines.nvim slowing down initial rendering with nvim README.md 2023-10-25 15:40:57 +02:00
1e1b68d633 fix(treesitter): make treesitter queries available at startup. See Fixes 2023-10-25 15:40:25 +02:00
eab464d52d fix(markdown): create default numbered Headline groups for colorschemes that dont support them. Fixes 2023-10-25 14:23:44 +02:00
c400cf0014 chore(build): auto-generate vimdoc 2023-10-25 12:06:15 +00:00
a5c9708736 perf(ui): wrap treesitter.foldexpr and cache get_parser during a event loop tick. Fixes 2023-10-25 14:05:32 +02:00
99598ef7c7 feat(telescope): sort buffers with lastused and mru 2023-10-25 14:05:32 +02:00
ef5ec9a3bf style: added trouble ft for the next gen trouble 2023-10-25 14:05:32 +02:00
e7130c8250 chore(build): auto-generate vimdoc 2023-10-22 12:44:41 +00:00
e55ab411b4 fix(mini.hipatterns): use extmark_opts instead of soft deprecated priority () 2023-10-22 14:44:08 +02:00
fa3170d422 chore(build): auto-generate vimdoc 2023-10-20 11:27:50 +00:00
786a061eaa style(dashboard): remove unnecessary brackets from keys, including extras ()
* style(dashboard): remove unnecessary brackets from keys, including the p key from the project extras

* review Folke

---------

Co-authored-by: abeldekat <abel@nomail.com>
2023-10-20 13:27:10 +02:00
0bb628053b chore(main): release 10.5.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-19 20:16:16 +02:00
e996eed750 chore(main): release 10.5.0 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-19 20:14:17 +02:00
8df44b3bb5 feat(typescript): added remove unused imports () 2023-10-19 20:12:48 +02:00
82da2440e4 fix(nvim-ts-autotag): make it actually work :) 2023-10-19 19:54:36 +02:00
fad3777296 fix(tabnine): run :CmpTabnineHub automatically on build () 2023-10-19 07:54:19 +02:00
ea3155aef6 fix(conform): allow overriding all conform format options. Fixes 2023-10-19 07:52:47 +02:00
98b51a608c style(dashboard): make layout exactly the same as before 2023-10-19 07:52:47 +02:00
0ac8f6fb3b fix(treesitter-context): set default max_lines=3 2023-10-19 07:52:47 +02:00
b8c7e70c80 chore(build): auto-generate vimdoc 2023-10-19 05:45:44 +00:00
d73aee4a93 feat(dashboard): remove unnecessary brackets from keys () 2023-10-19 07:45:03 +02:00
ae77bfda89 chore(main): release 10.4.4 ()
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-18 13:11:54 +02:00
5c8cefaf40 chore(build): auto-generate vimdoc 2023-10-18 09:39:39 +00:00
7d8b3e8ef9 fix(project): don't let project.nvim change the cwd. Leads to too much confusion 2023-10-18 11:38:57 +02:00
101 changed files with 4367 additions and 1207 deletions

@ -11,7 +11,7 @@ jobs:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Neovim
shell: bash
run: |
@ -31,7 +31,7 @@ jobs:
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 +40,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 +54,14 @@ jobs:
- tests
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
- uses: google-github-actions/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: |

File diff suppressed because it is too large Load Diff

82
NEWS.md

@ -1,7 +1,89 @@
# What's new?
## 11.x
- `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
- nerd font icons (v3)
- editor preset is set to `nvim-remote` for better interop with Neovim
- The option `vim.g.lazygit_theme` was renamed to `vim.g.lazygit_config`
- **lazygit** now automatically uses the colors of your current colorscheme.
This is enabled by default. To disable, add the below to your `options.lua`:
```lua
vim.g.lazygit_config = false
```
- Added support for `basedpyright` to the **python** extra.
Enable in your `options.lua` with:
```lua
vim.g.lazyvim_python_lsp = "basedpyright"
```
Be aware that `basedpyright` is still in development and
may not work exactly the same as `pyright`.
- User extras under `lua/plugins/extras` can now also be managed
with **LazyExtras**

@ -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).

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2023 October 17
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 May 20
==============================================================================
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
·

@ -7,7 +7,11 @@ end
-- Check if we need to reload the file when it changed
vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
group = augroup("checktime"),
command = "checktime",
callback = function()
if vim.o.buftype ~= "nofile" then
vim.cmd("checktime")
end
end,
})
-- Highlight on yank
@ -53,10 +57,8 @@ vim.api.nvim_create_autocmd("FileType", {
"PlenaryTestPopup",
"help",
"lspinfo",
"man",
"notify",
"qf",
"query",
"spectre_panel",
"startuptime",
"tsplayground",
@ -71,6 +73,15 @@ vim.api.nvim_create_autocmd("FileType", {
end,
})
-- make it easier to close man-files when opened inline
vim.api.nvim_create_autocmd("FileType", {
group = augroup("man_unlisted"),
pattern = { "man" },
callback = function(event)
vim.bo[event.buf].buflisted = false
end,
})
-- wrap and check for spell in text filetypes
vim.api.nvim_create_autocmd("FileType", {
group = augroup("wrap_spell"),
@ -81,14 +92,23 @@ vim.api.nvim_create_autocmd("FileType", {
end,
})
-- Fix conceallevel for json files
vim.api.nvim_create_autocmd({ "FileType" }, {
group = augroup("json_conceal"),
pattern = { "json", "jsonc", "json5" },
callback = function()
vim.opt_local.conceallevel = 0
end,
})
-- Auto create dir when saving a file, in case some intermediate directory does not exist
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
group = augroup("auto_create_dir"),
callback = function(event)
if event.match:match("^%w%w+://") then
if event.match:match("^%w%w+:[\\/][\\/]") then
return
end
local file = vim.loop.fs_realpath(event.match) or event.match
local file = vim.uv.fs_realpath(event.match) or event.match
vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p")
end,
})

@ -1,9 +1,10 @@
local Util = require("lazyvim.util")
_G.LazyVim = require("lazyvim.util")
---@class LazyVimConfig: LazyVimOptions
local M = {}
M.version = "10.4.3" -- x-release-please-version
M.version = "10.21.1" -- x-release-please-version
LazyVim.config = M
---@class LazyVimOptions
local defaults = {
@ -131,7 +132,7 @@ local defaults = {
}
M.json = {
version = 2,
version = 4,
data = {
version = nil, ---@type string?
news = {}, ---@type table<string, string>
@ -149,7 +150,7 @@ function M.json.load()
if ok then
M.json.data = vim.tbl_deep_extend("force", M.json.data, json or {})
if M.json.data.version ~= M.json.version then
Util.json.migrate()
LazyVim.json.migrate()
end
end
end
@ -178,18 +179,30 @@ function M.setup(opts)
end
M.load("keymaps")
Util.format.setup()
Util.news.setup()
Util.root.setup()
LazyVim.format.setup()
LazyVim.news.setup()
LazyVim.root.setup()
vim.api.nvim_create_user_command("LazyExtras", function()
Util.extras.show()
LazyVim.extras.show()
end, { desc = "Manage LazyVim extras" })
vim.api.nvim_create_user_command("LazyHealth", function()
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,
})
Util.track("colorscheme")
Util.try(function()
LazyVim.track("colorscheme")
LazyVim.try(function()
if type(M.colorscheme) == "function" then
M.colorscheme()
else
@ -198,11 +211,11 @@ function M.setup(opts)
end, {
msg = "Could not load your colorscheme",
on_error = function(msg)
Util.error(msg)
LazyVim.error(msg)
vim.cmd.colorscheme("habamax")
end,
})
Util.track()
LazyVim.track()
end
---@param buf? number
@ -216,6 +229,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
@ -224,7 +240,7 @@ end
function M.load(name)
local function _load(mod)
if require("lazy.core.cache").find(mod)[1] then
Util.try(function()
LazyVim.try(function()
require(mod)
end, { msg = "Failed loading " .. mod })
end
@ -254,19 +270,23 @@ function M.init()
end
package.preload["lazyvim.plugins.lsp.format"] = function()
Util.deprecate([[require("lazyvim.plugins.lsp.format")]], [[require("lazyvim.util").format]])
return Util.format
LazyVim.deprecate([[require("lazyvim.plugins.lsp.format")]], [[LazyVim.format]])
return LazyVim.format
end
-- delay notifications till vim.notify was replaced or after 500ms
require("lazyvim.util").lazy_notify()
LazyVim.lazy_notify()
-- load options here, before lazy init while sourcing plugin modules
-- this is needed to make sure options will be correctly applied
-- after installing missing plugins
M.load("options")
Util.plugin.setup()
if vim.g.deprecation_warnings == false then
vim.deprecate = function() end
end
LazyVim.plugin.setup()
M.json.load()
end

@ -1,44 +1,47 @@
-- This file is automatically loaded by lazyvim.config.init
local Util = require("lazyvim.util")
-- 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 = Util.safe_keymap_set
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" }, "k", "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 })
map("n", "<C-j>", "<C-w>j", { desc = "Go to lower window", remap = true })
map("n", "<C-k>", "<C-w>k", { desc = "Go to upper window", remap = true })
map("n", "<C-l>", "<C-w>l", { desc = "Go to right window", remap = true })
map("n", "<C-h>", "<C-w>h", { desc = "Go to Left Window", remap = true })
map("n", "<C-j>", "<C-w>j", { desc = "Go to Lower Window", remap = true })
map("n", "<C-k>", "<C-w>k", { desc = "Go to Upper Window", remap = true })
map("n", "<C-l>", "<C-w>l", { desc = "Go to Right Window", remap = true })
-- Resize window using <ctrl> arrow keys
map("n", "<C-Up>", "<cmd>resize +2<cr>", { desc = "Increase window height" })
map("n", "<C-Down>", "<cmd>resize -2<cr>", { desc = "Decrease window height" })
map("n", "<C-Left>", "<cmd>vertical resize -2<cr>", { desc = "Decrease window width" })
map("n", "<C-Right>", "<cmd>vertical resize +2<cr>", { desc = "Increase window width" })
map("n", "<C-Up>", "<cmd>resize +2<cr>", { desc = "Increase Window Height" })
map("n", "<C-Down>", "<cmd>resize -2<cr>", { desc = "Decrease Window Height" })
map("n", "<C-Left>", "<cmd>vertical resize -2<cr>", { desc = "Decrease Window Width" })
map("n", "<C-Right>", "<cmd>vertical resize +2<cr>", { desc = "Increase Window Width" })
-- Move Lines
map("n", "<A-j>", "<cmd>m .+1<cr>==", { desc = "Move down" })
map("n", "<A-k>", "<cmd>m .-2<cr>==", { desc = "Move up" })
map("i", "<A-j>", "<esc><cmd>m .+1<cr>==gi", { desc = "Move down" })
map("i", "<A-k>", "<esc><cmd>m .-2<cr>==gi", { desc = "Move up" })
map("v", "<A-j>", ":m '>+1<cr>gv=gv", { desc = "Move down" })
map("v", "<A-k>", ":m '<-2<cr>gv=gv", { desc = "Move up" })
map("n", "<A-j>", "<cmd>m .+1<cr>==", { desc = "Move Down" })
map("n", "<A-k>", "<cmd>m .-2<cr>==", { desc = "Move Up" })
map("i", "<A-j>", "<esc><cmd>m .+1<cr>==gi", { desc = "Move Down" })
map("i", "<A-k>", "<esc><cmd>m .-2<cr>==gi", { desc = "Move Up" })
map("v", "<A-j>", ":m '>+1<cr>gv=gv", { desc = "Move Down" })
map("v", "<A-k>", ":m '<-2<cr>gv=gv", { desc = "Move Up" })
-- buffers
map("n", "<S-h>", "<cmd>bprevious<cr>", { desc = "Prev buffer" })
map("n", "<S-l>", "<cmd>bnext<cr>", { desc = "Next buffer" })
map("n", "[b", "<cmd>bprevious<cr>", { desc = "Prev buffer" })
map("n", "]b", "<cmd>bnext<cr>", { desc = "Next buffer" })
map("n", "<S-h>", "<cmd>bprevious<cr>", { desc = "Prev Buffer" })
map("n", "<S-l>", "<cmd>bnext<cr>", { desc = "Next Buffer" })
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" })
map({ "i", "n" }, "<esc>", "<cmd>noh<cr><esc>", { desc = "Escape and Clear hlsearch" })
-- Clear search, diff update and redraw
-- taken from runtime/lua/_editor.lua
@ -46,16 +49,16 @@ map(
"n",
"<leader>ur",
"<Cmd>nohlsearch<Bar>diffupdate<Bar>normal! <C-L><CR>",
{ desc = "Redraw / clear hlsearch / diff update" }
{ desc = "Redraw / Clear hlsearch / Diff Update" }
)
-- https://github.com/mhinz/vim-galore#saner-behavior-of-n-and-n
map("n", "n", "'Nn'[v:searchforward].'zv'", { expr = true, desc = "Next search result" })
map("x", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" })
map("o", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" })
map("n", "N", "'nN'[v:searchforward].'zv'", { expr = true, desc = "Prev search result" })
map("x", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" })
map("o", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" })
map("n", "n", "'Nn'[v:searchforward].'zv'", { expr = true, desc = "Next Search Result" })
map("x", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next Search Result" })
map("o", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next Search Result" })
map("n", "N", "'nN'[v:searchforward].'zv'", { expr = true, desc = "Prev Search Result" })
map("x", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev Search Result" })
map("o", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev Search Result" })
-- Add undo break-points
map("i", ",", ",<c-g>u")
@ -63,7 +66,7 @@ map("i", ".", ".<c-g>u")
map("i", ";", ";<c-g>u")
-- save file
map({ "i", "x", "n", "s" }, "<C-s>", "<cmd>w<cr><esc>", { desc = "Save file" })
map({ "i", "x", "n", "s" }, "<C-s>", "<cmd>w<cr><esc>", { desc = "Save File" })
--keywordprg
map("n", "<leader>K", "<cmd>norm! K<cr>", { desc = "Keywordprg" })
@ -81,12 +84,12 @@ map("n", "<leader>fn", "<cmd>enew<cr>", { desc = "New File" })
map("n", "<leader>xl", "<cmd>lopen<cr>", { desc = "Location List" })
map("n", "<leader>xq", "<cmd>copen<cr>", { desc = "Quickfix List" })
map("n", "[q", vim.cmd.cprev, { desc = "Previous quickfix" })
map("n", "]q", vim.cmd.cnext, { desc = "Next quickfix" })
map("n", "[q", vim.cmd.cprev, { desc = "Previous Quickfix" })
map("n", "]q", vim.cmd.cnext, { desc = "Next Quickfix" })
-- formatting
map({ "n", "v" }, "<leader>cf", function()
Util.format({ force = true })
LazyVim.format({ force = true })
end, { desc = "Format" })
-- diagnostic
@ -108,56 +111,64 @@ map("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" })
-- stylua: ignore start
-- toggle options
map("n", "<leader>uf", function() Util.format.toggle() end, { desc = "Toggle auto format (global)" })
map("n", "<leader>uF", function() Util.format.toggle(true) end, { desc = "Toggle auto format (buffer)" })
map("n", "<leader>us", function() Util.toggle("spell") end, { desc = "Toggle Spelling" })
map("n", "<leader>uw", function() Util.toggle("wrap") end, { desc = "Toggle Word Wrap" })
map("n", "<leader>uL", function() Util.toggle("relativenumber") end, { desc = "Toggle Relative Line Numbers" })
map("n", "<leader>ul", function() Util.toggle.number() end, { desc = "Toggle Line Numbers" })
map("n", "<leader>ud", function() Util.toggle.diagnostics() end, { desc = "Toggle Diagnostics" })
map("n", "<leader>uf", function() LazyVim.format.toggle() end, { desc = "Toggle Auto Format (Global)" })
map("n", "<leader>uF", function() LazyVim.format.toggle(true) end, { desc = "Toggle Auto Format (Buffer)" })
map("n", "<leader>us", function() LazyVim.toggle("spell") end, { desc = "Toggle Spelling" })
map("n", "<leader>uw", function() LazyVim.toggle("wrap") end, { desc = "Toggle Word Wrap" })
map("n", "<leader>uL", function() LazyVim.toggle("relativenumber") end, { desc = "Toggle Relative Line Numbers" })
map("n", "<leader>ul", function() LazyVim.toggle.number() end, { desc = "Toggle Line Numbers" })
map("n", "<leader>ud", function() LazyVim.toggle.diagnostics() end, { desc = "Toggle Diagnostics" })
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
map("n", "<leader>uc", function() Util.toggle("conceallevel", false, {0, conceallevel}) end, { desc = "Toggle Conceal" })
if vim.lsp.inlay_hint then
map("n", "<leader>uh", function() vim.lsp.inlay_hint(0, nil) end, { desc = "Toggle Inlay Hints" })
map("n", "<leader>uc", function() LazyVim.toggle("conceallevel", false, {0, conceallevel}) end, { desc = "Toggle Conceal" })
if vim.lsp.buf.inlay_hint or vim.lsp.inlay_hint then
map( "n", "<leader>uh", function() LazyVim.toggle.inlay_hints() end, { desc = "Toggle Inlay Hints" })
end
map("n", "<leader>uT", function() if vim.b.ts_highlight then vim.treesitter.stop() else vim.treesitter.start() end end, { desc = "Toggle Treesitter Highlight" })
map("n", "<leader>ub", function() LazyVim.toggle("background", false, {"light", "dark"}) end, { desc = "Toggle Background" })
-- lazygit
map("n", "<leader>gg", function() Util.terminal({ "lazygit" }, { cwd = Util.root(), esc_esc = false, ctrl_hjkl = false }) end, { desc = "Lazygit (root dir)" })
map("n", "<leader>gG", function() Util.terminal({ "lazygit" }, {esc_esc = false, ctrl_hjkl = false}) end, { desc = "Lazygit (cwd)" })
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>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" })
-- quit
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit all" })
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() Util.news.changelog() end, { desc = "LazyVim Changelog" })
map("n", "<leader>L", function() LazyVim.news.changelog() end, { desc = "LazyVim Changelog" })
-- floating terminal
local lazyterm = function() Util.terminal(nil, { cwd = Util.root() }) end
map("n", "<leader>ft", lazyterm, { desc = "Terminal (root dir)" })
map("n", "<leader>fT", function() Util.terminal() end, { desc = "Terminal (cwd)" })
map("n", "<c-/>", lazyterm, { desc = "Terminal (root dir)" })
local lazyterm = function() LazyVim.terminal(nil, { cwd = LazyVim.root() }) end
map("n", "<leader>ft", lazyterm, { desc = "Terminal (Root Dir)" })
map("n", "<leader>fT", function() LazyVim.terminal() end, { desc = "Terminal (cwd)" })
map("n", "<c-/>", lazyterm, { desc = "Terminal (Root Dir)" })
map("n", "<c-_>", lazyterm, { desc = "which_key_ignore" })
-- Terminal Mappings
map("t", "<esc><esc>", "<c-\\><c-n>", { desc = "Enter Normal Mode" })
map("t", "<C-h>", "<cmd>wincmd h<cr>", { desc = "Go to left window" })
map("t", "<C-j>", "<cmd>wincmd j<cr>", { desc = "Go to lower window" })
map("t", "<C-k>", "<cmd>wincmd k<cr>", { desc = "Go to upper window" })
map("t", "<C-l>", "<cmd>wincmd l<cr>", { desc = "Go to right window" })
map("t", "<C-h>", "<cmd>wincmd h<cr>", { desc = "Go to Left Window" })
map("t", "<C-j>", "<cmd>wincmd j<cr>", { desc = "Go to Lower Window" })
map("t", "<C-k>", "<cmd>wincmd k<cr>", { desc = "Go to Upper Window" })
map("t", "<C-l>", "<cmd>wincmd l<cr>", { desc = "Go to Right Window" })
map("t", "<C-/>", "<cmd>close<cr>", { desc = "Hide Terminal" })
map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
-- windows
map("n", "<leader>ww", "<C-W>p", { desc = "Other window", remap = true })
map("n", "<leader>wd", "<C-W>c", { desc = "Delete window", remap = true })
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>ww", "<C-W>p", { desc = "Other Window", remap = true })
map("n", "<leader>wd", "<C-W>c", { desc = "Delete Window", remap = true })
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 })
-- tabs
map("n", "<leader><tab>l", "<cmd>tablast<cr>", { desc = "Last Tab" })

@ -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
@ -12,15 +12,43 @@ vim.g.autoformat = true
-- * a function with signature `function(buf) -> string|string[]`
vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- LazyVim automatically configures lazygit:
-- * theme, based on the active colorscheme.
-- * editorPreset to nvim-remote
-- * enables nerd font icons
-- Set to false to disable.
vim.g.lazygit_config = true
-- 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
local opt = vim.opt
opt.autowrite = true -- Enable auto write
opt.clipboard = "unnamedplus" -- Sync with system clipboard
-- 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 = 3 -- Hide * markup for bold and italic
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"
@ -34,7 +62,7 @@ opt.pumblend = 10 -- Popup blend
opt.pumheight = 10 -- Maximum number of entries in a popup
opt.relativenumber = true -- Relative line numbers
opt.scrolloff = 4 -- Lines of context
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp" }
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" }
opt.shiftround = true -- Round indent
opt.shiftwidth = 2 -- Size of an indent
opt.shortmess:append({ W = true, I = true, c = true, C = true })
@ -47,9 +75,10 @@ opt.spelllang = { "en" }
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
opt.timeoutlen = 300
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
@ -57,37 +86,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 = "⸱",
fold = " ",
foldsep = " ",
diff = "",
eob = " ",
}
if vim.fn.has("nvim-0.10") == 1 then
opt.smoothscroll = true
end
-- Folding
vim.opt.foldlevel = 99
vim.opt.foldtext = "v:lua.require'lazyvim.util'.ui.foldtext()"
if vim.fn.has("nvim-0.9.0") == 1 then
vim.opt.statuscolumn = [[%!v:lua.require'lazyvim.util'.ui.statuscolumn()]]
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.vim.treesitter.foldexpr()"
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

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

@ -1,3 +1,5 @@
vim.uv = vim.uv or vim.loop
local M = {}
---@param opts? LazyVimConfig

File diff suppressed because it is too large Load Diff

@ -14,14 +14,19 @@ return {
name = "catppuccin",
opts = {
integrations = {
aerial = true,
alpha = true,
cmp = true,
dashboard = true,
flash = true,
gitsigns = true,
headlines = true,
illuminate = true,
indent_blankline = { enabled = true },
leap = true,
lsp_trouble = true,
mason = true,
markdown = true,
mini = true,
native_lsp = {
enabled = true,
@ -34,12 +39,13 @@ return {
},
navic = { enabled = true, custom_bg = "lualine" },
neotest = true,
neotree = true,
noice = true,
notify = true,
neotree = true,
semantic_tokens = true,
telescope = true,
treesitter = true,
treesitter_context = true,
which_key = true,
},
},

File diff suppressed because it is too large Load Diff

@ -27,7 +27,7 @@ return {
optional = true,
event = "VeryLazy",
opts = function(_, opts)
table.insert(opts.sections.lualine_x, 2, require("lazyvim.util").lualine.cmp_source("codeium"))
table.insert(opts.sections.lualine_x, 2, LazyVim.lualine.cmp_source("codeium"))
end,
},
}

@ -1,5 +1,5 @@
return {
recommended = true,
-- copilot
{
"zbirenbaum/copilot.lua",
@ -19,12 +19,11 @@ return {
optional = true,
event = "VeryLazy",
opts = function(_, opts)
local Util = require("lazyvim.util")
local colors = {
[""] = Util.ui.fg("Special"),
["Normal"] = Util.ui.fg("Special"),
["Warning"] = Util.ui.fg("DiagnosticError"),
["InProgress"] = Util.ui.fg("DiagnosticWarn"),
[""] = LazyVim.ui.fg("Special"),
["Normal"] = LazyVim.ui.fg("Special"),
["Warning"] = LazyVim.ui.fg("DiagnosticError"),
["InProgress"] = LazyVim.ui.fg("DiagnosticWarn"),
}
table.insert(opts.sections.lualine_x, 2, {
function()
@ -36,7 +35,7 @@ return {
if not package.loaded["copilot"] then
return
end
local ok, clients = pcall(require("lazyvim.util").lsp.get_clients, { name = "copilot", bufnr = 0 })
local ok, clients = pcall(LazyVim.lsp.get_clients, { name = "copilot", bufnr = 0 })
if not ok then
return false
end
@ -66,7 +65,7 @@ return {
copilot_cmp.setup(opts)
-- attach cmp source whenever copilot attaches
-- fixes lazy-loading issues with the copilot cmp source
require("lazyvim.util").lsp.on_attach(function(client)
LazyVim.lsp.on_attach(function(client)
if client.name == "copilot" then
copilot_cmp._on_insert_enter({})
end

@ -0,0 +1,44 @@
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",
},
-- 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" } },
},
}

@ -0,0 +1,13 @@
return {
{
"echasnovski/mini.comment",
event = "VeryLazy",
opts = {
options = {
custom_commentstring = function()
return require("ts_context_commentstring.internal").calculate_commentstring() or vim.bo.commentstring
end,
},
},
},
}

@ -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`
},
},
}

@ -1,14 +1,14 @@
local Util = require("lazyvim.util")
return {
-- Tabnine cmp source
{
"nvim-cmp",
dependencies = {
-- Add TabNine support, make sure you run :CmpTabnineHub after installation.
{
"tzachar/cmp-tabnine",
build = Util.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh",
build = {
LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh",
":CmpTabnineHub",
},
dependencies = "hrsh7th/nvim-cmp",
opts = {
max_lines = 1000,
@ -28,7 +28,7 @@ return {
priority = 100,
})
opts.formatting.format = Util.inject.args(opts.formatting.format, function(entry, item)
opts.formatting.format = LazyVim.inject.args(opts.formatting.format, function(entry, item)
-- Hide percentage in the menu
if entry.source.name == "cmp_tabnine" then
item.menu = ""
@ -43,7 +43,7 @@ return {
event = "VeryLazy",
opts = function(_, opts)
local icon = require("lazyvim.config").icons.kinds.TabNine
table.insert(opts.sections.lualine_x, 2, require("lazyvim.util").lualine.cmp_source("cmp_tabnine", icon))
table.insert(opts.sections.lualine_x, 2, LazyVim.lualine.cmp_source("cmp_tabnine", icon))
end,
},
}

@ -1,32 +1,31 @@
-- better yank/paste
return {
-- better yank/paste
{
"gbprod/yanky.nvim",
dependencies = { { "kkharji/sqlite.lua", enabled = not jit.os:find("Windows") } },
opts = {
highlight = { timer = 250 },
ring = { storage = jit.os:find("Windows") and "shada" or "sqlite" },
},
keys = {
"gbprod/yanky.nvim",
recommended = true,
desc = "Better Yank/Paste",
event = "LazyFile",
opts = {
highlight = { timer = 150 },
},
keys = {
-- stylua: ignore
{ "<leader>p", function() require("telescope").extensions.yank_history.yank_history({ }) end, desc = "Open Yank History" },
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" }, desc = "Yank text" },
{ "p", "<Plug>(YankyPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after cursor" },
{ "P", "<Plug>(YankyPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before cursor" },
{ "gp", "<Plug>(YankyGPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after selection" },
{ "gP", "<Plug>(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before selection" },
{ "[y", "<Plug>(YankyCycleForward)", desc = "Cycle forward through yank history" },
{ "]y", "<Plug>(YankyCycleBackward)", desc = "Cycle backward through yank history" },
{ "]p", "<Plug>(YankyPutIndentAfterLinewise)", desc = "Put indented after cursor (linewise)" },
{ "[p", "<Plug>(YankyPutIndentBeforeLinewise)", desc = "Put indented before cursor (linewise)" },
{ "]P", "<Plug>(YankyPutIndentAfterLinewise)", desc = "Put indented after cursor (linewise)" },
{ "[P", "<Plug>(YankyPutIndentBeforeLinewise)", desc = "Put indented before cursor (linewise)" },
{ ">p", "<Plug>(YankyPutIndentAfterShiftRight)", desc = "Put and indent right" },
{ "<p", "<Plug>(YankyPutIndentAfterShiftLeft)", desc = "Put and indent left" },
{ ">P", "<Plug>(YankyPutIndentBeforeShiftRight)", desc = "Put before and indent right" },
{ "<P", "<Plug>(YankyPutIndentBeforeShiftLeft)", desc = "Put before and indent left" },
{ "=p", "<Plug>(YankyPutAfterFilter)", desc = "Put after applying a filter" },
{ "=P", "<Plug>(YankyPutBeforeFilter)", desc = "Put before applying a filter" },
},
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" }, desc = "Yank Text" },
{ "p", "<Plug>(YankyPutAfter)", mode = { "n", "x" }, desc = "Put Yanked Text After Cursor" },
{ "P", "<Plug>(YankyPutBefore)", mode = { "n", "x" }, desc = "Put Yanked Text Before Cursor" },
{ "gp", "<Plug>(YankyGPutAfter)", mode = { "n", "x" }, desc = "Put Yanked Text After Selection" },
{ "gP", "<Plug>(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put Yanked Text Before Selection" },
{ "[y", "<Plug>(YankyCycleForward)", desc = "Cycle Forward Through Yank History" },
{ "]y", "<Plug>(YankyCycleBackward)", desc = "Cycle Backward Through Yank History" },
{ "]p", "<Plug>(YankyPutIndentAfterLinewise)", desc = "Put Indented After Cursor (Linewise)" },
{ "[p", "<Plug>(YankyPutIndentBeforeLinewise)", desc = "Put Indented Before Cursor (Linewise)" },
{ "]P", "<Plug>(YankyPutIndentAfterLinewise)", desc = "Put Indented After Cursor (Linewise)" },
{ "[P", "<Plug>(YankyPutIndentBeforeLinewise)", desc = "Put Indented Before Cursor (Linewise)" },
{ ">p", "<Plug>(YankyPutIndentAfterShiftRight)", desc = "Put and Indent Right" },
{ "<p", "<Plug>(YankyPutIndentAfterShiftLeft)", desc = "Put and Indent Left" },
{ ">P", "<Plug>(YankyPutIndentBeforeShiftRight)", desc = "Put Before and Indent Right" },
{ "<P", "<Plug>(YankyPutIndentBeforeShiftLeft)", desc = "Put Before and Indent Left" },
{ "=p", "<Plug>(YankyPutAfterFilter)", desc = "Put After Applying a Filter" },
{ "=P", "<Plug>(YankyPutBeforeFilter)", desc = "Put Before Applying a Filter" },
},
}

@ -12,12 +12,15 @@ end
return {
"mfussenegger/nvim-dap",
recommended = true,
desc = "Debugging support. Requires language specific adapters to be configured. (see lang extras)",
dependencies = {
-- fancy UI for the debugger
{
"rcarriga/nvim-dap-ui",
dependencies = { "nvim-neotest/nvim-nio" },
-- stylua: ignore
keys = {
{ "<leader>du", function() require("dapui").toggle({ }) end, desc = "Dap UI" },
@ -25,8 +28,6 @@ return {
},
opts = {},
config = function(_, opts)
-- setup dap config by VsCode launch.json file
-- require("dap.ext.vscode").load_launchjs()
local dap = require("dap")
local dapui = require("dapui")
dapui.setup(opts)
@ -80,6 +81,11 @@ return {
},
},
},
-- VsCode launch.json parser
{
"folke/neoconf.nvim",
},
},
-- stylua: ignore
@ -89,7 +95,7 @@ return {
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },
{ "<leader>da", function() require("dap").continue({ before = get_args }) end, desc = "Run with Args" },
{ "<leader>dC", function() require("dap").run_to_cursor() end, desc = "Run to Cursor" },
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to line (no execute)" },
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to Line (No Execute)" },
{ "<leader>di", function() require("dap").step_into() end, desc = "Step Into" },
{ "<leader>dj", function() require("dap").down() end, desc = "Down" },
{ "<leader>dk", function() require("dap").up() end, desc = "Up" },
@ -114,5 +120,18 @@ return {
{ text = sign[1], texthl = sign[2] or "DiagnosticInfo", linehl = sign[3], numhl = sign[3] }
)
end
-- setup dap config by VsCode launch.json file
local vscode = require("dap.ext.vscode")
local _filetypes = require("mason-nvim-dap.mappings.filetypes")
local filetypes = vim.tbl_deep_extend("force", _filetypes, {
["node"] = { "javascriptreact", "typescriptreact", "typescript", "javascript" },
["pwa-node"] = { "javascriptreact", "typescriptreact", "typescript", "javascript" },
})
local json = require("plenary.json")
vscode.json_decode = function(str)
return vim.json.decode(json.json_strip_comments(str))
end
vscode.load_launchjs(nil, filetypes)
end,
}

@ -1,5 +1,4 @@
local Config = require("lazyvim.config")
local Util = require("lazyvim.util")
return {
desc = "Aerial Symbol Browser",
@ -55,7 +54,7 @@ return {
"nvim-telescope/telescope.nvim",
optional = true,
opts = function()
Util.on_load("telescope.nvim", function()
LazyVim.on_load("telescope.nvim", function()
require("telescope").load_extension("aerial")
end)
end,
@ -73,11 +72,11 @@ return {
"folke/edgy.nvim",
optional = true,
opts = function(_, opts)
local edgy_idx = Util.plugin.extra_idx("ui.edgy")
local aerial_idx = Util.plugin.extra_idx("editor.aerial")
local edgy_idx = LazyVim.plugin.extra_idx("ui.edgy")
local aerial_idx = LazyVim.plugin.extra_idx("editor.aerial")
if edgy_idx and edgy_idx > aerial_idx then
Util.warn("The `edgy.nvim` extra must be **imported** before the `aerial.nvim` extra to work properly.", {
LazyVim.warn("The `edgy.nvim` extra must be **imported** before the `aerial.nvim` extra to work properly.", {
title = "LazyVim",
})
end

@ -0,0 +1,175 @@
local M = {}
---@type table<string, table<string, string[]>>
M.dials_by_ft = {}
---@param increment boolean
---@param g? boolean
function M.dial(increment, g)
local mode = vim.fn.mode(true)
-- Use visual commands for VISUAL 'v', VISUAL LINE 'V' and VISUAL BLOCK '\22'
local is_visual = mode == "v" or mode == "V" or mode == "\22"
local func = (increment and "inc" or "dec") .. (g and "_g" or "_") .. (is_visual and "visual" or "normal")
local group = M.dials_by_ft[vim.bo.filetype] or "default"
return require("dial.map")[func](group)
end
return {
"monaqa/dial.nvim",
recommended = true,
desc = "Increment and decrement numbers, dates, and more",
-- stylua: ignore
keys = {
{ "<C-a>", function() return M.dial(true) end, expr = true, desc = "Increment", mode = {"n", "v"} },
{ "<C-x>", function() return M.dial(false) end, expr = true, desc = "Decrement", mode = {"n", "v"} },
{ "g<C-a>", function() return M.dial(true, true) end, expr = true, desc = "Increment", mode = {"n", "v"} },
{ "g<C-x>", function() return M.dial(false, true) end, expr = true, desc = "Decrement", mode = {"n", "v"} },
},
opts = function()
local augend = require("dial.augend")
local logical_alias = augend.constant.new({
elements = { "&&", "||" },
word = false,
cyclic = true,
})
local ordinal_numbers = augend.constant.new({
-- elements through which we cycle. When we increment, we go down
-- On decrement we go up
elements = {
"first",
"second",
"third",
"fourth",
"fifth",
"sixth",
"seventh",
"eighth",
"ninth",
"tenth",
},
-- if true, it only matches strings with word boundary. firstDate wouldn't work for example
word = false,
-- do we cycle back and forth (tenth to first on increment, first to tenth on decrement).
-- Otherwise nothing will happen when there are no further values
cyclic = true,
})
local weekdays = augend.constant.new({
elements = {
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday",
},
word = true,
cyclic = true,
})
local months = augend.constant.new({
elements = {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
},
word = true,
cyclic = true,
})
local capitalized_boolean = augend.constant.new({
elements = {
"True",
"False",
},
word = true,
cyclic = true,
})
return {
dials_by_ft = {
css = "css",
javascript = "typescript",
javascriptreact = "typescript",
json = "json",
lua = "lua",
markdown = "markdown",
python = "python",
sass = "css",
scss = "css",
typescript = "typescript",
typescriptreact = "typescript",
},
groups = {
default = {
augend.integer.alias.decimal, -- nonnegative decimal number (0, 1, 2, 3, ...)
augend.integer.alias.hex, -- nonnegative hex number (0x01, 0x1a1f, etc.)
augend.date.alias["%Y/%m/%d"], -- date (2022/02/19, etc.)
},
typescript = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
logical_alias,
augend.constant.new({ elements = { "let", "const" } }),
ordinal_numbers,
weekdays,
months,
},
css = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.hexcolor.new({
case = "lower",
}),
augend.hexcolor.new({
case = "upper",
}),
},
markdown = {
augend.misc.alias.markdown_header,
ordinal_numbers,
weekdays,
months,
},
json = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.semver.alias.semver, -- versioning (v1.1.2)
},
lua = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
augend.constant.new({
elements = { "and", "or" },
word = true, -- if false, "sand" is incremented into "sor", "doctor" into "doctand", etc.
cyclic = true, -- "or" is incremented into "and".
}),
ordinal_numbers,
weekdays,
months,
},
python = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
capitalized_boolean,
logical_alias,
ordinal_numbers,
weekdays,
months,
},
},
}
end,
config = function(_, opts)
require("dial.config").augends:register_group(opts.groups)
M.dials_by_ft = opts.dials_by_ft
end,
}

@ -0,0 +1,42 @@
return {
"ThePrimeagen/harpoon",
branch = "harpoon2",
opts = {
menu = {
width = vim.api.nvim_win_get_width(0) - 4,
},
settings = {
save_on_toggle = true,
},
},
keys = function()
local keys = {
{
"<leader>H",
function()
require("harpoon"):list():add()
end,
desc = "Harpoon File",
},
{
"<leader>h",
function()
local harpoon = require("harpoon")
harpoon.ui:toggle_quick_menu(harpoon:list())
end,
desc = "Harpoon Quick Menu",
},
}
for i = 1, 5 do
table.insert(keys, {
"<leader>" .. i,
function()
require("harpoon"):list():select(i)
end,
desc = "Harpoon to File " .. i,
})
end
return keys
end,
}

@ -0,0 +1,45 @@
-- Automatically highlights other instances of the word under your cursor.
-- This works with LSP, Treesitter, and regexp matching to find the other
-- instances.
return {
{
"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" },
},
},
{
"neovim/nvim-lspconfig",
opts = { document_highlight = { enabed = false } },
},
}

@ -20,9 +20,9 @@ return {
"ggandor/leap.nvim",
enabled = true,
keys = {
{ "s", mode = { "n", "x", "o" }, desc = "Leap forward to" },
{ "S", mode = { "n", "x", "o" }, desc = "Leap backward to" },
{ "gs", mode = { "n", "x", "o" }, desc = "Leap from windows" },
{ "s", mode = { "n", "x", "o" }, desc = "Leap Forward to" },
{ "S", mode = { "n", "x", "o" }, desc = "Leap Backward to" },
{ "gs", mode = { "n", "x", "o" }, desc = "Leap from Windows" },
},
config = function(_, opts)
local leap = require("leap")
@ -38,6 +38,7 @@ return {
-- rename surround mappings from gs to gz to prevent conflict with leap
{
"echasnovski/mini.surround",
optional = true,
opts = {
mappings = {
add = "gza", -- Add surrounding in Normal and Visual modes
@ -50,6 +51,15 @@ return {
},
},
},
{
"folke/which-key.nvim",
optional = true,
opts = {
defaults = {
["gz"] = { name = "+surround" },
},
},
},
-- makes some plugins dot-repeatable like leap
{ "tpope/vim-repeat", event = "VeryLazy" },

@ -0,0 +1,54 @@
return {
-- disable gitsigns.nvim
{
"lewis6991/gitsigns.nvim",
enabled = false,
},
-- setup mini.diff
{
"echasnovski/mini.diff",
event = "VeryLazy",
keys = {
{
"<leader>go",
function()
require("mini.diff").toggle_overlay(0)
end,
desc = "Toggle mini.diff overlay",
},
},
opts = {
view = {
style = "sign",
signs = {
add = "",
change = "",
delete = "",
},
},
},
},
-- lualine integration
{
"nvim-lualine/lualine.nvim",
opts = function(_, opts)
local x = opts.sections.lualine_x
for _, comp in ipairs(x) do
if comp[1] == "diff" then
comp.source = function()
local summary = vim.b.minidiff_summary
return summary
and {
added = summary.add,
modified = summary.change,
removed = summary.delete,
}
end
break
end
end
end,
},
}

@ -18,12 +18,12 @@ return {
function()
require("mini.files").open(vim.api.nvim_buf_get_name(0), true)
end,
desc = "Open mini.files (directory of current file)",
desc = "Open mini.files (Directory of Current File)",
},
{
"<leader>fM",
function()
require("mini.files").open(vim.loop.cwd(), true)
require("mini.files").open(vim.uv.cwd(), true)
end,
desc = "Open mini.files (cwd)",
},
@ -50,14 +50,14 @@ return {
callback = function(args)
local buf_id = args.data.buf_id
-- Tweak left-hand side of mapping to your liking
vim.keymap.set("n", "g.", toggle_dotfiles, { buffer = buf_id })
vim.keymap.set("n", "g.", toggle_dotfiles, { buffer = buf_id, desc = "Toggle Hidden Files" })
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "MiniFilesActionRename",
callback = function(event)
require("lazyvim.util").lsp.on_rename(event.data.from, event.data.to)
LazyVim.lsp.on_rename(event.data.from, event.data.to)
end,
})
end,

@ -0,0 +1,7 @@
return {
{
"echasnovski/mini.move",
event = "VeryLazy",
opts = {},
},
}

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