Compare commits

...

83 Commits

Author SHA1 Message Date
5559228300 chore(main): release 3.5.0 (#796)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-23 09:01:26 +02:00
3dcc074693 fix(vscode): support older Neovim versions. Fixes #798 2023-05-23 08:44:51 +02:00
58c3842faa chore(build): auto-generate vimdoc 2023-05-23 06:43:03 +00:00
89db0157b1 feat(mini.comment): added ts-context-commentstring back and made it work with mini.comment 2023-05-23 08:41:44 +02:00
7443effe26 feat(test): added easy way to configure adapters 2023-05-22 21:31:12 +02:00
78298cb134 chore(main): release 3.4.0 (#782)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-22 21:00:46 +02:00
55bf4d104c build: dont generate docs for the vscode extra 2023-05-22 20:57:49 +02:00
c12835ab86 feat(vscode): added vscode extra with minimal functionality. Will only do something when vim.g.vscode is set 2023-05-22 20:57:33 +02:00
183fd89d76 fix: make some extra deps optional 2023-05-22 20:57:26 +02:00
99785ce36b fix(persistence): dont add rtp to session 2023-05-22 20:57:26 +02:00
bb0d4d4e7d feat(tests): added neotest (#642)
* feat(tests): adds test management

* refactor(tests): pr changes

* fix(tests): make dap keybind optional based on nvim-dap existence
2023-05-22 20:57:15 +02:00
f8982332be feat(project): add to mini.starter (#640)
* feat(project): add to mini.starter

* fix(project): make alpha and mini.starter optional
2023-05-22 20:30:18 +02:00
0c517d1f5c chore(build): auto-generate vimdoc 2023-05-22 14:39:48 +00:00
df6a0d3b10 style: removed deprecated option from neodev 2023-05-22 16:39:09 +02:00
7a7c024bf6 chore(build): auto-generate vimdoc 2023-05-21 08:53:25 +00:00
29554455aa feat(tailwind): don't enable tailwind in markdown files 2023-05-21 10:52:46 +02:00
b227d9727a perf(eslint): only run EslintFixAll for the current buffer when there are diagnostics from eslint 2023-05-19 22:49:25 +02:00
b4099a6477 fix(dap): fix the mason-nvim-dap setting name (#781) 2023-05-19 21:34:19 +02:00
5a27e1def0 chore(build): auto-generate vimdoc 2023-05-19 13:07:42 +00:00
06e4ba2fdb style: Fix comments on autocmds and keymaps loading (#779) 2023-05-19 15:06:59 +02:00
23410a4594 chore(main): release 3.3.0 (#772)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-18 16:31:55 +02:00
c737f2b6c2 feat(telescope): added <a-c> mapping for telescope pickers to switch to cwd instead of root 2023-05-18 09:46:46 +02:00
78354a1e5e fix(telescope): keep current prompt when switching to hidden/no_ignore 2023-05-18 09:46:46 +02:00
080ea29354 chore(main): release 3.2.0 (#759)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-18 08:30:28 +02:00
3d7238f753 chore(build): auto-generate vimdoc 2023-05-18 06:22:51 +00:00
a43d1b79f2 feat(noice): enable the inc_rename preset when inc_rename is availble 2023-05-18 08:22:08 +02:00
bd1ba54d13 fix(mini): lazy now supports mini plugins out of the box. no longer needed to have a custom config 2023-05-13 16:16:10 +02:00
9f2010a8b9 chore(main): release 3.1.0 (#757)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-13 15:49:06 +02:00
e09423b28c chore(build): auto-generate vimdoc 2023-05-13 13:46:15 +00:00
2525b91313 feat(noice): send written notifications to the mini view instead of notify 2023-05-13 15:45:28 +02:00
a213da4430 feat(noice): use noice's improved entry doc view for cmp 2023-05-13 15:45:02 +02:00
b57582bc91 chore(main): release 3.0.0 (#755)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-12 20:40:23 +02:00
d41ef05cc0 feat(mini.comment)!: removed ts-context-commentstring since mini.comment provides this functionality out of the box
If you use this plugin, you can add it again with the following code:
{
  "nvim-treesitter/nvim-treesitter",
  opts = {
    context_commentstring = {
      enable = true,
      enable_autocmd = false,
    },
  },
  dependencies = {
    "JoosepAlviste/nvim-ts-context-commentstring",
  },
}
2023-05-12 20:34:36 +02:00
dfde622847 chore(main): release 2.13.1 (#731)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-12 17:05:10 +02:00
44df7434d4 perf(comment): removed nvim-ts-context-commentstring, since mini.comment now handles that internally 2023-05-12 17:03:16 +02:00
049e323714 fix(copilot): removed special handling of copilot in cmp. no longer needed 2023-05-12 17:01:10 +02:00
7d96b07c6f chore(build): auto-generate vimdoc 2023-05-12 14:47:08 +00:00
ad229bbf42 fix(copilot): latest copilot-cmp requires passing opts to _on_insert_enter (#752) 2023-05-12 16:46:21 +02:00
cbf1d335ed chore(build): auto-generate vimdoc 2023-05-08 16:57:02 +00:00
6ebf3ab084 fix(icons): updated a dap icon 2023-05-08 18:56:18 +02:00
25d37a2cdd chore(main): release 2.13.0 (#702)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-04 18:32:55 +02:00
7409fef291 chore(build): auto-generate vimdoc 2023-05-04 16:28:28 +00:00
3f5c2c283e feat(extras): added extra for tailwindcss 2023-05-04 18:27:36 +02:00
f51719a12d chore(build): auto-generate vimdoc 2023-05-02 19:30:33 +00:00
DYY
ea4858874b fix(mason): exclude filetype mason in indent-blankline.nvim (#701) 2023-05-02 21:29:52 +02:00
c42ebc216a chore(main): release 2.12.1 (#685)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-28 15:26:43 +02:00
bdddb215cc chore(build): auto-generate vimdoc 2023-04-28 09:48:21 +00:00
eb143ebe11 fix(format): only do null-ls formatting logic when null-ls is availble. Fixes #684 2023-04-28 11:47:37 +02:00
86ac9989ea chore(build): auto-generate vimdoc 2023-04-25 07:13:27 +00:00
dc1d48f436 style: Change description of notify.dismiss() binding (#675) 2023-04-25 09:12:41 +02:00
5202a0f006 chore(main): release 2.12.0 (#671)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-24 20:47:45 +02:00
7b9145c12d fix(spectre): use new url by default 2023-04-24 08:45:40 +02:00
3e46dd61cd feat(bufferline): use mini.bufremove to close a buffer (#670)
* feat(bufferline): use `mini.bufremove` to close a buffer

* fix(bufferline): don't force remove buffers

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-04-24 08:40:57 +02:00
43763a6226 chore(build): auto-generate vimdoc 2023-04-24 06:39:25 +00:00
6c334fed6a feat(telescope): added keymap for recent files in the current directory. (#669)
* Support MRU in current directory.

* Update editor.lua

* fix(telescope): use cwd for oldfiles for consistency with other commands

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-04-24 08:38:42 +02:00
d18331ca89 chore(main): release 2.11.0 (#664)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-23 11:21:54 +02:00
59f3b3e096 feat(plugins): automatically handle plugin repo renames 2023-04-23 11:20:02 +02:00
J
4fbb7a2803 fix(health): remove deprecated api warning (#666) 2023-04-23 11:04:05 +02:00
b760ec63c4 chore(build): auto-generate vimdoc 2023-04-23 09:02:33 +00:00
d565684ade feat(lsp): automatically resolve denols/tsserver conflicts if both are configured 2023-04-23 11:01:46 +02:00
c7aeda9db1 chore(build): auto-generate vimdoc 2023-04-22 21:07:31 +00:00
3a718c5c85 feat(dap): Change DAP REPL binding from open to toggle (#663) 2023-04-22 23:06:55 +02:00
6c86952a0e chore(main): release 2.10.0 (#659)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-21 23:53:51 +02:00
ad214af54d feat(neo-tree): refresh neotree git status when closing a lazygit terminal 2023-04-21 23:42:30 +02:00
40983a3269 fix(copilot): re-enable copilot confirm with overwrite 2023-04-21 23:42:30 +02:00
2f93f69171 chore(main): release 2.9.0 (#655)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-21 18:30:09 +02:00
4379ae8ab9 fix(copilot): work-around Neovim bug. Fixes #656 2023-04-21 18:27:15 +02:00
eb92903342 feat(tsserver): set some tsserver formatting settings to their Neovim equivalents. Also used for organize imports 2023-04-21 16:50:12 +02:00
03282126e3 chore(main): release 2.8.0 (#652)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-21 09:25:43 +02:00
1274310e6d feat(copilot): better copilot status colors for lualine 2023-04-21 09:24:12 +02:00
14e708a246 fix: remove unintentional <lt>nop> mapping (#651) 2023-04-21 09:21:34 +02:00
437156a3ae chore(main): release 2.7.0 (#650)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-21 08:59:45 +02:00
063f8d6dff chore(build): auto-generate vimdoc 2023-04-21 06:47:24 +00:00
d63c471008 feat(copilot): added lualine component for copilot. Simple icon colored by status. Will add status message when available (warnings) 2023-04-21 08:46:45 +02:00
4042614005 refactor: move lualine fg function to Util 2023-04-21 08:46:05 +02:00
81ab5bed7a chore(main): release 2.6.0 (#638)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-20 09:27:37 +02:00
5264909b54 fix(project): load on VeryLazy otherwise projects wont be loaded when opening Telescope 2023-04-20 08:29:22 +02:00
68c21ec452 chore(build): auto-generate vimdoc 2023-04-20 06:15:00 +00:00
7fe0d5c7c7 feat(extras): added project management (#300)
* feat(project): add project management

* refactor: moved project to extras

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2023-04-20 08:14:21 +02:00
342fa02370 chore(main): release 2.5.0 (#635)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-19 20:04:23 +02:00
ac1051686b feat(lsp): added support for setting global lsp client capabilities 2023-04-19 19:58:05 +02:00
55cc8b67fc chore(main): release 2.4.3 (#630)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-19 17:07:32 +02:00
1d2c97cbda fix(treesitter): de-duplicate langs in endure_installed. Fixes #628 2023-04-19 16:45:02 +02:00
24 changed files with 645 additions and 91 deletions

View File

@ -1,5 +1,212 @@
# Changelog
## [3.5.0](https://github.com/LazyVim/LazyVim/compare/v3.4.0...v3.5.0) (2023-05-23)
### Features
* **mini.comment:** added ts-context-commentstring back and made it work with mini.comment ([89db015](https://github.com/LazyVim/LazyVim/commit/89db0157b1621deffc83a4e00cb2be13e2827a5d))
* **test:** added easy way to configure adapters ([7443eff](https://github.com/LazyVim/LazyVim/commit/7443effe269ad3b2d491f43439b48f1d072c9210))
### Bug Fixes
* **vscode:** support older Neovim versions. Fixes [#798](https://github.com/LazyVim/LazyVim/issues/798) ([3dcc074](https://github.com/LazyVim/LazyVim/commit/3dcc074693c3560982d6e500aa073140a9c5c0ed))
## [3.4.0](https://github.com/LazyVim/LazyVim/compare/v3.3.0...v3.4.0) (2023-05-22)
### Features
* **project:** add to mini.starter ([#640](https://github.com/LazyVim/LazyVim/issues/640)) ([f898233](https://github.com/LazyVim/LazyVim/commit/f8982332be70499b74623f6ed44c1c58217eb546))
* **tailwind:** don't enable tailwind in markdown files ([2955445](https://github.com/LazyVim/LazyVim/commit/29554455aa3e7d76377080869f0556389a05e321))
* **tests:** added neotest ([#642](https://github.com/LazyVim/LazyVim/issues/642)) ([bb0d4d4](https://github.com/LazyVim/LazyVim/commit/bb0d4d4e7d2e0914cb2188cab7748d70b2ae5fa8))
* **vscode:** added vscode extra with minimal functionality. Will only do something when vim.g.vscode is set ([c12835a](https://github.com/LazyVim/LazyVim/commit/c12835ab8683c68116503a1aab614e0d6ff68528))
### Bug Fixes
* **dap:** fix the mason-nvim-dap setting name ([#781](https://github.com/LazyVim/LazyVim/issues/781)) ([b4099a6](https://github.com/LazyVim/LazyVim/commit/b4099a64775e3e7722ebaf29612df43c46bf4f03))
* make some extra deps optional ([183fd89](https://github.com/LazyVim/LazyVim/commit/183fd89d76b24c5e293d368a59c5db3a7c7f85d5))
* **persistence:** dont add rtp to session ([99785ce](https://github.com/LazyVim/LazyVim/commit/99785ce36b523cca46c1f2fd6edeaf1189bcd934))
### Performance Improvements
* **eslint:** only run EslintFixAll for the current buffer when there are diagnostics from eslint ([b227d97](https://github.com/LazyVim/LazyVim/commit/b227d9727a7ae1f0ad48504d613fb099dc9c461b))
## [3.3.0](https://github.com/LazyVim/LazyVim/compare/v3.2.0...v3.3.0) (2023-05-18)
### Features
* **telescope:** added `&lt;a-c&gt;` mapping for telescope pickers to switch to cwd instead of root ([c737f2b](https://github.com/LazyVim/LazyVim/commit/c737f2b6c265d2c82cebf9f999425a2bd008e692))
### Bug Fixes
* **telescope:** keep current prompt when switching to hidden/no_ignore ([78354a1](https://github.com/LazyVim/LazyVim/commit/78354a1e5e88c68a9d99b72af5a0844befee419b))
## [3.2.0](https://github.com/LazyVim/LazyVim/compare/v3.1.0...v3.2.0) (2023-05-18)
### Features
* **noice:** enable the inc_rename preset when inc_rename is availble ([a43d1b7](https://github.com/LazyVim/LazyVim/commit/a43d1b79f29deecc694bd409ab497f8a62091b11))
### Bug Fixes
* **mini:** lazy now supports mini plugins out of the box. no longer needed to have a custom config ([bd1ba54](https://github.com/LazyVim/LazyVim/commit/bd1ba54d1347c1f340db896f25e43c8591365512))
## [3.1.0](https://github.com/LazyVim/LazyVim/compare/v3.0.0...v3.1.0) (2023-05-13)
### Features
* **noice:** send written notifications to the mini view instead of notify ([2525b91](https://github.com/LazyVim/LazyVim/commit/2525b913139c6ca288677126d1451b9683bbac1f))
* **noice:** use noice's improved entry doc view for cmp ([a213da4](https://github.com/LazyVim/LazyVim/commit/a213da4430c1012bf7278080cbdc03a236e8230f))
## [3.0.0](https://github.com/LazyVim/LazyVim/compare/v2.13.1...v3.0.0) (2023-05-12)
### ⚠ BREAKING CHANGES
* **mini.comment:** removed ts-context-commentstring since mini.comment provides this functionality out of the box
### Features
* **mini.comment:** removed ts-context-commentstring since mini.comment provides this functionality out of the box ([d41ef05](https://github.com/LazyVim/LazyVim/commit/d41ef05cc00bf3502fb55512c265a02116127ca8))
## [2.13.1](https://github.com/LazyVim/LazyVim/compare/v2.13.0...v2.13.1) (2023-05-12)
### Bug Fixes
* **copilot:** latest copilot-cmp requires passing opts to _on_insert_enter ([#752](https://github.com/LazyVim/LazyVim/issues/752)) ([ad229bb](https://github.com/LazyVim/LazyVim/commit/ad229bbf42125c23b933575e7540f7302f128d35))
* **copilot:** removed special handling of copilot in cmp. no longer needed ([049e323](https://github.com/LazyVim/LazyVim/commit/049e323714a56200e220384a2fe618b5bff631d2))
* **icons:** updated a dap icon ([6ebf3ab](https://github.com/LazyVim/LazyVim/commit/6ebf3ab084361b47796840fb6f7fe00cd05dfeb4))
### Performance Improvements
* **comment:** removed nvim-ts-context-commentstring, since mini.comment now handles that internally ([44df743](https://github.com/LazyVim/LazyVim/commit/44df7434d4320d27672cca937e594efbf1e021ba))
## [2.13.0](https://github.com/LazyVim/LazyVim/compare/v2.12.1...v2.13.0) (2023-05-04)
### Features
* **extras:** added extra for tailwindcss ([3f5c2c2](https://github.com/LazyVim/LazyVim/commit/3f5c2c283e30f7b4c4c290d7a731e7dfbc86d8b8))
### Bug Fixes
* **mason:** exclude filetype mason in indent-blankline.nvim ([#701](https://github.com/LazyVim/LazyVim/issues/701)) ([ea48588](https://github.com/LazyVim/LazyVim/commit/ea4858874b983e4b3a8a7078828d98533e386035))
## [2.12.1](https://github.com/LazyVim/LazyVim/compare/v2.12.0...v2.12.1) (2023-04-28)
### Bug Fixes
* **format:** only do null-ls formatting logic when null-ls is availble. Fixes [#684](https://github.com/LazyVim/LazyVim/issues/684) ([eb143eb](https://github.com/LazyVim/LazyVim/commit/eb143ebe110995fb208fc480958a55858944c5f9))
## [2.12.0](https://github.com/LazyVim/LazyVim/compare/v2.11.0...v2.12.0) (2023-04-24)
### Features
* **bufferline:** use `mini.bufremove` to close a buffer ([#670](https://github.com/LazyVim/LazyVim/issues/670)) ([3e46dd6](https://github.com/LazyVim/LazyVim/commit/3e46dd61cdc79bbb915f81e4188fc5337cd2f84b))
* **telescope:** added keymap for recent files in the current directory. ([#669](https://github.com/LazyVim/LazyVim/issues/669)) ([6c334fe](https://github.com/LazyVim/LazyVim/commit/6c334fed6a59f6b1dc3a38f6253f2b4265557f30))
### Bug Fixes
* **spectre:** use new url by default ([7b9145c](https://github.com/LazyVim/LazyVim/commit/7b9145c12d15a81e40a721974a9a68994ccd8855))
## [2.11.0](https://github.com/LazyVim/LazyVim/compare/v2.10.0...v2.11.0) (2023-04-23)
### Features
* **dap:** Change DAP REPL binding from open to toggle ([#663](https://github.com/LazyVim/LazyVim/issues/663)) ([3a718c5](https://github.com/LazyVim/LazyVim/commit/3a718c5c85e966e2751dade0006dcbeed72e8b00))
* **lsp:** automatically resolve denols/tsserver conflicts if both are configured ([d565684](https://github.com/LazyVim/LazyVim/commit/d565684ade6e04eb77319ddb5becac9c5bd21cc4))
* **plugins:** automatically handle plugin repo renames ([59f3b3e](https://github.com/LazyVim/LazyVim/commit/59f3b3e096280629a459054bc5538c058854dffc))
### Bug Fixes
* **health:** remove deprecated api warning ([#666](https://github.com/LazyVim/LazyVim/issues/666)) ([4fbb7a2](https://github.com/LazyVim/LazyVim/commit/4fbb7a280310a6ea500509aa73a4f7c7d06f6bea))
## [2.10.0](https://github.com/LazyVim/LazyVim/compare/v2.9.0...v2.10.0) (2023-04-21)
### Features
* **neo-tree:** refresh neotree git status when closing a lazygit terminal ([ad214af](https://github.com/LazyVim/LazyVim/commit/ad214af54d47e67aa8be46ae12cbe7c71da0c0bf))
### Bug Fixes
* **copilot:** re-enable copilot confirm with overwrite ([40983a3](https://github.com/LazyVim/LazyVim/commit/40983a326952e24512f0eacc5b524337044ed3ff))
## [2.9.0](https://github.com/LazyVim/LazyVim/compare/v2.8.0...v2.9.0) (2023-04-21)
### Features
* **tsserver:** set some tsserver formatting settings to their Neovim equivalents. Also used for organize imports ([eb92903](https://github.com/LazyVim/LazyVim/commit/eb92903342a7ac12185c62bb63b5caa4c80ce7dc))
### Bug Fixes
* **copilot:** work-around Neovim bug. Fixes [#656](https://github.com/LazyVim/LazyVim/issues/656) ([4379ae8](https://github.com/LazyVim/LazyVim/commit/4379ae8ab9aec497e58eeae733a0a87c70289570))
## [2.8.0](https://github.com/LazyVim/LazyVim/compare/v2.7.0...v2.8.0) (2023-04-21)
### Features
* **copilot:** better copilot status colors for lualine ([1274310](https://github.com/LazyVim/LazyVim/commit/1274310e6da0de56da92ae8e26c8f388cf314a5b))
### Bug Fixes
* remove unintentional `&lt;lt&gt;nop>` mapping ([#651](https://github.com/LazyVim/LazyVim/issues/651)) ([14e708a](https://github.com/LazyVim/LazyVim/commit/14e708a24642cf3926b9b74743c192c3b5c63f3e))
## [2.7.0](https://github.com/LazyVim/LazyVim/compare/v2.6.0...v2.7.0) (2023-04-21)
### Features
* **copilot:** added lualine component for copilot. Simple icon colored by status. Will add status message when available (warnings) ([d63c471](https://github.com/LazyVim/LazyVim/commit/d63c4710083cd2bcab104972bd4a6b3d1b80c3c6))
## [2.6.0](https://github.com/LazyVim/LazyVim/compare/v2.5.0...v2.6.0) (2023-04-20)
### Features
* **extras:** added project management ([#300](https://github.com/LazyVim/LazyVim/issues/300)) ([7fe0d5c](https://github.com/LazyVim/LazyVim/commit/7fe0d5c7c798e2a1d6abf7d43380876a268ac462))
### Bug Fixes
* **project:** load on VeryLazy otherwise projects wont be loaded when opening Telescope ([5264909](https://github.com/LazyVim/LazyVim/commit/5264909b542da1c6215e042c62903bb491a2c1eb))
## [2.5.0](https://github.com/LazyVim/LazyVim/compare/v2.4.3...v2.5.0) (2023-04-19)
### Features
* **lsp:** added support for setting global lsp client capabilities ([ac10516](https://github.com/LazyVim/LazyVim/commit/ac1051686bcff8377f1d99228bcbe64530ec384a))
## [2.4.3](https://github.com/LazyVim/LazyVim/compare/v2.4.2...v2.4.3) (2023-04-19)
### Bug Fixes
* **treesitter:** de-duplicate langs in endure_installed. Fixes [#628](https://github.com/LazyVim/LazyVim/issues/628) ([1d2c97c](https://github.com/LazyVim/LazyVim/commit/1d2c97cbda099c76ee132ee5019a3f80fd88f8ed))
## [2.4.2](https://github.com/LazyVim/LazyVim/compare/v2.4.1...v2.4.2) (2023-04-19)

View File

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim >= 0.8.0 Last change: 2023 April 19
*LazyVim.txt* For Neovim >= 0.8.0 Last change: 2023 May 23
==============================================================================
Table of Contents *LazyVim-table-of-contents*
@ -43,7 +43,6 @@ pre-configured setup.
FEATURES *LazyVim-features*
- Transform your Neovim into a full-fledged IDE
- Easily customize and extend your config with lazy.nvim <https://github.com/folke/lazy.nvim>
- Blazingly fast
@ -53,7 +52,6 @@ FEATURES *LazyVim-features*
REQUIREMENTS *LazyVim-requirements*
- Neovim >= **0.8.0** (needs to be built with **LuaJIT**)
- Git >= **2.19.0** (for partial clones support)
- a Nerd Font <https://www.nerdfonts.com/> **(optional)**
@ -77,7 +75,6 @@ Try it with Docker ~
Install the LazyVim Starter ~
- Make a backup of your current Neovim files:
>sh
mv ~/.config/nvim ~/.config/nvim.bak

View File

@ -1,4 +1,4 @@
-- This file is automatically loaded by plugins.init
-- This file is automatically loaded by lazyvim.config.init
local function augroup(name)
return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
@ -52,6 +52,7 @@ vim.api.nvim_create_autocmd("FileType", {
"startuptime",
"tsplayground",
"checkhealth",
"neotest-output",
},
callback = function(event)
vim.bo[event.buf].buflisted = false

View File

@ -20,7 +20,7 @@ local defaults = {
-- icons used by other plugins
icons = {
dap = {
Stopped = { " ", "DiagnosticWarn", "DapStoppedLine" },
Stopped = { "󰁕 ", "DiagnosticWarn", "DapStoppedLine" },
Breakpoint = "",
BreakpointCondition = "",
BreakpointRejected = { "", "DiagnosticError" },
@ -77,6 +77,10 @@ local defaults = {
},
}
M.renames = {
["windwp/nvim-spectre"] = "nvim-pack/nvim-spectre",
}
---@type LazyVimConfig
local options
@ -170,6 +174,14 @@ function M.init()
-- this is needed to make sure options will be correctly applied
-- after installing missing plugins
require("lazyvim.config").load("options")
local Plugin = require("lazy.core.plugin")
local add = Plugin.Spec.add
Plugin.Spec.add = function(self, plugin, ...)
if type(plugin) == "table" and M.renames[plugin[1]] then
plugin[1] = M.renames[plugin[1]]
end
return add(self, plugin, ...)
end
end
end

View File

@ -1,4 +1,4 @@
-- This file is automatically loaded by lazyvim.plugins.config
-- This file is automatically loaded by lazyvim.config.init
local Util = require("lazyvim.util")

View File

@ -1,12 +1,17 @@
local M = {}
local start = vim.health.start or vim.health.report_start
local ok = vim.health.ok or vim.health.report_ok
local warn = vim.health.warn or vim.health.report_warn
local error = vim.health.error or vim.health.report_error
function M.check()
vim.health.report_start("LazyVim")
start("LazyVim")
if vim.fn.has("nvim-0.8.0") == 1 then
vim.health.report_ok("Using Neovim >= 0.8.0")
ok("Using Neovim >= 0.8.0")
else
vim.health.report_error("Neovim >= 0.8.0 is required")
error("Neovim >= 0.8.0 is required")
end
for _, cmd in ipairs({ "git", "rg", { "fd", "fdfind" }, "lazygit" }) do
@ -23,9 +28,9 @@ function M.check()
end
if found then
vim.health.report_ok(("`%s` is installed"):format(name))
ok(("`%s` is installed"):format(name))
else
vim.health.report_warn(("`%s` is not installed"):format(name))
warn(("`%s` is not installed"):format(name))
end
end
end

View File

@ -93,9 +93,7 @@ return {
{
"echasnovski/mini.pairs",
event = "VeryLazy",
config = function(_, opts)
require("mini.pairs").setup(opts)
end,
opts = {},
},
-- surround
@ -130,10 +128,6 @@ return {
update_n_lines = "gzn", -- Update `n_lines`
},
},
config = function(_, opts)
-- use gz mappings instead of s to prevent conflict with leap
require("mini.surround").setup(opts)
end,
},
-- comments
@ -141,16 +135,15 @@ return {
{
"echasnovski/mini.comment",
event = "VeryLazy",
opts = {
hooks = {
pre = function()
require("ts_context_commentstring.internal").update_commentstring({})
end,
},
},
config = function(_, opts)
require("mini.comment").setup(opts)
local c = require("mini.comment")
c.setup(opts)
local H = require("lazyvim.util").get_upvalue(c.setup, "H")
H.get_commentstring = function()
return require("ts_context_commentstring.internal").calculate_commentstring() or vim.bo.commentstring
end
end,
opts = {},
},
-- better text-objects

View File

@ -40,6 +40,7 @@ return {
filesystem = {
bind_to_cwd = false,
follow_current_file = true,
use_libuv_file_watcher = true,
},
window = {
mappings = {
@ -55,11 +56,22 @@ return {
},
},
},
config = function(_, opts)
require("neo-tree").setup(opts)
vim.api.nvim_create_autocmd("TermClose", {
pattern = "*lazygit",
callback = function()
if package.loaded["neo-tree.sources.git_status"] then
require("neo-tree.sources.git_status").refresh()
end
end,
})
end,
},
-- search/replace in multiple files
{
"windwp/nvim-spectre",
"nvim-pack/nvim-spectre",
-- stylua: ignore
keys = {
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in files (Spectre)" },
@ -81,6 +93,7 @@ return {
{ "<leader>ff", Util.telescope("files"), desc = "Find Files (root dir)" },
{ "<leader>fF", Util.telescope("files", { cwd = false }), desc = "Find Files (cwd)" },
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Recent" },
{ "<leader>fR", Util.telescope("oldfiles", { cwd = vim.loop.cwd() }), desc = "Recent (cwd)" },
-- git
{ "<leader>gc", "<cmd>Telescope git_commits<CR>", desc = "commits" },
{ "<leader>gs", "<cmd>Telescope git_status<CR>", desc = "status" },
@ -153,10 +166,14 @@ return {
return require("trouble.providers.telescope").open_selected_with_trouble(...)
end,
["<a-i>"] = function()
Util.telescope("find_files", { no_ignore = true })()
local action_state = require("telescope.actions.state")
local line = action_state.get_current_line()
Util.telescope("find_files", { no_ignore = true, default_text = line })()
end,
["<a-h>"] = function()
Util.telescope("find_files", { hidden = true })()
local action_state = require("telescope.actions.state")
local line = action_state.get_current_line()
Util.telescope("find_files", { hidden = true, default_text = line })()
end,
["<C-Down>"] = function(...)
return require("telescope.actions").cycle_history_next(...)

View File

@ -10,6 +10,35 @@ return {
panel = { enabled = false },
},
},
{
"nvim-lualine/lualine.nvim",
optional = true,
event = "VeryLazy",
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"),
}
table.insert(opts.sections.lualine_x, 2, {
function()
local icon = require("lazyvim.config").icons.kinds.Copilot
local status = require("copilot.api").status.data
return icon .. (status.message or "")
end,
cond = function()
local ok, clients = pcall(vim.lsp.get_active_clients, { name = "copilot", bufnr = 0 })
return ok and #clients > 0
end,
color = function()
local status = require("copilot.api").status.data
return colors[status.status] or colors[""]
end,
})
end,
},
-- copilot cmp source
{
@ -26,7 +55,7 @@ return {
-- fixes lazy-loading issues with the copilot cmp source
require("lazyvim.util").on_attach(function(client)
if client.name == "copilot" then
copilot_cmp._on_insert_enter()
copilot_cmp._on_insert_enter({})
end
end)
end,
@ -38,21 +67,6 @@ return {
table.insert(opts.sources, 1, { name = "copilot", group_index = 2 })
local confirm = opts.mapping["<CR>"]
local confirm_copilot = cmp.mapping.confirm({
select = true,
behavior = cmp.ConfirmBehavior.Replace,
})
opts.mapping = vim.tbl_extend("force", opts.mapping, {
["<CR>"] = function(...)
local entry = cmp.get_selected_entry()
if entry and entry.source.name == "copilot" then
return confirm_copilot(...)
end
return confirm(...)
end,
})
opts.sorting = {
priority_weight = 2,
comparators = {

View File

@ -37,6 +37,7 @@ return {
-- which key integration
{
"folke/which-key.nvim",
optional = true,
opts = {
defaults = {
["<leader>d"] = { name = "+debug" },
@ -53,7 +54,7 @@ return {
opts = {
-- Makes a best effort to setup the various debuggers with
-- reasonable debug configurations
automatic_setup = true,
automatic_installation = true,
-- You can provide additional configuration to the handlers,
-- see mason-nvim-dap README for more information
@ -82,7 +83,7 @@ return {
{ "<leader>do", function() require("dap").step_out() end, desc = "Step Out" },
{ "<leader>dO", function() require("dap").step_over() end, desc = "Step Over" },
{ "<leader>dp", function() require("dap").pause() end, desc = "Pause" },
{ "<leader>dr", function() require("dap").repl.open() end, desc = "Repl" },
{ "<leader>dr", function() require("dap").repl.toggle() end, desc = "Toggle REPL" },
{ "<leader>ds", function() require("dap").session() end, desc = "Session" },
{ "<leader>dt", function() require("dap").terminate() end, desc = "Terminate" },
{ "<leader>dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },

View File

@ -0,0 +1,43 @@
return {
{
"neovim/nvim-lspconfig",
opts = {
servers = {
tailwindcss = {
filetypes_exclude = { "markdown" },
},
},
setup = {
tailwindcss = function(_, opts)
local tw = require("lspconfig.server_configurations.tailwindcss")
--- @param ft string
opts.filetypes = vim.tbl_filter(function(ft)
return not vim.tbl_contains(opts.filetypes_exclude, ft)
end, tw.default_config.filetypes)
end,
},
},
},
{
"NvChad/nvim-colorizer.lua",
opts = {
user_default_options = {
tailwind = true,
},
},
},
{
"hrsh7th/nvim-cmp",
dependencies = {
{ "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
},
opts = function(_, opts)
-- original LazyVim kind icon formatter
local format_kinds = opts.formatting.format
opts.formatting.format = function(entry, item)
format_kinds(entry, item) -- add icons
return require("tailwindcss-colorizer-cmp").formatter(entry, item)
end
end,
},
}

View File

@ -20,6 +20,20 @@ return {
---@type lspconfig.options.tsserver
tsserver = {
settings = {
typescript = {
format = {
indentSize = vim.o.shiftwidth,
convertTabsToSpaces = vim.o.expandtab,
tabSize = vim.o.tabstop,
},
},
javascript = {
format = {
indentSize = vim.o.shiftwidth,
convertTabsToSpaces = vim.o.expandtab,
tabSize = vim.o.tabstop,
},
},
completions = {
completeFunctionCalls = true,
},

View File

@ -3,6 +3,7 @@ return {
"neovim/nvim-lspconfig",
-- other settings removed for brevity
opts = {
---@type lspconfig.options
servers = {
eslint = {
settings = {
@ -15,8 +16,12 @@ return {
eslint = function()
vim.api.nvim_create_autocmd("BufWritePre", {
callback = function(event)
if require("lspconfig.util").get_active_client_by_name(event.buf, "eslint") then
vim.cmd("EslintFixAll")
local client = vim.lsp.get_active_clients({ bufnr = event.buf, name = "eslint" })[1]
if client then
local diag = vim.diagnostic.get(event.buf, { namespace = vim.lsp.diagnostic.get_namespace(client.id) })
if #diag > 0 then
vim.cmd("EslintFixAll")
end
end
end,
})

View File

@ -0,0 +1,60 @@
return {
{
"folke/which-key.nvim",
optional = true,
opts = {
defaults = {
["<leader>t"] = { name = "+test" },
},
},
},
{
"nvim-neotest/neotest",
opts = {
adapter_config = {
-- ["adapter_name"] = {} -- set adapter config here
},
adapters = {},
},
config = function(_, opts)
local neotest_ns = vim.api.nvim_create_namespace("neotest")
vim.diagnostic.config({
virtual_text = {
format = function(diagnostic)
-- Replace newline and tab characters with space for more compact diagnostics
local message = diagnostic.message:gsub("\n", " "):gsub("\t", " "):gsub("%s+", " "):gsub("^%s+", "")
return message
end,
},
}, neotest_ns)
if opts.adapter_config then
for a, adapter in ipairs(opts.adapters or {}) do
local name = adapter.name
if opts.adapter_config[name] then
opts.adapters[a] = adapter(opts.adapter_config[name])
end
end
end
require("neotest").setup(opts)
end,
-- stylua: ignore
keys = {
{ "<leader>tr", function() require("neotest").run.run() end, desc = "Run Nearest" },
{ "<leader>tR", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" },
{ "<leader>ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" },
{ "<leader>to", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" },
{ "<leader>tO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" },
{ "<leader>tS", function() require("neotest").run.stop() end, desc = "Stop" },
},
},
{
"mfussenegger/nvim-dap",
optional = true,
-- stylua: ignore
keys = {
{ "<leader>td", function() require("neotest").run.run({strategy = "dap"}) end, desc = "Debug Nearest" },
},
},
}

View File

@ -33,8 +33,5 @@ return {
},
}
end,
config = function(_, opts)
require("mini.animate").setup(opts)
end,
},
}

View File

@ -0,0 +1,45 @@
return {
{
"telescope.nvim",
dependencies = {
-- project management
{
"ahmedkhalf/project.nvim",
opts = {},
event = "VeryLazy",
config = function(_, opts)
require("project_nvim").setup(opts)
require("telescope").load_extension("projects")
end,
keys = {
{ "<leader>fp", "<Cmd>Telescope projects<CR>", desc = "Projects" },
},
},
},
},
{
"goolord/alpha-nvim",
optional = true,
opts = function(_, dashboard)
local button = dashboard.button("p", "" .. " Projects", ":Telescope projects <CR>")
button.opts.hl = "AlphaButtons"
button.opts.hl_shortcut = "AlphaShortcut"
table.insert(dashboard.section.buttons.val, 4, button)
end,
},
{
"echasnovski/mini.starter",
optional = true,
opts = function(_, opts)
local items = {
{
name = "Projects",
action = "Telescope projects",
section = string.rep(" ", 22) .. "Telescope",
},
}
vim.list_extend(opts.items, items)
end,
},
}

View File

@ -0,0 +1,56 @@
if not vim.g.vscode then
return {}
end
local enabled = {
"flit.nvim",
"lazy.nvim",
"leap.nvim",
"mini.ai",
"mini.comment",
"mini.pairs",
"mini.surround",
"nvim-treesitter",
"nvim-treesitter-textobjects",
"vim-repeat",
}
local Config = require("lazy.core.config")
local Plugin = require("lazy.core.plugin")
Config.options.checker.enabled = false
Config.options.change_detection.enabled = false
local update_state = Plugin.update_state
---@diagnostic disable-next-line: duplicate-set-field
Plugin.update_state = function()
-- Config.spec.disabled = {}
for name, plugin in pairs(Config.plugins) do
if not vim.tbl_contains(enabled, plugin.name) then
Config.plugins[name] = nil
end
end
update_state()
Config.to_clean = {}
end
local map = vim.keymap.set
map("n", "<leader><space>", "<cmd>Find<cr>")
map("n", "<leader>/", [[<cmd>call VSCodeNotify('workbench.action.findInFiles')<cr>]])
map("n", "<leader>ss", [[<cmd>call VSCodeNotify('workbench.action.gotoSymbol')<cr>]])
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", "<leader>wd", "<C-W>c", { desc = "Delete window", 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 })
return {
{
"nvim-treesitter/nvim-treesitter",
opts = { highlight = { enable = false } },
},
}

View File

@ -25,7 +25,8 @@ function M.format(opts)
return
end
local ft = vim.bo[buf].filetype
local have_nls = #require("null-ls.sources").get_available(ft, "NULL_LS_FORMATTING") > 0
local have_nls = package.loaded["null-ls"]
and (#require("null-ls.sources").get_available(ft, "NULL_LS_FORMATTING") > 0)
vim.lsp.buf.format(vim.tbl_deep_extend("force", {
bufnr = buf,

View File

@ -5,7 +5,7 @@ return {
event = { "BufReadPre", "BufNewFile" },
dependencies = {
{ "folke/neoconf.nvim", cmd = "Neoconf", config = true },
{ "folke/neodev.nvim", opts = { experimental = { pathStrict = true } } },
{ "folke/neodev.nvim", opts = {} },
"mason.nvim",
"williamboman/mason-lspconfig.nvim",
{
@ -31,6 +31,8 @@ return {
},
severity_sort = true,
},
-- add any global capabilities here
capabilities = {},
-- Automatically format on save
autoformat = true,
-- options for vim.lsp.buf.format
@ -73,10 +75,11 @@ return {
},
---@param opts PluginLspOpts
config = function(_, opts)
local Util = require("lazyvim.util")
-- setup autoformat
require("lazyvim.plugins.lsp.format").autoformat = opts.autoformat
-- setup formatting and keymaps
require("lazyvim.util").on_attach(function(client, buffer)
Util.on_attach(function(client, buffer)
require("lazyvim.plugins.lsp.format").on_attach(client, buffer)
require("lazyvim.plugins.lsp.keymaps").on_attach(client, buffer)
end)
@ -102,7 +105,13 @@ return {
vim.diagnostic.config(vim.deepcopy(opts.diagnostics))
local servers = opts.servers
local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
local capabilities = vim.tbl_deep_extend(
"force",
{},
vim.lsp.protocol.make_client_capabilities(),
require("cmp_nvim_lsp").default_capabilities(),
opts.capabilities or {}
)
local function setup(server)
local server_opts = vim.tbl_deep_extend("force", {
@ -145,6 +154,14 @@ return {
mlsp.setup({ ensure_installed = ensure_installed })
mlsp.setup_handlers({ setup })
end
if Util.lsp_get_config("denols") and Util.lsp_get_config("tsserver") then
local is_deno = require("lspconfig.util").root_pattern("deno.json", "deno.jsonc")
Util.lsp_disable("tsserver", is_deno)
Util.lsp_disable("denols", function(root_dir)
return not is_deno(root_dir)
end)
end
end,
},

View File

@ -34,7 +34,6 @@ return {
opts = {
highlight = { enable = true },
indent = { enable = true },
context_commentstring = { enable = true, enable_autocmd = false },
ensure_installed = {
"bash",
"c",
@ -60,13 +59,24 @@ return {
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = "<nop>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
},
---@param opts TSConfig
config = function(_, opts)
if type(opts.ensure_installed) == "table" then
---@type table<string, boolean>
local added = {}
opts.ensure_installed = vim.tbl_filter(function(lang)
if added[lang] then
return false
end
added[lang] = true
return true
end, opts.ensure_installed)
end
require("nvim-treesitter.configs").setup(opts)
end,
},

View File

@ -8,7 +8,7 @@ return {
function()
require("notify").dismiss({ silent = true, pending = true })
end,
desc = "Delete all Notifications",
desc = "Dismiss all Notifications",
},
},
opts = {
@ -59,6 +59,10 @@ return {
},
opts = {
options = {
-- stylua: ignore
close_command = function(n) require("mini.bufremove").delete(n, false) end,
-- stylua: ignore
right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end,
diagnostics = "nvim_lsp",
always_show_bufferline = false,
diagnostics_indicator = function(_, _, diag)
@ -85,14 +89,7 @@ return {
event = "VeryLazy",
opts = function()
local icons = require("lazyvim.config").icons
local function fg(name)
return function()
---@type {foreground?:number}?
local hl = vim.api.nvim_get_hl_by_name(name, true)
return hl and hl.foreground and { fg = string.format("#%06x", hl.foreground) }
end
end
local Util = require("lazyvim.util")
return {
options = {
@ -122,25 +119,25 @@ return {
},
},
lualine_x = {
-- stylua: ignore
{
function() return "" .. require("dap").status() end,
cond = function () return package.loaded["dap"] and require("dap").status() ~= "" end,
color = fg("Debug"),
},
-- stylua: ignore
{
function() return require("noice").api.status.command.get() end,
cond = function() return package.loaded["noice"] and require("noice").api.status.command.has() end,
color = fg("Statement"),
color = Util.fg("Statement"),
},
-- stylua: ignore
{
function() return require("noice").api.status.mode.get() end,
cond = function() return package.loaded["noice"] and require("noice").api.status.mode.has() end,
color = fg("Constant"),
color = Util.fg("Constant"),
},
{ require("lazy.status").updates, cond = require("lazy.status").has_updates, color = fg("Special") },
-- stylua: ignore
{
function() return "" .. require("dap").status() end,
cond = function () return package.loaded["dap"] and require("dap").status() ~= "" end,
color = Util.fg("Debug"),
},
{ require("lazy.status").updates, cond = require("lazy.status").has_updates, color = Util.fg("Special") },
{
"diff",
symbols = {
@ -172,7 +169,7 @@ return {
opts = {
-- char = "▏",
char = "",
filetype_exclude = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy" },
filetype_exclude = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy", "mason" },
show_trailing_blankline_indent = false,
show_current_context = false,
},
@ -196,9 +193,6 @@ return {
end,
})
end,
config = function(_, opts)
require("mini.indentscope").setup(opts)
end,
},
-- noicer ui
@ -221,12 +215,23 @@ return {
override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true,
},
},
routes = {
{
filter = {
event = "msg_show",
find = "%d+L, %d+B",
},
view = "mini",
},
},
presets = {
bottom_search = true,
command_palette = true,
long_message_to_split = true,
inc_rename = true,
},
},
-- stylua: ignore

View File

@ -13,7 +13,7 @@ return {
{
"folke/persistence.nvim",
event = "BufReadPre",
opts = { options = { "buffers", "curdir", "tabpages", "winsize", "help", "globals" } },
opts = { options = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp" } },
-- stylua: ignore
keys = {
{ "<leader>qs", function() require("persistence").load() end, desc = "Restore Session" },

View File

@ -43,7 +43,7 @@ function M.keymaps()
group = "Plugins"
local core = require("lazy.core.plugin").Spec.new({ import = "lazyvim.plugins" })
local core = require("lazy.core.plugin").Spec.new({ import = "lazyvim.plugins" }, { optional = true })
Util.foreach(core.plugins, function(name, plugin)
group = ("[%s](%s)"):format(plugin.name, plugin.url)
for _, key in ipairs(plugin.keys or {}) do
@ -58,7 +58,7 @@ function M.keymaps()
if t == "file" and name:find("%.lua$") then
local modname = path:gsub(".*/lua/", ""):gsub("/", "."):gsub("%.lua$", "")
local extra_doc = "/plugins/extras/" .. modname:gsub("lazyvim%.plugins%.extras%.", "")
local extra = require("lazy.core.plugin").Spec.new({ import = modname })
local extra = require("lazy.core.plugin").Spec.new({ import = modname }, { optional = true })
Util.foreach(extra.plugins, function(name, plugin)
group = ("[%s](%s)\nPart of [%s](%s)"):format(plugin.name, plugin.url, modname, extra_doc)
for _, key in ipairs(plugin.keys or {}) do
@ -215,7 +215,7 @@ To use this, add it to your **lazy.nvim** imports:
```lua title="lua/config/lazy.lua" {4}
require("lazy").setup({
spec = {
{ "folke/LazyVim", import = "lazyvim.plugins" },
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
{ import = "%s" },
{ import = "plugins" },
},
@ -249,7 +249,7 @@ end
function M.plugins(path)
local test = root .. "/lua/lazyvim/plugins/" .. path
local spec = require("lazy.core.plugin").Spec.new(dofile(test))
local spec = require("lazy.core.plugin").Spec.new(dofile(test), { optional = true })
local source = Util.read_file(test)
local parser = vim.treesitter.get_string_parser(source, "lua")
@ -306,11 +306,13 @@ function M.plugins(path)
end
parser:parse()
parser:for_each_tree(function(tree)
local node = tree:root()
find_plugins(node)
-- print(vim.treesitter.query.get_node_text(node, str))
end)
if path ~= "extras/vscode.lua" then
parser:for_each_tree(function(tree)
local node = tree:root()
find_plugins(node)
-- print(vim.treesitter.query.get_node_text(node, str))
end)
end
---@type string[]
local lines = {

View File

@ -20,6 +20,27 @@ function M.has(plugin)
return require("lazy.core.config").plugins[plugin] ~= nil
end
function M.fg(name)
---@type {foreground?:number}?
local hl = vim.api.nvim_get_hl and vim.api.nvim_get_hl(0, { name = name }) or vim.api.nvim_get_hl_by_name(name, true)
local fg = hl and hl.fg or hl.foreground
return fg and { fg = string.format("#%06x", fg) }
end
function M.get_upvalue(func, name)
local i = 1
while true do
local n, v = debug.getupvalue(func, i)
if not n then
break
end
if n == name then
return v
end
i = i + 1
end
end
---@param fn fun()
function M.on_very_lazy(fn)
vim.api.nvim_create_autocmd("User", {
@ -98,6 +119,20 @@ function M.telescope(builtin, opts)
builtin = "find_files"
end
end
if opts.cwd and opts.cwd ~= vim.loop.cwd() then
opts.attach_mappings = function(_, map)
map("i", "<a-c>", function()
local action_state = require("telescope.actions.state")
local line = action_state.get_current_line()
M.telescope(
params.builtin,
vim.tbl_deep_extend("force", {}, params.opts or {}, { cwd = false, default_text = line })
)()
end)
return true
end
end
require("telescope.builtin")[builtin](opts)
end
end
@ -189,4 +224,21 @@ function M.lazy_notify()
timer:start(500, 0, replay)
end
function M.lsp_get_config(server)
local configs = require("lspconfig.configs")
return rawget(configs, server)
end
---@param server string
---@param cond fun( root_dir, config): boolean
function M.lsp_disable(server, cond)
local util = require("lspconfig.util")
local def = M.lsp_get_config(server)
def.document_config.on_new_config = util.add_hook_before(def.document_config.on_new_config, function(config, root_dir)
if cond(root_dir, config) then
config.enabled = false
end
end)
end
return M