Compare commits

..

307 Commits

Author SHA1 Message Date
0e12b00743 chore(main): release 10.4.3 (#1771)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-18 00:06:46 +02:00
2e308d5440 fix(neotest): better integration with trouble: no longer steals focus and hides when all ok 2023-10-18 00:04:28 +02:00
5c1656729a fix(dashboard): config shortcut when opening dashboard again. Fixes #1768 2023-10-17 18:28:06 +02:00
ian
1d4fbd3b2e fix(keymaps): let keymap n and N opens folds (#1298)
It's strange that mappings to n and N do not open folds like its original behavior, so I append `zv` to manually open folds.
2023-10-17 18:03:34 +02:00
b0ded5c015 fix(dot): treesitter langs in dot extra were not added 2023-10-17 16:33:55 +02:00
c711309a67 chore(main): release 10.4.2 (#1765)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-17 10:04:24 +02:00
af3ca06472 docs: fixed conform examples 2023-10-17 08:42:20 +02:00
4da4583b4a chore(build): auto-generate vimdoc 2023-10-17 06:29:04 +00:00
315df373f2 fix(statuscolumn): correct line numbers & respect more options 2023-10-17 08:28:23 +02:00
42ba1af40f chore(main): release 10.4.1 (#1757)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-16 23:09:17 +02:00
ff64cc5399 fix(format): set formatexpr in options so users can override it. Fixes #1759 2023-10-16 23:01:18 +02:00
fef0b3f756 fix(ui): fix BufferLineClose commands (#1756)
BufferLine has capital letter l
2023-10-16 17:19:52 +02:00
5926cda069 chore(main): release 10.4.0 (#1747)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-16 15:37:38 +02:00
3dbeda9d96 fix(markdown): add marksman to mason install 2023-10-16 12:44:41 +02:00
98db7ec0d2 perf(root): cache root detection. Fixes #1753 2023-10-16 12:42:54 +02:00
db175ef3f6 chore(build): auto-generate vimdoc 2023-10-16 08:42:32 +00:00
f513e1cede ci: LazyVim now requires Neovim >= 0.9.0 (#1751) 2023-10-16 10:41:54 +02:00
9517e64009 fix(root): root dir for windows. Fixes #1749 2023-10-16 08:35:35 +02:00
152e1c6692 feat(markdown): added headlines.nvim to markdown extra 2023-10-16 08:36:27 +02:00
982c8e301b fix(conform): remove LazyVim's conform config changes since that's now merged in conform 2023-10-16 08:11:15 +02:00
5c4f881158 style(keymaps): no need to check for trouble to set [q, ]q 2023-10-16 07:44:20 +02:00
8c726cd166 feat(lualine): use gitsigns for diff source (#1744)
Co-authored-by: edshamis <pc>
2023-10-16 07:44:10 +02:00
c3daced11c feat(ui): add keymap to close other buffers (#1743)
* feat(ui): add keymap to close other buffers

* refactor

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-16 07:35:57 +02:00
66482927cb chore(build): auto-generate vimdoc 2023-10-16 05:30:47 +00:00
be5eea476c feat(keymaps): added toggle for treesitter highlights 2023-10-16 07:30:06 +02:00
e26a127185 chore(main): release 10.3.0 (#1733)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-15 22:51:01 +02:00
c8e5501ee5 feat(tabnine): add build cmd for Windows (#1737)
* feat(tabnine): add build cmd for Windows

* fix(prettier): use prettier instead of prettierd. Too many people get truncated files. Fixes #712. See #1735

* feat: disable kind_filter for markdown and help

* feat(lualine): pretty_path now highlights file basename when modified

* fix(root): dont use single-file lsps for root detection. use workspaces only

* feat(lualine): new root dir component that only shows when cwd != root_dir

* refactor

---------

Co-authored-by: edshamis <pc>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-15 22:42:38 +02:00
dfdfcad1aa feat(lualine): new root dir component that only shows when cwd != root_dir 2023-10-15 22:38:44 +02:00
6f88b8b36f fix(root): dont use single-file lsps for root detection. use workspaces only 2023-10-15 22:38:15 +02:00
8af7309c7e feat(lualine): pretty_path now highlights file basename when modified 2023-10-15 22:37:49 +02:00
782fe0bef0 feat: disable kind_filter for markdown and help 2023-10-15 22:34:42 +02:00
57b504b9e8 fix(prettier): use prettier instead of prettierd. Too many people get truncated files. Fixes #712. See #1735 2023-10-15 22:28:56 +02:00
53e1637a86 feat(dashboard): c on dahboard now opens telescope for config dir instead of useless init.lua 2023-10-15 09:16:52 +02:00
7c60431c58 fix(python): add ft to Python keymaps, and fix "Markdown Preview" toggle description (#1729)
* feat(python): add `ft` to keymaps

* fix(markdown): fix toggle keymap description
2023-10-15 07:21:17 +02:00
5ea0dd716a chore(build): auto-generate vimdoc 2023-10-15 05:18:51 +00:00
6e0e352fea feat(linting): ability to configure global and fallback linters (#1727)
* feat(linting): ability to configure global and fallback linters

* fix: use nvim-lint's logic to get linters

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-15 07:18:00 +02:00
f29543f2c9 chore(main): release 10.2.0 (#1696)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-14 18:30:55 +02:00
95ff5aaa62 feat(extras): added TabNine (#1651)
* feat: add Tabnine

Add TabNine plugin for hrsh7th/nvim-cmp

* fix: limit to top 3 sources for TabNine

* feat: show Tabnine icon on suggestion list

* fix: migrate to LazyVim v10

* refactor: tabnine

* refactor

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-14 18:25:06 +02:00
1a4342abae refactor: move cmp status lualine component to util 2023-10-14 18:02:47 +02:00
8f42733ce5 feat(python): add key binding for organize imports (#1670) 2023-10-14 17:49:23 +02:00
b3d46bc014 feat(lang): add markdown support (#1718)
* feat(lang): add markdown support

* feat: use peek.nvim instead of markdown-preview. Disable and show warning when deno is not installed

* feat: add markdown-preview back

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-14 17:42:02 +02:00
121df70604 Revert "fix: dont lazy-load on ft. Load on cmd or keys only"
This reverts commit 3a93757bb1ee28c3e1b59c6c47ea5c4e74d8f1b2.
2023-10-14 17:35:13 +02:00
3a93757bb1 fix: dont lazy-load on ft. Load on cmd or keys only 2023-10-14 17:32:06 +02:00
6b9ee963e2 fix(news): dont show news when it has never been viewed (new install) 2023-10-14 16:56:48 +02:00
5b89bc8cbf fix(lsp): trigger FileType commands after installing LSP servers 2023-10-14 16:56:18 +02:00
5e1a86d3b2 feat(toggle): add keymap to toggle treesitter context (#1711)
* feat: add keymap to toggle treesitter context

* fix: get correct enabled state

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-14 14:40:25 +02:00
f724eae2e3 chore(build): auto-generate vimdoc 2023-10-14 11:22:06 +00:00
ff9bf005b6 fix(dashboard-nvim): repository has moved to nvimdev/dashboard-nvim (#1715)
* fix(dashboard-nvim) repository has moved to nvimdev/dashboard-nvim

* fix(dashboard): automatically rename dashboard.nvim

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-10-14 13:21:30 +02:00
7fe68d9f05 fix(spectre): add title to Spectre panel in edgy (#1703) 2023-10-13 19:17:50 +02:00
b6e68fa2bf feat(conform): show error when user overwrites conform config function 2023-10-13 18:20:41 +02:00
3eb91c64b5 feat(conform): make it easier to add extra_args 2023-10-13 18:03:40 +02:00
873ff89284 fix(keymaps): no diagnostic keymaps w/o lsp attached (#1698) 2023-10-13 16:53:55 +02:00
385c99dbb7 feat(go): add gofumpt formatter with conform/none-ls (#1683)
* feat(go): only install required packages

* fix: add gofumpt formatter using conform/none-ls

* fix: add mason.nvim as dependency of none-ls
2023-10-13 12:43:51 +02:00
c7244d9d47 style(dot): make enabled a function for doc gen 2023-10-13 12:31:32 +02:00
6fd66f486e feat(conform): use conform.nvim opts.format options for formatting with conform 2023-10-13 12:21:38 +02:00
3f1bf70b14 refactor(util.lsp): easier lsp client filters 2023-10-13 12:20:55 +02:00
4584410e76 feat(format): use conform as lsp formatter since it has better format diffs 2023-10-13 09:45:35 +02:00
ea4174d460 chore(main): release 10.1.1 (#1694)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-13 07:39:24 +02:00
1b1d9a16ee docs: typos fixed in CHANGELOG.md (#1693) 2023-10-13 07:37:07 +02:00
66f0d55beb chore(build): auto-generate vimdoc 2023-10-13 05:36:45 +00:00
01dbd07073 fix(json): always write version to prevent spurious migrations. Fixes #1692 2023-10-13 07:36:02 +02:00
bd1928ba59 fix(aerial): use new sep_icon option for aerial lualine component 2023-10-13 07:36:02 +02:00
1e79248786 chore(main): release 10.1.0 (#1686)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-12 21:56:56 +02:00
b31d71da9d feat(neot-ree): add keymaps to toggle git & buffer (#1339) 2023-10-12 21:52:19 +02:00
1bcf6b9a28 feat(extras): LazyExtras can now manage user extras lua/plugins/extras. Fixes #1681 2023-10-12 21:47:31 +02:00
c9892652d2 feat(config): lazyvim.json is now versioned and migrates to a newer version when needed 2023-10-12 21:45:32 +02:00
8e71968c2b fix(nvim-lint): make sure to set custom linters. Fixes #1687 2023-10-12 20:43:11 +02:00
cdae38ddd4 fix(nvim-lint): check on linter name instead of linter. Fixes #1685 2023-10-12 20:28:58 +02:00
666a69e6e0 chore(main): release 10.0.1 (#1680)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-12 18:07:04 +02:00
7c7b4be8db fix(toggle): dont show incorrect deprecation warning for toggle. Fixes #1679 2023-10-12 17:59:48 +02:00
2a0b7a88ba fix(config): make lazyvim.json idempotent, pretty-printed and remove full paths 2023-10-12 17:48:52 +02:00
7d9a395565 style(format): Fix typo (#1675) 2023-10-12 15:10:26 +02:00
763c0fd9f2 chore(main): release 10.0.0 (#1673)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-12 14:49:38 +02:00
73acab1675 feat: added NEWS.md and option to automatically show when changed (enabled by default) 2023-10-12 14:38:25 +02:00
442077fca3 chore(build): auto-generate vimdoc 2023-10-12 09:48:46 +00:00
ce74e28464 feat(starter): added Lazy Extras to mini.starter 2023-10-12 11:48:02 +02:00
b4ba5d881d feat(extras): added extra for symbols-outline.nvim 2023-10-12 11:48:02 +02:00
f64039f546 feat(config): better kind filter default for lua to deal with luals weirdness 2023-10-12 11:48:02 +02:00
a4e393154f fix(extras): make sure we use priorities to import extras in correct order 2023-10-12 11:48:02 +02:00
3256abda65 fix(plugin): show warning of removed core plugin when trying to load them without having the extra 2023-10-12 11:48:02 +02:00
db5d28b039 fix(plugin): add nvim-treesitter-context rename warning 2023-10-12 11:48:02 +02:00
72f3cc684b fix(dap): copy config before overriding args 2023-10-12 11:48:02 +02:00
ba4b8dfecb refactor(nlua): cleanup 2023-10-12 11:48:02 +02:00
14f3f036e9 feat(inject): util method to get upvalue 2023-10-12 11:48:02 +02:00
85215f396b fix(nlua): make nlua dap work with regular continue. Fixes #1666 2023-10-12 11:48:02 +02:00
c7720275c3 fix(aerial): keymap 2023-10-12 11:48:02 +02:00
1c34af7f01 feat(mini.starter): adding mini.starter to lualine disabled files (#1667) 2023-10-12 11:48:02 +02:00
eedb4a3405 feat(ui): show optional plugins in a different color 2023-10-12 11:48:02 +02:00
b43c57d943 feat: added aerial extra with integrations for edgy, telescope and lualine 2023-10-12 11:48:02 +02:00
7b2c317407 feat(treesitter): add nvim-treesitter-context by default 2023-10-12 11:48:02 +02:00
13dbe4ad55 perf(lualine): get rid of lualine's weird lualine_require 2023-10-12 11:48:02 +02:00
eb7a7d7a8e feat(config): make kind filter configurable for telescope/aerial/... 2023-10-12 11:48:02 +02:00
cb7f5aca7a feat(treesitter): install nvim-ts-autotag by default 2023-10-12 11:48:02 +02:00
d8250910bd style(config): mini.align icons 2023-10-12 11:48:02 +02:00
e239235cd3 feat(util): inject module 2023-10-12 11:48:02 +02:00
8d7361c460 feat(root): cached pretty path function for statuslines 2023-10-12 11:48:02 +02:00
305e82f2ca feat(navic): moved navic to extras 2023-10-12 11:48:02 +02:00
592f3b03bb fix(root): only use workspace folders that contain the buffer 2023-10-12 11:48:02 +02:00
5bb74205a0 feat(dashboard): added LazyExtras shortcut to dashboard/alpha 2023-10-12 11:48:02 +02:00
c4e55e4d67 feat(ui): added :LazyExtras to manage enabled extras in LazyVim 2023-10-12 11:48:02 +02:00
11d66e7134 feat(config): load/save some data in lazyvim.json 2023-10-12 11:48:02 +02:00
7fb79486ed fix(notify): set default zindex=100 2023-10-12 11:48:02 +02:00
54fa9ce584 ci: let release-please manage the version in the config file 2023-10-12 11:48:02 +02:00
8fbde2c366 fix(neo-tree): during init check global argslist instead of window-local 2023-10-12 11:48:02 +02:00
4ea1c6865e feat(config): use lazy's new custom events (Event.mappings) for a better LazyFile 2023-10-12 11:48:02 +02:00
83734675b0 fix(lualine): when opening nvim with a file, show an empty statusline till lualine loads 2023-10-12 11:48:02 +02:00
a4abbdc89b fix(format): always show formatter status even when no sources available 2023-10-12 11:48:02 +02:00
c33e7489ec feat(root): allow custom functions as part of vim.g.root_spec 2023-10-12 11:48:02 +02:00
f59cdff4d9 fix(plugin): enable lazy_file 2023-10-12 11:48:02 +02:00
a2d604928b feat(root): customizable root detection and :LazyRoot command 2023-10-12 11:48:02 +02:00
e6d294df6f fix(ui): dont show left signs on virtual line numbers (wrap). Fixes #1654 2023-10-12 11:48:02 +02:00
4cbe42cd24 feat(starter)!: dashboard.nvim is now the default starter. To keep using alpha.nvim, enable the extra. 2023-10-12 11:48:02 +02:00
14c091b1fc feat!: make conform.nvim and nvim-lint the default formatters/linters 2023-10-12 11:48:02 +02:00
70f91956e7 perf(plugin): move all lazy.nvim related code to lazyvim.util.plugin 2023-10-12 11:48:02 +02:00
f1a8f24a36 feat(format): new LazyVim formatter with integrations for lsp/none-ls/conform/eslint/... 2023-10-12 11:48:02 +02:00
c8c929c9fd perf(util): split lazyvim.util in smaller separate modules 2023-10-12 11:48:02 +02:00
5f5acb5b88 Revert "fix(config): disable LazyFile till v10.0"
This reverts commit ee7a401388f2933729afcd7090fb8e69631b912f.
2023-10-12 11:48:02 +02:00
61f1c308bf chore(main): release 9.9.1 (#1661)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-11 15:00:18 +02:00
ee7a401388 fix(config): disable LazyFile till v10.0 2023-10-11 14:46:08 +02:00
8e88aa51f4 chore(build): auto-generate vimdoc 2023-10-11 12:42:26 +00:00
28b7a5add2 chore(main): release 9.9.0 (#1648)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-11 14:39:44 +02:00
e8c26c70e2 refactor(eslint): use util.get_clients instead of deprecated method 2023-10-10 11:54:33 +02:00
599798a366 fix(treesitter): typo with commands 2023-10-10 11:07:58 +02:00
b1c9fd15bd feat(dap): added run with args leader-ca. Fixes #1629 2023-10-10 11:06:00 +02:00
4719dadfda chore(build): auto-generate vimdoc 2023-10-10 05:51:42 +00:00
88d465c3ef fix(hypr): automatically update/install hypr treesitter parser when needed 2023-10-10 07:51:02 +02:00
23a0004a86 chore(main): release 9.8.0 (#1642)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-10 00:13:40 +02:00
02bc41412a fix(telescope): remove telescope folding hack since PR with fix has been merged upstream 2023-10-09 23:32:34 +02:00
44984dcbe2 feat(telescope): add telescope-fzf-native by default. Will only be enabled if make is on your system. 2023-10-09 22:28:09 +02:00
0955129796 fix(project): make sure to load telescope extension after telescope ran setup 2023-10-09 22:11:17 +02:00
4e8a88fc1f fix(util): dont schedule on_load 2023-10-09 22:09:39 +02:00
9a4b9aa804 refactor(edgy): make telescope optional 2023-10-09 20:16:02 +02:00
9357ea2881 fix(edgy): typo 2023-10-09 20:12:45 +02:00
fb70170058 feat(edgy): when edgy is enabled, use edgy's main window for Telescope to open results in 2023-10-09 20:12:07 +02:00
c0ce89fe62 feat(telescope): smarter way to determine the window to open a file in 2023-10-09 20:11:45 +02:00
5d44c976a7 fix(autocmds): extra check that we didn't do last_loc more than once for the buffer 2023-10-09 20:11:05 +02:00
6b857f1de6 feat(options): set virtualedit=block by default 2023-10-09 17:49:00 +02:00
9670c8a400 feat(dashboard): show loaded/count plugins on dashboard instead of just count 2023-10-09 12:49:33 +02:00
2abb5907ef style(config): added tracking for colorscheme 2023-10-09 12:49:09 +02:00
2c658a374d style(cmp): dont include cmp-nvim-lsp as a dep of lspconfig 2023-10-09 11:34:58 +02:00
4fe7ccae73 build(format): sort requires 2023-10-09 11:34:23 +02:00
0a05888d99 fix(cmp): set default group_index to 1 to prevent issues with custom sources 2023-10-09 10:05:57 +02:00
d894556c37 feat(cmp): ctrl+CR will abort cmp and enter a new line 2023-10-09 09:51:55 +02:00
efbe4e5793 chore(main): release 9.7.0 (#1638)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-09 09:18:33 +02:00
1779858426 fix(black): remove unknown blackd from conform (#1640) 2023-10-09 09:15:15 +02:00
cc8397ade3 chore(build): auto-generate vimdoc 2023-10-09 07:14:25 +00:00
b05783de8c feat(codeium): added lualine component with codeium status similar to copilot 2023-10-09 09:13:14 +02:00
22271cdbbc refactor(copilot): dont use deprecated get_clients 2023-10-09 09:12:48 +02:00
bff3a99697 feat(cmp): removed priority comparator in favor of source priorities for copilot/codeium 2023-10-09 09:12:29 +02:00
302c1ff66e feat(codeium): use actual codeium icon 2023-10-09 08:25:02 +02:00
eddd3af351 feat(cmp): added custom comparator to prioritize AI sources like copilot and codeium 2023-10-09 00:06:58 +02:00
dd55cbdc99 fix(lualine): only show statusline as soon as lualine loads 2023-10-08 23:27:46 +02:00
838ce85ad6 fix(bufferline): fix bufferline when restoring a session 2023-10-08 23:00:25 +02:00
5219cad564 feat(black): added an extra for black with none-ls & conform.nvim (#1245)
* feat(black): added an extra for black with null-ls

* fix: update to none-ls/conform
2023-10-08 22:34:06 +02:00
de93848f58 fix(cmp): properly set cmp group_index to fix issues with copilot and other sources (#1639) 2023-10-08 22:32:03 +02:00
502d32490b fix(options): set sessionoptions the same as persistence 2023-10-08 20:24:45 +02:00
51e25a94b4 fix(plugins): make sure init specs are loaded first 2023-10-08 20:24:45 +02:00
1eac633c4f perf(util): closure for get_clients to prevent loading vim.lsp cascade early 2023-10-08 20:24:45 +02:00
3f67ac3c73 chore(main): release 9.6.0 (#1632)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-08 19:53:20 +02:00
33c677a55e fix(yaml): yaml schemas are a dict, not a list, so merge properly. Fixes #1636 2023-10-08 19:29:00 +02:00
e11a3cbe80 fix(config): trigger LazyFile additionally on BufWritePre for saving unnamed files 2023-10-08 15:17:50 +02:00
639a6e7545 feat(extra): add extra util.dot that configures multiple ft and treesitter langs when needed 2023-10-08 13:45:57 +02:00
80e6696343 chore(main): release 9.5.0 (#1631)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-08 12:58:53 +02:00
eebdceca17 fix(util): fixup typo vim.lsp.get_active_clients 2023-10-08 12:56:27 +02:00
c9bbb922e5 feat(treesitter): add diff, jsonc and yaml by default 2023-10-08 12:56:27 +02:00
6e3fb589d5 chore(main): release 9.4.1 (#1628)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-08 11:42:13 +02:00
4e0a05808c fix(config): dont append LazyVim early to the rtp when bootstrapping 2023-10-08 11:33:03 +02:00
6b837e9165 style: lua annotations and handle deprecated methods 2023-10-08 10:45:38 +02:00
21ee35f710 fix(util): fixed lsp willRenameFiles support check 2023-10-08 10:44:17 +02:00
25f3587f3f refactor(keymaps): move safe keymap.set wrapper to util and add message not to use it in a personal config 2023-10-08 10:28:01 +02:00
0cdc23a51d chore(main): release 9.4.0 (#1622)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-08 10:17:20 +02:00
89d0805fb8 chore(build): auto-generate vimdoc 2023-10-08 08:16:15 +00:00
1bc78272da feat(keymaps): added support for lazy's per-mode keymap disabling 2023-10-08 10:15:28 +02:00
af9e452854 feat(codeium): add codeium extra (#1619)
* [feat] add codeium extension

* PR comments
2023-10-07 21:09:36 +02:00
9372d78e7e feat(nlua): make lua dap keybindings buffer-local 2023-10-07 21:08:18 +02:00
30d573502a fix(alpha): reset laststatus when alpha unloads. Fixes #1623 2023-10-07 21:08:18 +02:00
3c92fa4eb0 perf(navic): enable lazy_update_context option to update context on "CursorHold" instead of of using default "CursorMove" (#1620)
Co-authored-by: Radvil <radvil@@access-mobile.com>
2023-10-07 20:42:33 +02:00
8c20e0b588 chore(main): release 9.3.1 (#1613)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-07 15:19:39 +02:00
862e140a7a fix(config): trigger all buf filetype events on LazyFile 2023-10-07 15:15:33 +02:00
1935486ff1 fix(treesitter-textobjects): use normal ]c,]C,[c,[C when in diff-mode instead of goto class. Fixes #1610 2023-10-07 15:06:13 +02:00
237be9e3a7 fix(rust): explicitly enable nvim-cmp source registration for crates (#1609) 2023-10-07 11:45:03 +02:00
75a26e8509 chore(build): auto-generate vimdoc 2023-10-07 09:18:48 +00:00
0fcdbe20da fix(ui): properly handly signs without name. Fixes #1612 2023-10-07 11:18:04 +02:00
fb110e76d8 docs(conform): conform condition example 2023-10-06 23:25:24 +02:00
8bcc241b72 chore(main): release 9.3.0 (#1603)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-06 23:16:59 +02:00
d8f4382dd3 fix(tailwind): nil check for filetypes_include. Fixes #1607 2023-10-06 23:06:51 +02:00
11c9084ec5 perf(config): only enable LazyFile when opening a file from the cmdline 2023-10-06 18:43:54 +02:00
54df3e26ac feat(bufremove): ask to save changes before trying to remove a buffer 2023-10-06 18:43:54 +02:00
e1f5484c82 refactor: use_lazy_file 2023-10-06 18:43:54 +02:00
6b4c872f2d chore(main): release 9.2.0 (#1600)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-06 15:53:13 +02:00
6e0e01f5b4 fix(config): fixed issues related to LazyFile. Fixes #1601 2023-10-06 15:40:27 +02:00
a1c5886947 feat(conform): ignore formatting errors for injected languages and fix condition example 2023-10-06 09:26:14 +02:00
8a1de2b90a fix(elixir): only enable credo when installed. Fixes #1546 2023-10-06 09:18:07 +02:00
3823f177e9 chore(build): auto-generate vimdoc 2023-10-06 07:03:24 +00:00
f1ea518e29 fix(which-key): change surround group key (#1598) 2023-10-06 09:02:45 +02:00
cce46cd640 chore(main): release 9.1.1 (#1597)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-06 01:02:16 +02:00
337cfdbec4 fix(ui): include extmark signs in signcolumn. Fixes #1596 2023-10-05 23:34:32 +02:00
b2af941290 ci: disable blank issues 2023-10-05 16:33:01 +02:00
f219364656 chore(main): release 9.1.0 (#1592)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-05 16:03:46 +02:00
6f1cdfe4bd feat(dashboard): add projects if enabled (#1595) 2023-10-05 15:59:44 +02:00
1eb019274b fix(options): set default laststatus=3 and set it to 0 before loading dashboard to prevent flickering 2023-10-05 10:43:21 +02:00
d6b56c075e fix(dasboard): disable alpha only once 2023-10-05 09:53:50 +02:00
6f6d587998 chore(build): auto-generate vimdoc 2023-10-05 06:08:38 +00:00
d3e7f7717e fix(tailwind): allow overriding filetypes. Fixes #1590 2023-10-05 08:07:56 +02:00
49b91b6b1f chore(main): release 9.0.2 (#1589)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-04 21:10:17 +02:00
86de423ef0 fix(treesitter): dont enable ]c, [c, ... in diff-mode 2023-10-04 21:00:32 +02:00
0cc80b1b05 fix(autocmds): last_loc autocmd didn't work correctly for first opened file 2023-10-04 20:40:11 +02:00
7272b3e4b5 fix(bufferline): load bufferline on VeryLazy. Fixes #1587 2023-10-04 20:04:56 +02:00
b58446f7b3 chore(main): release 9.0.1 (#1585)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-04 18:09:31 +02:00
d989ecc943 fix(options): only enable treesitter foldexpr on nightly. Fixes #1581 2023-10-04 18:07:21 +02:00
3849e0150b fix(ui): show global marks in the correct buffer only 2023-10-04 17:53:00 +02:00
1abcffbfd9 fix(alpha): use <cmd> instead of : for shortcuts 2023-10-04 16:44:29 +02:00
c490c61d07 chore(main): release 9.0.0 (#1576)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-04 15:03:00 +02:00
79010ae671 fix(nvim-lint): dont try merging function linters 2023-10-04 14:45:45 +02:00
f4750859f2 fix(conform): dont try merging function formatters. Fixes #1582 2023-10-04 14:44:24 +02:00
9f034ab106 fix(conform): dont try to merge formatter functions 2023-10-04 14:41:00 +02:00
2f16a7b2d9 perf(config): add LazyVim to the rtp early for faster spec loading 2023-10-04 13:44:03 +02:00
3833a7d1ce style: removed dead code 2023-10-04 13:19:12 +02:00
bd2ac542a0 feat(ui): show alpha marks in statuscolumn 2023-10-04 12:48:37 +02:00
35053290bf fix(ui): use custom fold when treesitter foldtext returns a string 2023-10-04 12:47:24 +02:00
417de0193d feat(extras): added extra for dashboard.nvim 2023-10-04 12:44:01 +02:00
a12d4bd4e4 chore(build): auto-generate vimdoc 2023-10-04 08:49:22 +00:00
afc8e7f8ca fix(autocmds): retore last location for correct buffer 2023-10-04 10:48:20 +02:00
936d74bb61 perf: added support for LazyFile event that properly loads file based plugins without blocking the ui 2023-10-04 10:45:10 +02:00
f15dd301e5 style: fixed lua annotations 2023-10-04 10:43:44 +02:00
d28c69e49e feat(mini.surround)!: default surround mappings are now gs instead of gz (unless you enabled the leap extra) 2023-10-04 00:25:44 +02:00
0e66ef8393 feat(treesitter): added ]f, [f, ]F, [F, ]c, ]C, [c, [C for treesitter-textobjects 2023-10-04 00:21:47 +02:00
626ae1338a feat(typescript): add typescriptreact/javascriptreact to types (#1574)
* feat(typescript): add typescriptreact/javascriptreact to types

* remove unneeded values

* revert settings change
2023-10-03 23:40:32 +02:00
5f0713d2b6 feat(treesitter): map vim to @namespace.builtin 2023-10-03 20:17:33 +02:00
758520dcbb chore(main): release 8.4.4 (#1575)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-03 19:00:20 +02:00
ccff8683ba fix(ui): work-around for telescope issue with treesitter folds 2023-10-03 18:57:05 +02:00
0e16033e9c chore(main): release 8.4.3 (#1573)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-03 18:30:22 +02:00
6cf6b0a624 fix(ui): always pad to 2 cells for status column icons. Fixes #1571 2023-10-03 18:28:05 +02:00
e08813fa11 chore(main): release 8.4.2 (#1570)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-03 18:22:19 +02:00
e105c9daf6 perf(options): better detection for foldtext,statuscolumn,folexpr support 2023-10-03 18:19:32 +02:00
1b74d67a0d fix(ui): fixed foldtext on Neovim < 0.10 2023-10-03 17:35:14 +02:00
b1ad48067e fix(nvim-lint): dont evaluate conditions for linter functions. Fixes #1569 2023-10-03 16:32:05 +02:00
63467c1f21 chore(main): release 8.4.1 (#1568)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-03 15:55:11 +02:00
13e9f6e6b5 fix(ui): check folds of the statuscolumn win instead of current win 2023-10-03 15:53:11 +02:00
6428fc167c chore(main): release 8.4.0 (#1564)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-03 15:10:22 +02:00
762017dc35 fix(ui): better fallback for foldtext when buffer does not have TreeSitter 2023-10-03 15:05:01 +02:00
afbe2043a7 fix(ui): Neovim < 0.10 2023-10-03 14:59:26 +02:00
f1ce07510d feat(ui): fancy fold text 2023-10-03 14:57:59 +02:00
364bcf325d feat(ui): fancy status column 2023-10-03 14:56:55 +02:00
3f868aa825 feat(keymaps): added toggle for relative line numbers 2023-10-03 14:56:55 +02:00
fecc5faca2 chore(build): auto-generate vimdoc 2023-10-03 06:02:56 +00:00
19926d2848 feat(options): enabled treesitter folding and foldtext when available 2023-10-03 08:02:15 +02:00
450e0c6beb feat(options): enable smoothscroll on nightly 2023-10-03 08:02:15 +02:00
4e277fcb8f chore(main): release 8.3.0 (#1553)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-02 23:00:47 +02:00
86d3694672 feat(conform): added new keymap (leader-cF) to format injected languages 2023-10-02 20:59:00 +02:00
7c5a458761 fix(indent-blankline): set config.indent.tab_char (#1552)
See lukas-reineke/indent-blankline.nvim#665.
2023-10-02 12:23:08 +02:00
ecac59c982 chore(main): release 8.2.0 (#1551)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-02 11:27:12 +02:00
4ff51cd678 feat(mini.files): added lsp rename support to mini.files 2023-10-02 11:02:56 +02:00
fe341e6b97 chore(build): auto-generate vimdoc 2023-10-02 05:41:09 +00:00
0ca732e0ef chore(main): release 8.1.0 (#1547)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-02 07:40:30 +02:00
766d5e5bf7 feat(conform): set vim.opt.formatexpr 2023-10-01 23:36:26 +02:00
9b16770573 fix(format): moved formatting keymap to lua/lazyvim/config/keymaps.lua 2023-10-01 23:31:24 +02:00
e36f7d811c feat(format): show warning when no formatter ran when using the format keymap 2023-10-01 23:30:56 +02:00
0b04e3908c chore(format): removed format_notify option 2023-10-01 23:30:26 +02:00
e8ab2ff5b6 feat(go): add goimports (#1549) 2023-10-01 23:01:43 +02:00
3acdac917b docs: LazyVim now requires Neovim >= 0.9.0 (#1548)
See: bfe04222fe
2023-10-01 21:01:40 +02:00
2ffd629cc7 feat(elixir): Add credo if none-ls is used (#1546) 2023-10-01 19:48:09 +02:00
dd95de5dbe chore(main): release 8.0.0 (#1542)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-01 16:28:37 +02:00
9d17c43087 perf: dont't load schemastore as an lspconfig dep 2023-10-01 16:21:18 +02:00
2aea5c7210 feat: show error and exit Neovim when version is too old 2023-10-01 14:18:25 +02:00
9935dc3944 fix: cleanup all Neovim < 0.9.0 code 2023-10-01 14:18:25 +02:00
b8ffa5261a chore(build): auto-generate vimdoc 2023-10-01 12:01:59 +00:00
bfe04222fe docs!: LazyVim now requires Neovim >= 0.9.0 2023-10-01 14:01:12 +02:00
f7655a83c5 chore(build): auto-generate vimdoc 2023-10-01 08:22:12 +00:00
9bb4e8755f feat: replace Copilot icon with logo (#1539) 2023-10-01 10:21:35 +02:00
4a2c89cd1d chore(main): release 7.0.3 (#1536)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-01 00:29:14 +02:00
964dd6c4b2 fix(extras.go): remove unneeded formatters since gopls handles them (#1535)
* fix(extras.go): remove unneeded formatters since gopls handles them

* add optional back
2023-09-30 19:30:52 +02:00
0136bfa4b5 style: format 2023-09-30 18:10:29 +02:00
5eca3dc3bb chore(main): release 7.0.2 (#1532)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-30 18:08:39 +02:00
7821c0e851 fix(python): make venv-selector dap_enabled conditional on nvim-dap-python (#1529) 2023-09-30 17:51:47 +02:00
bd48536335 chore(build): auto-generate vimdoc 2023-09-30 15:48:50 +00:00
1c878b9d06 fix(format): allow custom_format to return early (#1531) 2023-09-30 17:48:19 +02:00
6f9adbd4fb chore(main): release 7.0.1 (#1523)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-29 16:52:39 +02:00
ff5f5886db fix(nvim-lint): dont use default configured linters from nvim-lint 2023-09-29 16:49:59 +02:00
300350686f chore(main): release 7.0.0 (#1521)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-29 16:14:13 +02:00
718c5c6036 fix(docker): put hadolint in its own spec 2023-09-29 16:09:33 +02:00
31d913697b fix(nvim-lint): use linters for both custom and overriding linters 2023-09-29 15:58:44 +02:00
6bb0d1b66f fix(conform): use formatters for both custom and overriding formatters 2023-09-29 15:56:20 +02:00
0e5ff5c0ab fix(format): wrap custom formatter with error handler 2023-09-29 15:55:29 +02:00
886d49eb89 style: comment the selene example 2023-09-29 15:15:38 +02:00
0f7a009d1c docs: added more docs to nvim-lint extensions 2023-09-29 15:07:29 +02:00
05f45bb720 feat(extras): added extra for nvim-lint 2023-09-29 15:05:01 +02:00
9762e7e431 feat(neo-tree): added support for LSP renaming to NeoTree 2023-09-29 14:14:57 +02:00
aab365a9f8 fix(typescript)!: removed typescript.nvim since it's deprecated 2023-09-29 13:57:04 +02:00
f61a243d1a feat(extras): added conform.nvim extra you can use instead of null-ls/none-ls 2023-09-29 13:37:00 +02:00
6b05ed7dcd fix: remove deprecated leap/flit code checks 2023-09-29 12:00:56 +02:00
a7f68e5e37 refactor(none-ls): make all null-ls usages in extras optional 2023-09-29 12:00:56 +02:00
3c448a1be1 chore(build): auto-generate vimdoc 2023-09-29 09:53:29 +00:00
7cac6f064c feat(null-ls)!: use none-ls instead of null-ls (#1517)
* FEATURE: use none-ls instead of null-ls

Fixes #1516

* fix(none-ls): automatically migrate null-ls to none-ls

* feat(config): show warning if user config contains renamed references

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-09-29 11:52:45 +02:00
274649e923 chore(main): release 6.4.3 (#1514)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-28 12:04:36 +02:00
a3011daf40 style: better plugin docs 2023-09-28 11:36:58 +02:00
fa6cbfc602 fix(lsp): don't install jsonls by default. It's part of the json extra 2023-09-28 11:33:45 +02:00
d012a1acb8 docs(telescope): documented Telescope find files. Fixes #1425 2023-09-28 11:24:20 +02:00
d03f708cd3 chore: removed flash extra since this is now the default 2023-09-28 11:22:19 +02:00
017582c05a fix(telescope): typo 2023-09-28 11:10:25 +02:00
13bf7977a4 fix(telescope): replace anonymous functions in mappings by named functions (#1294) 2023-09-28 11:08:43 +02:00
74786c21d7 fix(ibl): use default hl groups 2023-09-28 10:54:30 +02:00
7f5051ef72 fix(yamlls): work-around for yaml formatting on Neovim < 0.10. Fixes #1435 2023-09-28 09:00:58 +02:00
b220e54159 fix(telescope): add enums and consts to search symbols (#1512) 2023-09-28 08:41:55 +02:00
b25559d397 chore(main): release 6.4.2 (#1510)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-28 07:46:31 +02:00
ee068d8399 chore(build): auto-generate vimdoc 2023-09-28 05:41:46 +00:00
db86635e32 fix(indent-blankline): upgrade ibl config to v3 2023-09-28 07:41:00 +02:00
76 changed files with 4282 additions and 1000 deletions

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1 @@
blank_issues_enabled: false

View File

@ -36,7 +36,7 @@ jobs:
uses: kdheepak/panvimdoc@main
with:
vimdoc: LazyVim
version: "Neovim >= 0.8.0"
version: "Neovim >= 0.9.0"
demojify: true
treesitter: true
- name: Push changes
@ -59,6 +59,8 @@ jobs:
with:
release-type: simple
package-name: LazyVim
extra-files: |
lua/lazyvim/config/init.lua
- uses: actions/checkout@v3
- name: tag stable versions
if: ${{ steps.release.outputs.release_created }}

File diff suppressed because it is too large Load Diff

68
NEWS.md Normal file
View File

@ -0,0 +1,68 @@
# What's new?
## 10.x
- User extras under `lua/plugins/extras` can now also be managed
with **LazyExtras**
- `nvim-ts-autotag` is now included by default
- `nvim-treesitter-context` is now included by default
- Added extra for `symbols-outline.nvim`
- Added extra for `aerial.nvim`
- `nvim-navic` has been removed. If you want to keep using `nvim-navic`,
you can enable the **editor.navic** extra
- New `:LazyExtras` command for managing **LazyVim** extras
- Improved **formatting**:
- **LazyVim** can now work with multiple formatters. Types:
- **primary**: only one primary formatter can be active at a time.
_(conform, none-ls, LSP)_
- **secondary**: multiple secondary formatters can be active _(eslint, ...)_
- **LazyVim** automatically selects the primary formatter based on the
current available sources and priorities.
- New `:LazyFormat` command for formatting the current selection or buffer
- New `:LazyFormatInfo` command for displaying the active formatters
for the current buffer
- Auto-formatting can be disabled with:
```lua
vim.g.autoformat = false -- globally
vim.b.autoformat = false -- buffer-local
```
- `none-ls.nvim` is no longer installed by default
- `conform.nvim` is now the default formatter
- `nvim-lint` is now the default linter
- If you want to keep using `none-ls.nvim`,
you can enable the **lsp.none-ls** extra
- `dashboard.nvim` is the new default dashboard plugin
- If you want to keep using `alpha.nvim`, you can enable the **ui.alpha** extra
- Improved **root detection**:
- New `:LazyRoot` command that shows info about the root dir detection
- Configurable with `vim.g.root_spec`
```lua
-- LazyVim root dir detection
-- Each entry can be:
-- * the name of a detector function like `lsp` or `cwd`
-- * a pattern or array of patterns like `.git` or `lua`.
-- * a function with signature `function(buf) -> string|string[]`
vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- To disable root detection set to just "cwd"
vim.g.root_spec = { "cwd" }
```

View File

@ -54,7 +54,7 @@ LazyVim 提供了两全其美的方式 - 根据需要调整配置的灵活性,
## ⚡️ 要求
- Neovim >= **0.8.0** (需要用 **LuaJIT** 构建)
- Neovim >= **0.9.0** (需要用 **LuaJIT** 构建)
- Git >= **2.19.0** (用于部分克隆支持)
- 一个 [Nerd Font](https://www.nerdfonts.com/) 字体 **_(可选)_**
- 一个用于 `nvim-treesitter`**C** 编译器。看 [这里](https://github.com/nvim-treesitter/nvim-treesitter#requirements)

View File

@ -56,7 +56,7 @@ to tweak your config as needed, along with the convenience of a pre-configured s
## ⚡️ Requirements
- Neovim >= **0.8.0** (needs to be built with **LuaJIT**)
- Neovim >= **0.9.0** (needs to be built with **LuaJIT**)
- Git >= **2.19.0** (for partial clones support)
- a [Nerd Font](https://www.nerdfonts.com/) **_(optional)_**
- a **C** compiler for `nvim-treesitter`. See [here](https://github.com/nvim-treesitter/nvim-treesitter#requirements)

View File

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim >= 0.8.0 Last change: 2023 September 27
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2023 October 17
==============================================================================
Table of Contents *LazyVim-table-of-contents*
@ -52,7 +52,7 @@ FEATURES *LazyVim-features*
REQUIREMENTS *LazyVim-requirements*
- Neovim >= **0.8.0** (needs to be built with **LuaJIT**)
- Neovim >= **0.9.0** (needs to be built with **LuaJIT**)
- Git >= **2.19.0** (for partial clones support)
- a Nerd Font <https://www.nerdfonts.com/> **(optional)**
- a **C** compiler for `nvim-treesitter`. See here <https://github.com/nvim-treesitter/nvim-treesitter#requirements>

View File

@ -31,12 +31,13 @@ vim.api.nvim_create_autocmd({ "VimResized" }, {
-- go to last loc when opening a buffer
vim.api.nvim_create_autocmd("BufReadPost", {
group = augroup("last_loc"),
callback = function()
callback = function(event)
local exclude = { "gitcommit" }
local buf = vim.api.nvim_get_current_buf()
if vim.tbl_contains(exclude, vim.bo[buf].filetype) then
local buf = event.buf
if vim.tbl_contains(exclude, vim.bo[buf].filetype) or vim.b[buf].lazyvim_last_loc then
return
end
vim.b[buf].lazyvim_last_loc = true
local mark = vim.api.nvim_buf_get_mark(buf, '"')
local lcount = vim.api.nvim_buf_line_count(buf)
if mark[1] > 0 and mark[1] <= lcount then

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +1,9 @@
-- This file is automatically loaded by lazyvim.config.init
local Util = require("lazyvim.util")
local function map(mode, lhs, rhs, opts)
local keys = require("lazy.core.handler").handlers.keys
---@cast keys LazyKeysHandler
-- do not create the keymap if a lazy keys handler exists
if not keys.active[keys.parse({ lhs, mode = mode }).id] then
opts = opts or {}
opts.silent = opts.silent ~= false
if opts.remap and not vim.g.vscode then
opts.remap = nil
end
vim.keymap.set(mode, lhs, rhs, opts)
end
end
-- DO NOT USE THIS IN YOU OWN CONFIG!!
-- use `vim.keymap.set` instead
local map = Util.safe_keymap_set
-- better up/down
map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
@ -40,17 +30,10 @@ 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
if Util.has("bufferline.nvim") then
map("n", "<S-h>", "<cmd>BufferLineCyclePrev<cr>", { desc = "Prev buffer" })
map("n", "<S-l>", "<cmd>BufferLineCycleNext<cr>", { desc = "Next buffer" })
map("n", "[b", "<cmd>BufferLineCyclePrev<cr>", { desc = "Prev buffer" })
map("n", "]b", "<cmd>BufferLineCycleNext<cr>", { desc = "Next buffer" })
else
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" })
end
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" })
@ -67,10 +50,10 @@ map(
)
-- https://github.com/mhinz/vim-galore#saner-behavior-of-n-and-n
map("n", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next 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]", { expr = true, desc = "Prev 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" })
@ -98,44 +81,64 @@ 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" })
if not Util.has("trouble.nvim") then
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 })
end, { desc = "Format" })
-- diagnostic
local diagnostic_goto = function(next, severity)
local go = next and vim.diagnostic.goto_next or vim.diagnostic.goto_prev
severity = severity and vim.diagnostic.severity[severity] or nil
return function()
go({ severity = severity })
end
end
map("n", "<leader>cd", vim.diagnostic.open_float, { desc = "Line Diagnostics" })
map("n", "]d", diagnostic_goto(true), { desc = "Next Diagnostic" })
map("n", "[d", diagnostic_goto(false), { desc = "Prev Diagnostic" })
map("n", "]e", diagnostic_goto(true, "ERROR"), { desc = "Next Error" })
map("n", "[e", diagnostic_goto(false, "ERROR"), { desc = "Prev Error" })
map("n", "]w", diagnostic_goto(true, "WARN"), { desc = "Next Warning" })
map("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" })
-- stylua: ignore start
-- toggle options
map("n", "<leader>uf", require("lazyvim.plugins.lsp.format").toggle, { desc = "Toggle format on Save" })
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_number() end, { desc = "Toggle Line Numbers" })
map("n", "<leader>ud", Util.toggle_diagnostics, { desc = "Toggle Diagnostics" })
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" })
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" })
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" })
-- lazygit
map("n", "<leader>gg", function() Util.float_term({ "lazygit" }, { cwd = Util.get_root(), esc_esc = false, ctrl_hjkl = false }) end, { desc = "Lazygit (root dir)" })
map("n", "<leader>gG", function() Util.float_term({ "lazygit" }, {esc_esc = false, ctrl_hjkl = false}) end, { desc = "Lazygit (cwd)" })
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)" })
-- quit
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit all" })
-- highlights under cursor
if vim.fn.has("nvim-0.9.0") == 1 then
map("n", "<leader>ui", vim.show_pos, { desc = "Inspect Pos" })
end
map("n", "<leader>ui", vim.show_pos, { desc = "Inspect Pos" })
-- LazyVim Changelog
map("n", "<leader>L", Util.changelog, {desc = "LazyVim Changelog"})
map("n", "<leader>L", function() Util.news.changelog() end, { desc = "LazyVim Changelog" })
-- floating terminal
local lazyterm = function() Util.float_term(nil, { cwd = Util.get_root() }) end
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.float_term() end, { desc = "Terminal (cwd)" })
map("n", "<leader>fT", function() Util.terminal() end, { desc = "Terminal (cwd)" })
map("n", "<c-/>", lazyterm, { desc = "Terminal (root dir)" })
map("n", "<c-_>", lazyterm, { desc = "which_key_ignore" })

View File

@ -2,6 +2,16 @@
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Enable LazyVim auto format
vim.g.autoformat = true
-- LazyVim root dir detection
-- Each entry can be:
-- * the name of a detector function like `lsp` or `cwd`
-- * a pattern or array of patterns like `.git` or `lua`.
-- * a function with signature `function(buf) -> string|string[]`
vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
local opt = vim.opt
opt.autowrite = true -- Enable auto write
@ -16,7 +26,7 @@ opt.grepformat = "%f:%l:%c:%m"
opt.grepprg = "rg --vimgrep"
opt.ignorecase = true -- Ignore case
opt.inccommand = "nosplit" -- preview incremental substitute
opt.laststatus = 0
opt.laststatus = 3 -- global statusline
opt.list = true -- Show some invisible characters (tabs...
opt.mouse = "a" -- Enable mouse mode
opt.number = true -- Print line number
@ -24,10 +34,10 @@ 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" }
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp" }
opt.shiftround = true -- Round indent
opt.shiftwidth = 2 -- Size of an indent
opt.shortmess:append({ W = true, I = true, c = true })
opt.shortmess:append({ W = true, I = true, c = true, C = true })
opt.showmode = false -- Dont show mode since we have a statusline
opt.sidescrolloff = 8 -- Columns of context
opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time
@ -35,6 +45,7 @@ opt.smartcase = true -- Don't ignore case with capitals
opt.smartindent = true -- Insert indents automatically
opt.spelllang = { "en" }
opt.splitbelow = true -- Put new windows below current
opt.splitkeep = "screen"
opt.splitright = true -- Put new windows right of current
opt.tabstop = 2 -- Number of spaces tabs count for
opt.termguicolors = true -- True color support
@ -42,14 +53,41 @@ opt.timeoutlen = 300
opt.undofile = true
opt.undolevels = 10000
opt.updatetime = 200 -- Save swap file and trigger CursorHold
opt.virtualedit = "block" -- Allow cursor to move where there is no text in visual block mode
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
opt.splitkeep = "screen"
opt.shortmess:append({ C = true })
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()"
else
vim.opt.foldmethod = "indent"
end
vim.o.formatexpr = "v:lua.require'lazyvim.util'.format.formatexpr()"
-- Fix markdown indentation settings
vim.g.markdown_recommended_style = 0

View File

@ -8,10 +8,10 @@ local error = vim.health.error or vim.health.report_error
function M.check()
start("LazyVim")
if vim.fn.has("nvim-0.8.0") == 1 then
ok("Using Neovim >= 0.8.0")
if vim.fn.has("nvim-0.9.0") == 1 then
ok("Using Neovim >= 0.9.0")
else
error("Neovim >= 0.8.0 is required")
error("Neovim >= 0.9.0 is required")
end
for _, cmd in ipairs({ "git", "rg", { "fd", "fdfind" }, "lazygit" }) do

View File

@ -66,12 +66,17 @@ return {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
}), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
["<C-CR>"] = function(fallback)
cmp.abort()
fallback()
end,
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
{ name = "path" },
}, {
{ name = "buffer" },
}),
formatting = {
format = function(_, item)
@ -90,6 +95,13 @@ return {
sorting = defaults.sorting,
}
end,
---@param opts cmp.ConfigSchema
config = function(_, opts)
for _, source in ipairs(opts.sources) do
source.group_index = source.group_index or 1
end
require("cmp").setup(opts)
end,
},
-- auto pairs
@ -140,13 +152,13 @@ return {
end,
opts = {
mappings = {
add = "gza", -- Add surrounding in Normal and Visual modes
delete = "gzd", -- Delete surrounding
find = "gzf", -- Find surrounding (to the right)
find_left = "gzF", -- Find surrounding (to the left)
highlight = "gzh", -- Highlight surrounding
replace = "gzr", -- Replace surrounding
update_n_lines = "gzn", -- Update `n_lines`
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`
},
},
},
@ -179,7 +191,6 @@ return {
-- { "i", mode = { "x", "o" } },
-- },
event = "VeryLazy",
dependencies = { "nvim-treesitter-textobjects" },
opts = function()
local ai = require("mini.ai")
return {

View File

@ -1,6 +0,0 @@
require("lazyvim.config").init()
return {
{ "folke/lazy.nvim", version = "*" },
{ "LazyVim/LazyVim", priority = 10000, lazy = false, config = true, cond = true, version = "*" },
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
return {
-- codeium cmp source
{
"nvim-cmp",
dependencies = {
-- codeium
{
"Exafunction/codeium.nvim",
cmd = "Codeium",
build = ":Codeium Auth",
opts = {},
},
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, 1, {
name = "codeium",
group_index = 1,
priority = 100,
})
end,
},
{
"nvim-lualine/lualine.nvim",
optional = true,
event = "VeryLazy",
opts = function(_, opts)
table.insert(opts.sections.lualine_x, 2, require("lazyvim.util").lualine.cmp_source("codeium"))
end,
},
}

View File

@ -21,10 +21,10 @@ return {
opts = function(_, opts)
local Util = require("lazyvim.util")
local colors = {
[""] = Util.fg("Special"),
["Normal"] = Util.fg("Special"),
["Warning"] = Util.fg("DiagnosticError"),
["InProgress"] = Util.fg("DiagnosticWarn"),
[""] = Util.ui.fg("Special"),
["Normal"] = Util.ui.fg("Special"),
["Warning"] = Util.ui.fg("DiagnosticError"),
["InProgress"] = Util.ui.fg("DiagnosticWarn"),
}
table.insert(opts.sections.lualine_x, 2, {
function()
@ -33,7 +33,13 @@ return {
return icon .. (status.message or "")
end,
cond = function()
local ok, clients = pcall(vim.lsp.get_active_clients, { name = "copilot", bufnr = 0 })
if not package.loaded["copilot"] then
return
end
local ok, clients = pcall(require("lazyvim.util").lsp.get_clients, { name = "copilot", bufnr = 0 })
if not ok then
return false
end
return ok and #clients > 0
end,
color = function()
@ -60,7 +66,7 @@ return {
copilot_cmp.setup(opts)
-- attach cmp source whenever copilot attaches
-- fixes lazy-loading issues with the copilot cmp source
require("lazyvim.util").on_attach(function(client)
require("lazyvim.util").lsp.on_attach(function(client)
if client.name == "copilot" then
copilot_cmp._on_insert_enter({})
end
@ -70,9 +76,11 @@ return {
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, 1, { name = "copilot", group_index = 2 })
opts.sorting = opts.sorting or require("cmp.config.default")().sorting
table.insert(opts.sorting.comparators, 1, require("copilot_cmp.comparators").prioritize)
table.insert(opts.sources, 1, {
name = "copilot",
group_index = 1,
priority = 100,
})
end,
},
}

View File

@ -0,0 +1,49 @@
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",
dependencies = "hrsh7th/nvim-cmp",
opts = {
max_lines = 1000,
max_num_results = 3,
sort = true,
},
config = function(_, opts)
require("cmp_tabnine.config"):setup(opts)
end,
},
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, 1, {
name = "cmp_tabnine",
group_index = 1,
priority = 100,
})
opts.formatting.format = Util.inject.args(opts.formatting.format, function(entry, item)
-- Hide percentage in the menu
if entry.source.name == "cmp_tabnine" then
item.menu = ""
end
end)
end,
},
-- Show TabNine status in lualine
{
"nvim-lualine/lualine.nvim",
optional = true,
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))
end,
},
}

View File

@ -1,3 +1,15 @@
---@param config {args?:string[]|fun():string[]?}
local function get_args(config)
local args = type(config.args) == "function" and (config.args() or {}) or config.args or {}
config = vim.deepcopy(config)
---@cast args string[]
config.args = function()
local new_args = vim.fn.input("Run with args: ", table.concat(args, " ")) --[[@as string]]
return vim.split(vim.fn.expand(new_args) --[[@as string]], " ")
end
return config
end
return {
"mfussenegger/nvim-dap",
@ -43,7 +55,6 @@ return {
opts = {
defaults = {
["<leader>d"] = { name = "+debug" },
["<leader>da"] = { name = "+adapters" },
},
},
},
@ -76,6 +87,7 @@ return {
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
{ "<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>di", function() require("dap").step_into() end, desc = "Step Into" },

View File

@ -1,24 +1,40 @@
return {
"mfussenegger/nvim-dap",
dependencies = {
{
"jbyuki/one-small-step-for-vimkind",
-- stylua: ignore
keys = {
{ "<leader>daL", function() require("osv").launch({ port = 8086 }) end, desc = "Adapter Lua Server" },
{ "<leader>dal", function() require("osv").run_this() end, desc = "Adapter Lua" },
},
config = function()
local dap = require("dap")
dap.adapters.nlua = function(callback, config)
callback({ type = "server", host = config.host or "127.0.0.1", port = config.port or 8086 })
dap.adapters.nlua = function(callback, conf)
local adapter = {
type = "server",
host = conf.host or "127.0.0.1",
port = conf.port or 8086,
}
if conf.start_neovim then
local dap_run = dap.run
dap.run = function(c)
adapter.port = c.port
adapter.host = c.host
end
require("osv").run_this()
dap.run = dap_run
end
callback(adapter)
end
dap.configurations.lua = {
{
type = "nlua",
request = "attach",
name = "Attach to running Neovim instance",
name = "Run this file",
start_neovim = {},
},
{
type = "nlua",
request = "attach",
name = "Attach to running Neovim instance (port = 8086)",
port = 8086,
},
}
end,

View File

@ -0,0 +1,123 @@
local Config = require("lazyvim.config")
local Util = require("lazyvim.util")
return {
desc = "Aerial Symbol Browser",
{
"stevearc/aerial.nvim",
event = "LazyFile",
opts = function()
local icons = vim.deepcopy(Config.icons.kinds)
-- HACK: fix lua's weird choice for `Package` for control
-- structures like if/else/for/etc.
icons.lua = { Package = icons.Control }
---@type table<string, string[]>|false
local filter_kind = false
if Config.kind_filter then
filter_kind = assert(vim.deepcopy(Config.kind_filter))
filter_kind._ = filter_kind.default
filter_kind.default = nil
end
local opts = {
attach_mode = "global",
backends = { "lsp", "treesitter", "markdown", "man" },
show_guides = true,
layout = {
resize_to_content = false,
win_opts = {
winhl = "Normal:NormalFloat,FloatBorder:NormalFloat,SignColumn:SignColumnSB",
signcolumn = "yes",
statuscolumn = " ",
},
},
icons = icons,
filter_kind = filter_kind,
-- stylua: ignore
guides = {
mid_item = "├╴",
last_item = "└╴",
nested_top = "",
whitespace = " ",
},
}
return opts
end,
keys = {
{ "<leader>cs", "<cmd>AerialToggle<cr>", desc = "Aerial (Symbols)" },
},
},
-- Telescope integration
{
"nvim-telescope/telescope.nvim",
optional = true,
opts = function()
Util.on_load("telescope.nvim", function()
require("telescope").load_extension("aerial")
end)
end,
keys = {
{
"<leader>ss",
"<cmd>Telescope aerial<cr>",
desc = "Goto Symbol (Aerial)",
},
},
},
-- edgy integration
{
"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")
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.", {
title = "LazyVim",
})
end
opts.right = opts.right or {}
table.insert(opts.right, {
title = "Aerial",
ft = "aerial",
pinned = true,
open = "AerialOpen",
})
end,
},
-- lualine integration
{
"nvim-lualine/lualine.nvim",
optional = true,
opts = function(_, opts)
table.insert(opts.sections.lualine_c, {
"aerial",
sep = " ", -- separator between symbols
sep_icon = "", -- separator between icon and symbol
-- The number of symbols to render top-down. In order to render only 'N' last
-- symbols, negative numbers may be supplied. For instance, 'depth = -1' can
-- be used in order to render only current symbol.
depth = 5,
-- When 'dense' mode is on, icons are not rendered near their symbols. Only
-- a single icon that represents the kind of current symbol is rendered at
-- the beginning of status line.
dense = false,
-- The separator to be used to separate symbols in dense mode.
dense_sep = ".",
-- Color the symbol icons.
colored = true,
})
end,
},
}

View File

@ -1,6 +0,0 @@
require("lazy.core.util").warn(
"`flash.nvim` is now the default jump plugin for **LazyVim**.\nPlease remove the `lazyvim.plugins.extras.editor.flash` import from your **lazy** config.",
{ title = "LazyVim" }
)
return {}

View File

@ -35,6 +35,22 @@ return {
end,
},
-- rename surround mappings from gs to gz to prevent conflict with leap
{
"echasnovski/mini.surround",
opts = {
mappings = {
add = "gza", -- Add surrounding in Normal and Visual modes
delete = "gzd", -- Delete surrounding
find = "gzf", -- Find surrounding (to the right)
find_left = "gzF", -- Find surrounding (to the left)
highlight = "gzh", -- Highlight surrounding
replace = "gzr", -- Replace surrounding
update_n_lines = "gzn", -- Update `n_lines`
},
},
},
-- makes some plugins dot-repeatable like leap
{ "tpope/vim-repeat", event = "VeryLazy" },
}

View File

@ -53,5 +53,12 @@ return {
vim.keymap.set("n", "g.", toggle_dotfiles, { buffer = buf_id })
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "MiniFilesActionRename",
callback = function(event)
require("lazyvim.util").lsp.on_rename(event.data.from, event.data.to)
end,
})
end,
}

View File

@ -0,0 +1,42 @@
return {
-- lsp symbol navigation for lualine. This shows where
-- in the code structure you are - within functions, classes,
-- etc - in the statusline.
{
"SmiteshP/nvim-navic",
lazy = true,
init = function()
vim.g.navic_silence = true
require("lazyvim.util").lsp.on_attach(function(client, buffer)
if client.supports_method("textDocument/documentSymbol") then
require("nvim-navic").attach(client, buffer)
end
end)
end,
opts = function()
return {
separator = " ",
highlight = true,
depth_limit = 5,
icons = require("lazyvim.config").icons.kinds,
lazy_update_context = true,
}
end,
},
-- lualine integration
{
"nvim-lualine/lualine.nvim",
optional = true,
opts = function(_, opts)
table.insert(opts.sections.lualine_c, {
function()
return require("nvim-navic").get_location()
end,
cond = function()
return package.loaded["nvim-navic"] and require("nvim-navic").is_available()
end,
})
end,
},
}

View File

@ -0,0 +1,61 @@
local Util = require("lazyvim.util")
return {
{
"simrat39/symbols-outline.nvim",
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
cmd = "SymbolsOutline",
opts = function()
local Config = require("lazyvim.config")
local defaults = require("symbols-outline.config").defaults
local opts = {
symbols = {},
symbol_blacklist = {},
}
local filter = Config.kind_filter
if type(filter) == "table" then
filter = filter.default
if type(filter) == "table" then
for kind, symbol in pairs(defaults.symbols) do
opts.symbols[kind] = {
icon = Config.icons.kinds[kind] or symbol.icon,
hl = symbol.hl,
}
if not vim.tbl_contains(filter, kind) then
table.insert(opts.symbol_blacklist, kind)
end
end
end
end
return opts
end,
},
-- edgy integration
{
"folke/edgy.nvim",
optional = true,
opts = function(_, opts)
local edgy_idx = Util.plugin.extra_idx("ui.edgy")
local symbols_idx = Util.plugin.extra_idx("editor.symbols-outline")
if edgy_idx and edgy_idx > symbols_idx then
Util.warn(
"The `edgy.nvim` extra must be **imported** before the `symbols-outline.nvim` extra to work properly.",
{
title = "LazyVim",
}
)
end
opts.right = opts.right or {}
table.insert(opts.right, {
title = "Symbols Outline",
ft = "Outline",
pinned = true,
open = "SymbolsOutline",
})
end,
},
}

View File

@ -0,0 +1,26 @@
return {
{
"williamboman/mason.nvim",
opts = function(_, opts)
table.insert(opts.ensure_installed, "black")
end,
},
{
"nvimtools/none-ls.nvim",
optional = true,
opts = function(_, opts)
local nls = require("null-ls")
opts.sources = opts.sources or {}
table.insert(opts.sources, nls.builtins.formatting.black)
end,
},
{
"stevearc/conform.nvim",
optional = true,
opts = {
formatters_by_ft = {
["python"] = { "black" },
},
},
},
}

View File

@ -2,14 +2,40 @@ return {
{
"williamboman/mason.nvim",
opts = function(_, opts)
table.insert(opts.ensure_installed, "prettierd")
table.insert(opts.ensure_installed, "prettier")
end,
},
{
"jose-elias-alvarez/null-ls.nvim",
"nvimtools/none-ls.nvim",
optional = true,
opts = function(_, opts)
local nls = require("null-ls")
table.insert(opts.sources, nls.builtins.formatting.prettierd)
opts.sources = opts.sources or {}
table.insert(opts.sources, nls.builtins.formatting.prettier)
end,
},
{
"stevearc/conform.nvim",
optional = true,
opts = {
formatters_by_ft = {
["javascript"] = { "prettier" },
["javascriptreact"] = { "prettier" },
["typescript"] = { "prettier" },
["typescriptreact"] = { "prettier" },
["vue"] = { "prettier" },
["css"] = { "prettier" },
["scss"] = { "prettier" },
["less"] = { "prettier" },
["html"] = { "prettier" },
["json"] = { "prettier" },
["jsonc"] = { "prettier" },
["yaml"] = { "prettier" },
["markdown"] = { "prettier" },
["markdown.mdx"] = { "prettier" },
["graphql"] = { "prettier" },
["handlebars"] = { "prettier" },
},
},
},
}

View File

@ -8,15 +8,24 @@ return {
end,
},
{
"jose-elias-alvarez/null-ls.nvim",
"nvimtools/none-ls.nvim",
optional = true,
opts = function(_, opts)
local nls = require("null-ls")
opts.sources = opts.sources or {}
vim.list_extend(opts.sources, {
opts.sources = vim.list_extend(opts.sources or {}, {
nls.builtins.diagnostics.cmake_lint,
})
end,
},
{
"mfussenegger/nvim-lint",
optional = true,
opts = {
linters_by_ft = {
cmake = { "cmakelint" },
},
},
},
{
"mason.nvim",
opts = function(_, opts)
@ -35,6 +44,6 @@ return {
{
"Civitasv/cmake-tools.nvim",
opts = {},
event = "BufRead",
event = "LazyFile",
},
}

View File

@ -8,20 +8,29 @@ return {
end,
},
{
"jose-elias-alvarez/null-ls.nvim",
"mason.nvim",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "hadolint" })
end,
},
{
"nvimtools/none-ls.nvim",
optional = true,
opts = function(_, opts)
local nls = require("null-ls")
opts.sources = opts.sources or {}
vim.list_extend(opts.sources, {
opts.sources = vim.list_extend(opts.sources or {}, {
nls.builtins.diagnostics.hadolint,
})
end,
dependencies = {
"mason.nvim",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "hadolint" })
end,
},
{
"mfussenegger/nvim-lint",
optional = true,
opts = {
linters_by_ft = {
dockerfile = { "hadolint" },
},
},
},
{

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