-
Notifications
You must be signed in to change notification settings - Fork 462
Plugins
冷酔閑吟 edited this page Jan 27, 2023
·
44 revisions
The plugin dependency diagram is as follows (click to enlarge):
- Legend:
┌─┐ ┌─┐
│A│ ──────────► │B│ Arrow indicates "B is loaded after A"
└─┘ └─┘
┌─┐ ┌─┐
│A│ ─ ─ ─ ─► │B│ Dashed line indicates "B depends on A, or A must be loaded before B"
└─┘ └─┘
* Neovim starts loading from `init`
* Light blue circles are events
* Dark blue circles are plugin names, where:
* Octagons are optional plugins
* Green circle is the language server's core plugin
* Self-contained plugins will load themselves when needed
Source code in graphviz format
digraph plugins_load_seq {
ratio = fill;
node [style=filled];
init -> opt [color="0.649 0.701 0.701"];
init -> start [color="0.649 0.701 0.701"];
init -> "self-contained" [color="0.649 0.701 0.701"];
start -> "catppuccin" [color="0.649 0.701 0.701"];
opt -> VeryLazy [color="0.619 0.714 0.714"];
opt -> BufNewFile [color="0.619 0.714 0.714"];
VeryLazy -> BufWinEnter [color="0.619 0.714 0.714"];
BufWinEnter -> UIEnter [color="0.619 0.714 0.714"];
UIEnter -> BufAdd [color="0.619 0.714 0.714"];
BufAdd -> BufReadPre [color="0.619 0.714 0.714"];
BufReadPre -> BufReadPost [color="0.619 0.714 0.714"];
BufReadPost -> LspAttach [color="0.619 0.714 0.714"];
LspAttach -> InsertEnter [color="0.619 0.714 0.714"];
VeryLazy -> "accelerated-jk.nvim" [color="0.649 0.701 0.701"];
VeryLazy -> "copilot.lua" [color="0.649 0.701 0.701"];
"copilot.lua" -> "copilot-cmp" [color="0.649 0.701 0.701"];
VeryLazy -> "which-key.nvim" [color="0.649 0.701 0.701"];
VeryLazy -> "dressing.nvim" [color="0.649 0.701 0.701"];
VeryLazy -> "nvim-notify" [color="0.649 0.701 0.701"];
BufWinEnter -> "alpha-nvim" [color="0.649 0.701 0.701"];
BufNewFile -> "gitsigns.nvim" [color="0.649 0.701 0.701"];
"mason-lspconfig.nvim" -> "mason.nvim" [color="0.649 0.701 0.701" style="dashed"];
"mason-tool-installer.nvim" -> "mason.nvim" [color="0.649 0.701 0.701" style="dashed"];
"efmls-configs-nvim" -> "mason.nvim" [color="0.649 0.701 0.701" style="dashed"];
"efmls-configs-nvim" -> "nvim-lspconfig" [color="0.649 0.701 0.701" style="dashed"];
BufNewFile -> "nvim-lspconfig" [color="0.649 0.701 0.701"];
BufNewFile -> "bufferline.nvim" [color="0.649 0.701 0.701"];
BufNewFile -> "lualine.nvim" [color="0.649 0.701 0.701"];
BufNewFile -> "nvim-comment" [color="0.649 0.701 0.701"];
UIEnter -> "toggleterm.nvim" [color="0.649 0.701 0.701"];
BufAdd -> "nvim-lspconfig" [color="0.649 0.701 0.701"];
BufAdd -> "bufferline.nvim" [color="0.649 0.701 0.701"];
BufAdd -> "lualine.nvim" [color="0.649 0.701 0.701"];
BufReadPre -> "nvim-lspconfig" [color="0.649 0.701 0.701"];
"nvim-lspconfig" -> "lspsaga.nvim" [color="0.649 0.701 0.701"];
"nvim-lspconfig" -> "lsp_signature.nvim" [color="0.649 0.701 0.701"];
"nvim-lspconfig" -> "lualine.nvim" [color="0.649 0.701 0.701"];
"lspsaga.nvim" -> "lualine.nvim" [color="0.649 0.701 0.701"];
BufReadPre -> "nvim-comment" [color="0.649 0.701 0.701"];
BufReadPost -> "vim-illuminate" [color="0.649 0.701 0.701"];
BufReadPost -> "nvim-treesitter" [color="0.649 0.701 0.701"];
BufReadPost -> "clever-f.vim" [color="0.649 0.701 0.701"];
BufReadPost -> "hop.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "neoscroll.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "better-escape.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "nvim-bufdel" [color="0.649 0.701 0.701"];
BufReadPost -> "stabilize.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "smartyank.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "vim-im-select (opt)" [color="0.649 0.701 0.701"];
BufReadPost -> "project.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "gitsigns.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "indent-blankline.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "bufferline.nvim" [color="0.649 0.701 0.701"];
BufReadPost -> "nvim-scrollview" [color="0.649 0.701 0.701"];
BufReadPost -> "fidget.nvim" [color="0.649 0.701 0.701"];
"nvim-treesitter" -> "nvim-treesitter-textobjects" [color="0.649 0.701 0.701"];
"nvim-treesitter-textobjects" -> "nvim-ts-rainbow" [color="0.649 0.701 0.701"];
"nvim-ts-rainbow" -> "nvim-ts-context-commentstring" [color="0.649 0.701 0.701"];
"nvim-ts-context-commentstring" -> "nvim-ts-hint-textobject" [color="0.649 0.701 0.701"];
"nvim-ts-hint-textobject" -> "nvim-ts-autotag" [color="0.649 0.701 0.701"];
"nvim-ts-autotag" -> "vim-matchup" [color="0.649 0.701 0.701"];
"vim-matchup" -> "nvim-colorizer.lua" [color="0.649 0.701 0.701"];
"nvim-colorizer.lua" -> "tabout.nvim" [color="0.649 0.701 0.701"];
InsertEnter -> "nvim-cmp" [color="0.649 0.701 0.701"];
InsertEnter -> "vim-cool" [color="0.649 0.701 0.701"];
"lspkind.nvim" -> "nvim-cmp" [color="0.649 0.701 0.701" style="dashed"];
"LuaSnip" -> "cmp_luasnip" [color="0.649 0.701 0.701" style="dashed"];
"cmp-under-comparator" -> "nvim-cmp" [color="0.649 0.701 0.701" style="dashed"];
"cmp_luasnip" -> "cmp-nvim-lsp" [color="0.649 0.701 0.701" style="dashed"];
"cmp-nvim-lsp" -> "cmp-nvim-lua" [color="0.649 0.701 0.701" style="dashed"];
"cmp-nvim-lua" -> "cmp-tmux" [color="0.649 0.701 0.701" style="dashed"];
"cmp-tmux" -> "cmp-path" [color="0.649 0.701 0.701" style="dashed"];
"cmp-path" -> "cmp-spell" [color="0.649 0.701 0.701" style="dashed"];
"cmp-spell" -> "cmp-buffer" [color="0.649 0.701 0.701" style="dashed"];
"cmp-buffer" -> "cmp-latex-symbols" [color="0.649 0.701 0.701" style="dashed"];
"cmp-latex-symbols" -> "cmp-tabnine (opt)" [color="0.649 0.701 0.701" style="dashed"];
"cmp-tabnine (opt)" -> "nvim-cmp" [color="0.649 0.701 0.701" style="dashed"];
"friendly-snippets" -> "LuaSnip" [color="0.649 0.701 0.701" style="dashed"];
"nvim-cmp" -> "nvim-autopairs" [color="0.649 0.701 0.701"];
LspAttach -> "neodim" [color="0.649 0.701 0.701"];
"nvim-treesitter" -> "neodim" [color="0.649 0.701 0.701" style="dashed"];
"self-contained" -> "vim-easy-align" [color="0.649 0.701 0.701"];
"self-contained" -> "auto-session" [color="0.649 0.701 0.701"];
"self-contained" -> "nvim-dap" [color="0.649 0.701 0.701"];
"self-contained" -> "nord.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "edge" [color="0.649 0.701 0.701"];
"nvim-dap" -> "nvim-dap-ui" [color="0.649 0.701 0.701"];
"self-contained" -> "vim-fugitive" [color="0.649 0.701 0.701"];
"self-contained" -> "specs.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "diffview.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "vim-go" [color="0.649 0.701 0.701"];
"plenary.nvim" -> "rust-tools.nvim" [color="0.649 0.701 0.701" style="dashed"];
"self-contained" -> "rust-tools.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "orgmode.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "markdown-preview.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "csv.vim" [color="0.649 0.701 0.701"];
"self-contained" -> "plenary.nvim" [color="0.649 0.701 0.701"];
"plenary.nvim" -> "popup.nvim" [color="0.649 0.701 0.701"];
"nvim-web-devicons" -> "popup.nvim" [color="0.649 0.701 0.701"];
"popup.nvim" -> "telescope-undo.nvim" [color="0.649 0.701 0.701" style="dashed"];
"telescope-undo.nvim" -> "telescope.nvim" [color="0.649 0.701 0.701" style="dashed"];
"plenary.nvim" -> "telescope.nvim" [color="0.649 0.701 0.701" style="dashed"];
"telescope.nvim" -> "telescope-fzf-native.nvim" [color="0.649 0.701 0.701"];
"telescope-fzf-native.nvim" -> "telescope-frecency.nvim" [color="0.649 0.701 0.701"];
"sqlite.lua" -> "telescope-frecency.nvim" [color="0.649 0.701 0.701" style="dashed"];
"telescope-frecency.nvim" -> "telescope-zoxide" [color="0.649 0.701 0.701"];
"telescope-zoxide" -> "telescope-live-grep-args.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "sniprun" [color="0.649 0.701 0.701"];
"self-contained" -> "vim-startuptime" [color="0.649 0.701 0.701"];
"fzy-lua-native" -> "wilder.nvim" [color="0.649 0.701 0.701" style="dashed"];
"self-contained" -> "wilder.nvim" [color="0.649 0.701 0.701"];
"dressing.nvim" -> "legendary.nvim" [color="0.649 0.701 0.701" style="dashed"];
"sqlite.lua" -> "legendary.nvim" [color="0.649 0.701 0.701" style="dashed"];
"which-key.nvim" -> "legendary.nvim" [color="0.649 0.701 0.701" style="dashed"];
"self-contained" -> "legendary.nvim" [color="0.649 0.701 0.701"];
"self-contained" -> "nvim-tree.lua" [color="0.649 0.701 0.701"];
"self-contained" -> "trouble.nvim" [color="0.649 0.701 0.701"];
opt [color="0.650 0.200 1.000"];
start [color="0.650 0.200 1.000"];
"self-contained" [color="0.650 0.200 1.000"];
"efmls-configs-nvim" [color="0.650 0.200 1.000"];
"nvim-lspconfig" [color="0.408 0.498 1.000"];
"mason-lspconfig.nvim" [color="0.650 0.200 1.000"];
"mason-tool-installer.nvim" [color="0.650 0.200 1.000"];
"mason.nvim" [color="0.650 0.200 1.000"];
"nvim-comment" [color="0.650 0.200 1.000"];
"which-key.nvim" [color="0.650 0.200 1.000"];
"nvim-web-devicons" [color="0.650 0.200 1.000"];
"nord.nvim" [color="0.650 0.200 1.000"];
"edge" [color="0.650 0.200 1.000"];
"catppuccin" [color="0.650 0.200 1.000"];
"nvim-notify" [color="0.650 0.200 1.000"];
"lspsaga.nvim" [color="0.650 0.200 1.000"];
"lsp_signature.nvim" [color="0.650 0.200 1.000"];
"nvim-cmp" [color="0.650 0.200 1.000"];
"lspkind.nvim" [color="0.650 0.200 1.000"];
"cmp-under-comparator" [color="0.650 0.200 1.000"];
"LuaSnip" [color="0.650 0.200 1.000"];
"cmp_luasnip" [color="0.650 0.200 1.000"];
"cmp-nvim-lsp" [color="0.650 0.200 1.000"];
"cmp-nvim-lua" [color="0.650 0.200 1.000"];
"cmp-tmux" [color="0.650 0.200 1.000"];
"cmp-path" [color="0.650 0.200 1.000"];
"cmp-spell" [color="0.650 0.200 1.000"];
"cmp-buffer" [color="0.650 0.200 1.000"];
"cmp-tabnine (opt)" [color="0.650 0.200 1.000" shape=doubleoctagon];
"cmp-latex-symbols" [color="0.650 0.200 1.000"];
"friendly-snippets" [color="0.650 0.200 1.000"];
"nvim-autopairs" [color="0.650 0.200 1.000"];
"copilot.lua" [color="0.650 0.200 1.000"];
"copilot-cmp" [color="0.650 0.200 1.000"];
"vim-easy-align" [color="0.650 0.200 1.000"];
"vim-illuminate" [color="0.650 0.200 1.000"];
"nvim-treesitter" [color="0.650 0.200 1.000"];
"nvim-treesitter-textobjects" [color="0.650 0.200 1.000"];
"nvim-ts-rainbow" [color="0.650 0.200 1.000"];
"nvim-ts-context-commentstring" [color="0.650 0.200 1.000"];
"nvim-ts-hint-textobject" [color="0.650 0.200 1.000"];
"nvim-ts-autotag" [color="0.650 0.200 1.000"];
"vim-matchup" [color="0.650 0.200 1.000"];
"accelerated-jk.nvim" [color="0.650 0.200 1.000"];
"clever-f.vim" [color="0.650 0.200 1.000"];
"vim-cool" [color="0.650 0.200 1.000"];
"hop.nvim" [color="0.650 0.200 1.000"];
"neoscroll.nvim" [color="0.650 0.200 1.000"];
"toggleterm.nvim" [color="0.650 0.200 1.000"];
"nvim-colorizer.lua" [color="0.650 0.200 1.000"];
"auto-session" [color="0.650 0.200 1.000"];
"better-escape.nvim" [color="0.650 0.200 1.000"];
"nvim-dap" [color="0.650 0.200 1.000"];
"nvim-dap-ui" [color="0.650 0.200 1.000"];
"vim-fugitive" [color="0.650 0.200 1.000"];
"nvim-bufdel" [color="0.650 0.200 1.000"];
"specs.nvim" [color="0.650 0.200 1.000"];
"tabout.nvim" [color="0.650 0.200 1.000"];
"diffview.nvim" [color="0.650 0.200 1.000"];
"stabilize.nvim" [color="0.650 0.200 1.000"];
"smartyank.nvim" [color="0.650 0.200 1.000"];
"vim-im-select (opt)" [color="0.650 0.200 1.000" shape=doubleoctagon];
"vim-go" [color="0.650 0.200 1.000"];
"rust-tools.nvim" [color="0.650 0.200 1.000"];
"orgmode.nvim" [color="0.650 0.200 1.000"];
"markdown-preview.nvim" [color="0.650 0.200 1.000"];
"csv.vim" [color="0.650 0.200 1.000"];
"plenary.nvim" [color="0.650 0.200 1.000"];
"telescope.nvim" [color="0.650 0.200 1.000"];
"popup.nvim" [color="0.650 0.200 1.000"];
"telescope-undo.nvim" [color="0.650 0.200 1.000"];
"project.nvim" [color="0.650 0.200 1.000"];
"telescope-fzf-native.nvim" [color="0.650 0.200 1.000"];
"telescope-frecency.nvim" [color="0.650 0.200 1.000"];
"sqlite.lua" [color="0.650 0.200 1.000"];
"telescope-zoxide" [color="0.650 0.200 1.000"];
"telescope-live-grep-args.nvim" [color="0.650 0.200 1.000"];
"sniprun" [color="0.650 0.200 1.000"];
"trouble.nvim" [color="0.650 0.200 1.000"];
"vim-startuptime" [color="0.650 0.200 1.000"];
"wilder.nvim" [color="0.650 0.200 1.000"];
"legendary.nvim" [color="0.650 0.200 1.000"];
"dressing.nvim" [color="0.650 0.200 1.000"];
"neodim" [color="0.650 0.200 1.000"];
"lualine.nvim" [color="0.650 0.200 1.000"];
"alpha-nvim" [color="0.650 0.200 1.000"];
"nvim-tree.lua" [color="0.650 0.200 1.000"];
"gitsigns.nvim" [color="0.650 0.200 1.000"];
"indent-blankline.nvim" [color="0.650 0.200 1.000"];
"bufferline.nvim" [color="0.650 0.200 1.000"];
"nvim-scrollview" [color="0.650 0.200 1.000"];
"fidget.nvim" [color="0.650 0.200 1.000"];
"fzy-lua-native" [color="0.650 0.200 1.000"];
BufReadPre [color="0.590 0.273 1.000"];
BufWinEnter [color="0.590 0.273 1.000"];
BufReadPost [color="0.590 0.273 1.000"];
BufAdd [color="0.590 0.273 1.000"];
InsertEnter [color="0.590 0.273 1.000"];
VeryLazy [color="0.590 0.273 1.000"];
UIEnter [color="0.590 0.273 1.000"];
BufNewFile [color="0.590 0.273 1.000"];
LspAttach [color="0.590 0.273 1.000"];
}
Name | Effect |
---|---|
kyazdani42/nvim-web-devicons | Provide icons |
shaunsingh/nord.nvim | nord theme |
sainnhe/edge | My light/dark theme |
catppuccin/nvim | A soothing pastel dark theme |
zbirenbaum/neodim | Dimming the unused symbols |
rcarriga/nvim-notify | notify with animation |
hoob3rt/lualine.nvim | Minimal, fast but customizable line |
goolord/alpha-nvim | Dashboard for Neovim |
kyazdani42/nvim-tree.lua | Replacement of Nerdtree
|
lewis6991/gitsigns.nvim | Show git status in nvim |
lukas-reineke/indent-blankline.nvim | Show indent with different level |
akinsho/bufferline.nvim | Tab and buffer management |
dstein64/nvim-scrollview | scrollable scrollbar |
j-hui/fidget.nvim | Show lsp real-time status |
Name | Effect |
---|---|
nvim-lua/popup.nvim | Required by telescope.nvim
|
nvim-lua/plenary.nvim | Required by telescope.nvim
|
tami5/sqlite.lua | Required by telescope-frecency.nvim
|
nvim-telescope/telescope.nvim | Find, Filter, Preview, Pick |
debugloop/telescope-undo.nvim | Show undo history in telescope window |
ahmedkhalf/project.nvim | Manage projects |
nvim-telescope/telescope-fzf-native.nvim | Fzf search |
nvim-telescope/telescope-frecency.nvim | Frequent and recent file jump |
nvim-telescope/telescope-zoxide | Jump to directory recorded by zoxide
|
nvim-telescope/telescope-live-grep-args.nvim | Supprt args when using live_grep
|
michaelb/sniprun | Run code snippet quickly |
folke/trouble.nvim | Show code troubles etc |
dstein64/vim-startuptime | Profiling starup time quickly |
gelguy/wilder.nvim | More useful wild menu |
folke/which-key.nvim | Help you learn keybindings |
mrjones2014/legendary.nvim | VSCode-like command panel |
stevearc/dressing.nvim | Integrate legendary.nvim with telescope
|
Name | Effect |
---|---|
junegunn/vim-easy-align | Easy alignment |
RRethy/vim-illuminate | Highlight cursor word |
terrortylor/nvim-comment | Comment code quickly |
nvim-treesitter/nvim-treesitter | Super powerful code highlighter |
nvim-treesitter/nvim-treesitter-textobjects | Move between textobjects |
p00f/nvim-ts-rainbow | Rainbow brackets |
JoosepAlviste/nvim-ts-context-commentstring | Context comment |
mfussenegger/nvim-ts-hint-textobject | Select textobject like hop.nvim
|
windwp/nvim-ts-autotag | Faster vim-closetag
|
andymass/vim-matchup | Better matchup for %
|
rainbowhxch/accelerated-jk.nvim | Accelerated j /k
|
rhysd/clever-f.vim | Extended f, F, t and T key mappings for Vim. |
romainl/vim-cool | Auto clear highlight after search |
phaazon/hop.nvim |
easymotion 's replacement |
karb94/neoscroll.nvim | Smooth scroll |
akinsho/toggleterm.nvim | Toggled terminal |
norcalli/nvim-colorizer.lua | Display detected color |
rmagatti/auto-session | Session management |
max397574/better-escape.nvim | Replace esc with jk
|
mfussenegger/nvim-dap | Dap mode |
rcarriga/nvim-dap-ui | UI for dap mode |
tpope/vim-fugitive | Git operations inside neovim |
ojroques/nvim-bufdel | Close buffer gently with bufferline.nvim
|
edluffy/specs.nvim | Hint cursor place when jump multiple lines |
abecodes/tabout.nvim | Tabout between bracket |
sindrets/diffview.nvim | Git diff view |
luukvbaal/stabilize.nvim | Stabilize buffer content on window toggle events |
ibhagwan/smartyank.nvim | Provide tmux/OSC52 support |
Name | Effect |
---|---|
neovim/nvim-lspconfig | Neovim native LSP configuration |
creativenull/efmls-configs-nvim |
efm-langserver config set |
williamboman/mason.nvim | Package manager for LSP, DAP servers, linters and formatters |
williamboman/mason-lspconfig.nvim | Use lspconfig with mason.nvim |
WhoIsSethDaniel/mason-tool-installer.nvim | Install and upgrade third party tools automatically |
glepnir/lspsaga.nvim | Better lsp function |
ray-x/lsp_signature.nvim | Show signature when completing function parameters |
hrsh7th/nvim-cmp | Auto completion plugin for nvim |
onsails/lspkind.nvim | VSCode-like pictograms for completion items |
lukas-reineke/cmp-under-comparator | more underline completion for nvim-cmp
|
saadparwaiz1/cmp_luasnip | luasnip source for nvim-cmp
|
hrsh7th/cmp-nvim-lsp | lsp source for nvim-cmp
|
hrsh7th/cmp-nvim-lua | lua source for nvim-cmp
|
andersevenrud/cmp-tmux | tmux source for nvim-cmp
|
hrsh7th/cmp-path | path source for nvim-cmp
|
f3fora/cmp-spell | spell source for nvim-cmp
|
hrsh7th/cmp-buffer | buffer source for nvim-cmp
|
kdheepak/cmp-latex-symbols | latex symbols source for nvim-cmp
|
L3MON4D3/LuaSnip | snippets completion engine for nvim-cmp
|
rafamadriz/friendly-snippets | snippets source for LusSnip
|
windwp/nvim-autopairs | Completion pairs |
zbirenbaum/copilot.lua |
Copilot neovim port with pure lua implementation |
zbirenbaum/copilot-cmp |
Copilot source for nvim-cmp
|
Name | Effect |
---|---|
fatih/vim-go | Plugin for go |
simrat39/rust-tools.nvim | Plugin for rust |
iamcco/markdown-preview.nvim | Markdown-preview out of box |
chrisbra/csv.vim | Plugin for csv |