mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-07-01 21:14:38 +02:00
docs: auto-generate keymaps and plugins section
This commit is contained in:
parent
7e36fe5adf
commit
86e4e792f3
4 changed files with 231 additions and 131 deletions
244
README.md
244
README.md
|
@ -39,146 +39,148 @@ require("lazy").setup({
|
||||||
- [x] treesitter auto-install seems broken. Switch to `ensure_installed` instead?
|
- [x] treesitter auto-install seems broken. Switch to `ensure_installed` instead?
|
||||||
- [x] list all plugins in readme
|
- [x] list all plugins in readme
|
||||||
- [ ] test all-the-things
|
- [ ] test all-the-things
|
||||||
|
- [x] auto-generate keymaps for README.md
|
||||||
|
- [x] auto-generate plugins for README.md
|
||||||
|
|
||||||
## Keymaps
|
## ⌨️ Keymaps
|
||||||
|
|
||||||
<!-- keymaps:start -->
|
<!-- keymaps:start -->
|
||||||
|
|
||||||
### General
|
### General
|
||||||
|
|
||||||
| Key | Description | Mode |
|
| Key | Description | Mode |
|
||||||
| --- | --- | --- |
|
| -------------------- | -------------------------- | -------------------------- |
|
||||||
| ``<C-h>`` | Go to left window | **n** |
|
| `<C-h>` | Go to left window | **n** |
|
||||||
| ``<C-j>`` | Go to lower window | **n** |
|
| `<C-j>` | Go to lower window | **n** |
|
||||||
| ``<C-k>`` | Go to upper window | **n** |
|
| `<C-k>` | Go to upper window | **n** |
|
||||||
| ``<C-l>`` | Go to right window | **n** |
|
| `<C-l>` | Go to right window | **n** |
|
||||||
| ``<C-Up>`` | Increase window height | **n** |
|
| `<C-Up>` | Increase window height | **n** |
|
||||||
| ``<C-Down>`` | Decrease window height | **n** |
|
| `<C-Down>` | Decrease window height | **n** |
|
||||||
| ``<C-Left>`` | Decrease window width | **n** |
|
| `<C-Left>` | Decrease window width | **n** |
|
||||||
| ``<C-Right>`` | Increase window width | **n** |
|
| `<C-Right>` | Increase window width | **n** |
|
||||||
| ``<A-j>`` | Move down | **n**, **v**, **i** |
|
| `<A-j>` | Move down | **n**, **v**, **i** |
|
||||||
| ``<A-k>`` | Move up | **n**, **v**, **i** |
|
| `<A-k>` | Move up | **n**, **v**, **i** |
|
||||||
| ``<S-h>`` | Prev buffer | **n** |
|
| `<S-h>` | Prev buffer | **n** |
|
||||||
| ``<S-l>`` | Next buffer | **n** |
|
| `<S-l>` | Next buffer | **n** |
|
||||||
| ``[p`` | Paste below | **n** |
|
| `[p` | Paste below | **n** |
|
||||||
| ``]p`` | Paste above | **n** |
|
| `]p` | Paste above | **n** |
|
||||||
| ``<esc>`` | Escape and clear hlsearch | **i**, **n** |
|
| `<esc>` | Escape and clear hlsearch | **i**, **n** |
|
||||||
| ``n`` | Next search result | **n**, **x**, **o** |
|
| `n` | Next search result | **n**, **x**, **o** |
|
||||||
| ``N`` | Prev search result | **n**, **x**, **o** |
|
| `N` | Prev search result | **n**, **x**, **o** |
|
||||||
| ``<C-s>`` | Save file | **i**, **v**, **n**, **s** |
|
| `<C-s>` | Save file | **i**, **v**, **n**, **s** |
|
||||||
| ``<leader>l`` | Lazy | **n** |
|
| `<leader>l` | Lazy | **n** |
|
||||||
| ``<leader>fn`` | New File | **n** |
|
| `<leader>fn` | New File | **n** |
|
||||||
| ``<leader>xl`` | Open Location List | **n** |
|
| `<leader>xl` | Open Location List | **n** |
|
||||||
| ``<leader>xq`` | Open Quickfix List | **n** |
|
| `<leader>xq` | Open Quickfix List | **n** |
|
||||||
| ``<leader>tf`` | Format on Save | **n** |
|
| `<leader>tf` | Toggle Format on Save | **n** |
|
||||||
| ``<leader>ts`` | Spelling | **n** |
|
| `<leader>ts` | Toggle Spelling | **n** |
|
||||||
| ``<leader>tw`` | Word Wrap | **n** |
|
| `<leader>tw` | Toggle Word Wrap | **n** |
|
||||||
| ``<leader>tn`` | Line Numbers | **n** |
|
| `<leader>tn` | Toggle Line Numbers | **n** |
|
||||||
| ``<leader>td`` | Diagnostics | **n** |
|
| `<leader>td` | Toggle Diagnostics | **n** |
|
||||||
| ``<leader>tc`` | Conceal | **n** |
|
| `<leader>tc` | Toggle Conceal | **n** |
|
||||||
| ``<leader>gg`` | Lazygit (cwd) | **n** |
|
| `<leader>gg` | Lazygit (cwd) | **n** |
|
||||||
| ``<leader>gG`` | Lazygit (root dir) | **n** |
|
| `<leader>gG` | Lazygit (root dir) | **n** |
|
||||||
| ``<leader>qq`` | Quit all | **n** |
|
| `<leader>qq` | Quit all | **n** |
|
||||||
| ``<leader>hl`` | Highlight Groups at cursor | **n** |
|
| `<leader>hl` | Highlight Groups at cursor | **n** |
|
||||||
| ``<leader>ot`` | Terminal (root dir) | **n** |
|
| `<leader>ot` | Terminal (root dir) | **n** |
|
||||||
| ``<leader>oT`` | Terminal (cwd) | **n** |
|
| `<leader>oT` | Terminal (cwd) | **n** |
|
||||||
| ``<esc><esc>`` | Enter Normal Mode | **t** |
|
| `<esc><esc>` | Enter Normal Mode | **t** |
|
||||||
| ``<leader>ww`` | other-window | **n** |
|
| `<leader>ww` | other-window | **n** |
|
||||||
| ``<leader>wd`` | delete-window | **n** |
|
| `<leader>wd` | delete-window | **n** |
|
||||||
| ``<leader>w-`` | split-window-below | **n** |
|
| `<leader>w-` | split-window-below | **n** |
|
||||||
| ``<leader>w\|`` | split-window-right | **n** |
|
| `<leader>w\|` | split-window-right | **n** |
|
||||||
| ``<leader><tab>l`` | Last | **n** |
|
| `<leader><tab>l` | Last | **n** |
|
||||||
| ``<leader><tab>f`` | First | **n** |
|
| `<leader><tab>f` | First | **n** |
|
||||||
| ``<leader><tab><tab>`` | New Tab | **n** |
|
| `<leader><tab><tab>` | New Tab | **n** |
|
||||||
| ``<leader><tab>]`` | Next | **n** |
|
| `<leader><tab>]` | Next | **n** |
|
||||||
| ``<leader><tab>d`` | Close | **n** |
|
| `<leader><tab>d` | Close | **n** |
|
||||||
| ``<leader><tab>[`` | Previous | **n** |
|
| `<leader><tab>[` | Previous | **n** |
|
||||||
| ``<leader>b]`` | Next Buffer | **n** |
|
| `<leader>b]` | Next Buffer | **n** |
|
||||||
| ``<leader>bb`` | Switch to Other Buffer | **n** |
|
| `<leader>bb` | Switch to Other Buffer | **n** |
|
||||||
| ``<leader>b[`` | Previous Buffer | **n** |
|
| `<leader>b[` | Previous Buffer | **n** |
|
||||||
| `` <leader>` `` | Switch to Other Buffer | **n** |
|
| `` <leader>` `` | Switch to Other Buffer | **n** |
|
||||||
|
|
||||||
### LSP
|
### LSP
|
||||||
|
|
||||||
| Key | Description | Mode |
|
| Key | Description | Mode |
|
||||||
| --- | --- | --- |
|
| ------------ | --------------------- | ------------ |
|
||||||
| ``<leader>cd`` | Line Diagnostics | **n** |
|
| `<leader>cd` | Line Diagnostics | **n** |
|
||||||
| ``<leader>cl`` | Lsp Info | **n** |
|
| `<leader>cl` | Lsp Info | **n** |
|
||||||
| ``<leader>xd`` | Telescope Diagnostics | **n** |
|
| `<leader>xd` | Telescope Diagnostics | **n** |
|
||||||
| ``gd`` | Goto Definition | **n** |
|
| `gd` | Goto Definition | **n** |
|
||||||
| ``gr`` | References | **n** |
|
| `gr` | References | **n** |
|
||||||
| ``gD`` | Goto Declaration | **n** |
|
| `gD` | Goto Declaration | **n** |
|
||||||
| ``gI`` | Goto Implementation | **n** |
|
| `gI` | Goto Implementation | **n** |
|
||||||
| ``gt`` | Goto Type Definition | **n** |
|
| `gt` | Goto Type Definition | **n** |
|
||||||
| ``K`` | Hover | **n** |
|
| `K` | Hover | **n** |
|
||||||
| ``gK`` | Signature Help | **n** |
|
| `gK` | Signature Help | **n** |
|
||||||
| ``[d`` | Next Diagnostic | **n** |
|
| `[d` | Next Diagnostic | **n** |
|
||||||
| ``]d`` | Prev Diagnostic | **n** |
|
| `]d` | Prev Diagnostic | **n** |
|
||||||
| ``]e`` | Next Error | **n** |
|
| `]e` | Next Error | **n** |
|
||||||
| ``[e`` | Prev Error | **n** |
|
| `[e` | Prev Error | **n** |
|
||||||
| ``]w`` | Next Warning | **n** |
|
| `]w` | Next Warning | **n** |
|
||||||
| ``[w`` | Prev Warning | **n** |
|
| `[w` | Prev Warning | **n** |
|
||||||
| ``<leader>ca`` | Code Action | **n**, **v** |
|
| `<leader>ca` | Code Action | **n**, **v** |
|
||||||
| ``<leader>cf`` | Format Document | **n** |
|
| `<leader>cf` | Format Document | **n** |
|
||||||
| ``<leader>cf`` | Format Range | **v** |
|
| `<leader>cf` | Format Range | **v** |
|
||||||
| ``<leader>cr`` | Rename | **n** |
|
| `<leader>cr` | Rename | **n** |
|
||||||
|
|
||||||
### Plugins
|
### Plugins
|
||||||
|
|
||||||
| Key | Description | Mode |
|
| Key | Description | Mode |
|
||||||
| --- | --- | --- |
|
| ----------------- | ---------------------------------------------------------------------------------------------- | ----- |
|
||||||
| ``<leader>cm`` | [mason.nvim](https://github.com/williamboman/mason.nvim.git) Mason | **n** |
|
| `<leader>cm` | [mason.nvim](https://github.com/williamboman/mason.nvim.git) Mason | **n** |
|
||||||
| ``<leader>bd`` | [mini.bufremove](https://github.com/echasnovski/mini.bufremove.git) Delete Buffer | **n** |
|
| `<leader>bd` | [mini.bufremove](https://github.com/echasnovski/mini.bufremove.git) Delete Buffer | **n** |
|
||||||
| ``<leader>bD`` | [mini.bufremove](https://github.com/echasnovski/mini.bufremove.git) Delete Buffer (Force) | **n** |
|
| `<leader>bD` | [mini.bufremove](https://github.com/echasnovski/mini.bufremove.git) Delete Buffer (Force) | **n** |
|
||||||
| ``<leader>ft`` | [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) NeoTree (root dir) | **n** |
|
| `<leader>ft` | [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) NeoTree (root dir) | **n** |
|
||||||
| ``<leader>fT`` | [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) NeoTree (cwd) | **n** |
|
| `<leader>fT` | [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) NeoTree (cwd) | **n** |
|
||||||
| ``<S-Enter>`` | [noice.nvim](https://github.com/folke/noice.nvim.git) Redirect Cmdline | **c** |
|
| `<S-Enter>` | [noice.nvim](https://github.com/folke/noice.nvim.git) Redirect Cmdline | **c** |
|
||||||
| ``<leader>nl`` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice Last Message | **n** |
|
| `<leader>nl` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice Last Message | **n** |
|
||||||
| ``<leader>nh`` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice History | **n** |
|
| `<leader>nh` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice History | **n** |
|
||||||
| ``<leader>na`` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice All | **n** |
|
| `<leader>na` | [noice.nvim](https://github.com/folke/noice.nvim.git) Noice All | **n** |
|
||||||
| ``<leader>nd`` | [nvim-notify](https://github.com/rcarriga/nvim-notify.git) Delete all Notifications | **n** |
|
| `<leader>nd` | [nvim-notify](https://github.com/rcarriga/nvim-notify.git) Delete all Notifications | **n** |
|
||||||
| ``<leader>sr`` | [nvim-spectre](https://github.com/windwp/nvim-spectre.git) Replace in files (Spectre) | **n** |
|
| `<leader>sr` | [nvim-spectre](https://github.com/windwp/nvim-spectre.git) Replace in files (Spectre) | **n** |
|
||||||
| ``<leader>qs`` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Restore Session | **n** |
|
| `<leader>qs` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Restore Session | **n** |
|
||||||
| ``<leader>ql`` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Restore Last Session | **n** |
|
| `<leader>ql` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Restore Last Session | **n** |
|
||||||
| ``<leader>qd`` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Don't Save Current Session | **n** |
|
| `<leader>qd` | [persistence.nvim](https://github.com/folke/persistence.nvim.git) Don't Save Current Session | **n** |
|
||||||
| ``<leader>/`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find in Files (Grep) | **n** |
|
| `<leader>/` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find in Files (Grep) | **n** |
|
||||||
| ``<leader><space>`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (root dir) | **n** |
|
| `<leader><space>` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (root dir) | **n** |
|
||||||
| ``<leader>fb`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Buffers | **n** |
|
| `<leader>fb` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Buffers | **n** |
|
||||||
| ``<leader>ff`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (root dir) | **n** |
|
| `<leader>ff` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (root dir) | **n** |
|
||||||
| ``<leader>fF`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (cwd) | **n** |
|
| `<leader>fF` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Find Files (cwd) | **n** |
|
||||||
| ``<leader>fr`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Recent | **n** |
|
| `<leader>fr` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Recent | **n** |
|
||||||
| ``<leader>gc`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) commits | **n** |
|
| `<leader>gc` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) commits | **n** |
|
||||||
| ``<leader>gs`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) status | **n** |
|
| `<leader>gs` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) status | **n** |
|
||||||
| ``<leader>ha`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Auto Commands | **n** |
|
| `<leader>ha` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Auto Commands | **n** |
|
||||||
| ``<leader>hc`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Commands | **n** |
|
| `<leader>hc` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Commands | **n** |
|
||||||
| ``<leader>hf`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) File Types | **n** |
|
| `<leader>hf` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) File Types | **n** |
|
||||||
| ``<leader>hh`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Help Pages | **n** |
|
| `<leader>hh` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Help Pages | **n** |
|
||||||
| ``<leader>hk`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Key Maps | **n** |
|
| `<leader>hk` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Key Maps | **n** |
|
||||||
| ``<leader>hm`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Man Pages | **n** |
|
| `<leader>hm` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Man Pages | **n** |
|
||||||
| ``<leader>ho`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Options | **n** |
|
| `<leader>ho` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Options | **n** |
|
||||||
| ``<leader>hs`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Search Highlight Groups | **n** |
|
| `<leader>hs` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Search Highlight Groups | **n** |
|
||||||
| ``<leader>ht`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Telescope | **n** |
|
| `<leader>ht` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Telescope | **n** |
|
||||||
| ``<leader>sb`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Buffer | **n** |
|
| `<leader>sb` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Buffer | **n** |
|
||||||
| ``<leader>sc`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Command History | **n** |
|
| `<leader>sc` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Command History | **n** |
|
||||||
| ``<leader>sg`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Grep (root dir) | **n** |
|
| `<leader>sg` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Grep (root dir) | **n** |
|
||||||
| ``<leader>sG`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Grep (cwd) | **n** |
|
| `<leader>sG` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Grep (cwd) | **n** |
|
||||||
| ``<leader>sm`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Jump to Mark | **n** |
|
| `<leader>sm` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Jump to Mark | **n** |
|
||||||
| ``<leader>,`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Switch Buffer | **n** |
|
| `<leader>,` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Switch Buffer | **n** |
|
||||||
| ``<leader>:`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Command History | **n** |
|
| `<leader>:` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Command History | **n** |
|
||||||
| ``<leader>ss`` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Goto Symbol | **n** |
|
| `<leader>ss` | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) Goto Symbol | **n** |
|
||||||
| ``]t`` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Next todo comment | **n** |
|
| `]t` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Next todo comment | **n** |
|
||||||
| ``[t`` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Previous todo comment | **n** |
|
| `[t` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Previous todo comment | **n** |
|
||||||
| ``<leader>xt`` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Trouble | **n** |
|
| `<leader>xt` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Trouble | **n** |
|
||||||
| ``<leader>xtt`` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Trouble | **n** |
|
| `<leader>xtt` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Trouble | **n** |
|
||||||
| ``<leader>xT`` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Telescope | **n** |
|
| `<leader>xT` | [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) Todo Telescope | **n** |
|
||||||
| ``<leader>xx`` | [trouble.nvim](https://github.com/folke/trouble.nvim.git) Document Diagnostics (Trouble) | **n** |
|
| `<leader>xx` | [trouble.nvim](https://github.com/folke/trouble.nvim.git) Document Diagnostics (Trouble) | **n** |
|
||||||
| ``<leader>xX`` | [trouble.nvim](https://github.com/folke/trouble.nvim.git) Workspace Diagnostics (Trouble) | **n** |
|
| `<leader>xX` | [trouble.nvim](https://github.com/folke/trouble.nvim.git) Workspace Diagnostics (Trouble) | **n** |
|
||||||
| ``]]`` | [vim-illuminate](https://github.com/RRethy/vim-illuminate.git) Next Reference | **n** |
|
| `]]` | [vim-illuminate](https://github.com/RRethy/vim-illuminate.git) Next Reference | **n** |
|
||||||
| ``[[`` | [vim-illuminate](https://github.com/RRethy/vim-illuminate.git) Prev Reference | **n** |
|
| `[[` | [vim-illuminate](https://github.com/RRethy/vim-illuminate.git) Prev Reference | **n** |
|
||||||
|
|
||||||
<!-- keymaps:end -->
|
<!-- keymaps:end -->
|
||||||
|
|
||||||
## Plugins
|
## 📦 Plugins
|
||||||
|
|
||||||
<!-- plugins:start -->
|
<!-- plugins:start -->
|
||||||
|
|
||||||
|
|
|
@ -73,13 +73,13 @@ vim.keymap.set("n", "<leader>xq", "<cmd>copen<cr>", { desc = "Open Quickfix List
|
||||||
-- stylua: ignore start
|
-- stylua: ignore start
|
||||||
|
|
||||||
-- toggle options
|
-- toggle options
|
||||||
vim.keymap.set("n", "<leader>tf", require("lazyvim.plugins.lsp.format").toggle, { desc = "Format on Save" })
|
vim.keymap.set("n", "<leader>tf", require("lazyvim.plugins.lsp.format").toggle, { desc = "Toggle format on Save" })
|
||||||
vim.keymap.set("n", "<leader>ts", function() util.toggle("spell") end, { desc = "Spelling" })
|
vim.keymap.set("n", "<leader>ts", function() util.toggle("spell") end, { desc = "Toggle Spelling" })
|
||||||
vim.keymap.set("n", "<leader>tw", function() util.toggle("wrap") end, { desc = "Word Wrap" })
|
vim.keymap.set("n", "<leader>tw", function() util.toggle("wrap") end, { desc = "Toggle Word Wrap" })
|
||||||
vim.keymap.set("n", "<leader>tn", function() util.toggle("relativenumber", true) util.toggle("number") end, { desc = "Line Numbers" })
|
vim.keymap.set("n", "<leader>tn", function() util.toggle("relativenumber", true) util.toggle("number") end, { desc = "Toggle Line Numbers" })
|
||||||
vim.keymap.set("n", "<leader>td", util.toggle_diagnostics, { desc = "Diagnostics" })
|
vim.keymap.set("n", "<leader>td", util.toggle_diagnostics, { desc = "Toggle Diagnostics" })
|
||||||
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
|
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
|
||||||
vim.keymap.set("n", "<leader>tc", function() util.toggle("conceallevel", false, {0, conceallevel}) end, { desc = "Conceal" })
|
vim.keymap.set("n", "<leader>tc", function() util.toggle("conceallevel", false, {0, conceallevel}) end, { desc = "Toggle Conceal" })
|
||||||
|
|
||||||
-- lazygit
|
-- lazygit
|
||||||
vim.keymap.set("n", "<leader>gg", function() require("lazyvim.util").float_term({ "lazygit" }) end, { desc = "Lazygit (cwd)" })
|
vim.keymap.set("n", "<leader>gg", function() require("lazyvim.util").float_term({ "lazygit" }) end, { desc = "Lazygit (cwd)" })
|
||||||
|
|
98
lua/lazyvim/util/build.lua
Normal file
98
lua/lazyvim/util/build.lua
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
-- Ugly code to generate some things for the readme
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
function M.keymaps()
|
||||||
|
local root = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":h:h:h:h")
|
||||||
|
local keymap_set = vim.keymap.set
|
||||||
|
---@type table<string,{mode?:string|string[], keys:string, desc?:string, i:number, group:string}>
|
||||||
|
local keymaps = {}
|
||||||
|
---@type string
|
||||||
|
local group = nil
|
||||||
|
---@type string[]
|
||||||
|
local groups = {}
|
||||||
|
local function map(mode, lhs, rhs, opts)
|
||||||
|
if not (opts and opts.desc) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if not vim.tbl_contains(groups, group) then
|
||||||
|
groups[#groups + 1] = group
|
||||||
|
end
|
||||||
|
mode = mode == nil and { "n", "v", "o" } or type(mode) == "string" and { mode } or mode
|
||||||
|
local desc = opts and opts.desc or ""
|
||||||
|
local key = lhs .. desc .. group
|
||||||
|
if keymaps[key] then
|
||||||
|
vim.list_extend(keymaps[key].mode, mode)
|
||||||
|
else
|
||||||
|
keymaps[key] = { mode = mode, keys = lhs, desc = desc, i = vim.tbl_count(keymaps), group = group }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.keymap.set = map
|
||||||
|
|
||||||
|
group = "General"
|
||||||
|
dofile(root .. "/lua/lazyvim/config/keymaps.lua")
|
||||||
|
group = "LSP"
|
||||||
|
local lsp = dofile(root .. "/lua/lazyvim/plugins/lsp/keymaps.lua")
|
||||||
|
lsp.has = function()
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
lsp.on_attach({ name = "foobar" })
|
||||||
|
|
||||||
|
vim.keymap.set = keymap_set
|
||||||
|
|
||||||
|
group = "Plugins"
|
||||||
|
|
||||||
|
require("lazy.util").foreach(require("lazy.core.config").plugins, function(name, plugin)
|
||||||
|
for _, key in ipairs(plugin.keys or {}) do
|
||||||
|
if type(key) == "table" and key.desc then
|
||||||
|
local desc = key.desc or ""
|
||||||
|
desc = ("[%s](%s)"):format(plugin.name, plugin.url) .. " " .. desc
|
||||||
|
map(key.mode or "n", key[1], key[2], { desc = desc })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
---@type string[]
|
||||||
|
local lines = {}
|
||||||
|
|
||||||
|
for _, group in ipairs(groups) do
|
||||||
|
lines[#lines + 1] = "### " .. group
|
||||||
|
lines[#lines + 1] = ""
|
||||||
|
vim.list_extend(lines, { "| Key | Description | Mode |", "| --- | --- | --- |" })
|
||||||
|
local mappings = vim.tbl_filter(function(m)
|
||||||
|
return m.group == group and m.desc
|
||||||
|
end, keymaps)
|
||||||
|
|
||||||
|
table.sort(mappings, function(a, b)
|
||||||
|
return a.i < b.i
|
||||||
|
end)
|
||||||
|
|
||||||
|
for _, m in ipairs(mappings) do
|
||||||
|
lines[#lines + 1] = "| ``"
|
||||||
|
.. m.keys:gsub("|", "\\|"):gsub("`$", "` ")
|
||||||
|
.. "`` | "
|
||||||
|
.. m.desc
|
||||||
|
.. " | "
|
||||||
|
.. table.concat(
|
||||||
|
vim.tbl_map(function(mode)
|
||||||
|
return "**" .. mode .. "**"
|
||||||
|
end, m.mode),
|
||||||
|
", "
|
||||||
|
)
|
||||||
|
.. " |"
|
||||||
|
end
|
||||||
|
lines[#lines + 1] = ""
|
||||||
|
end
|
||||||
|
return table.concat(lines, "\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.update()
|
||||||
|
local Docs = require("lazy.docs")
|
||||||
|
Docs.plugins()
|
||||||
|
Docs.save({ keymaps = M.keymaps() })
|
||||||
|
vim.cmd.checktime()
|
||||||
|
end
|
||||||
|
|
||||||
|
M.update()
|
||||||
|
|
||||||
|
return M
|
Loading…
Add table
Add a link
Reference in a new issue