docs: updated docs. Fixes #667

This commit is contained in:
Folke Lemaitre 2023-03-18 08:57:20 +01:00
parent f4d53dc18a
commit 67cc8dc07c
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
2 changed files with 66 additions and 79 deletions

View File

@ -80,7 +80,7 @@ require("lazy").setup({
## 🔌 Plugin Spec ## 🔌 Plugin Spec
| Property | Type | Description | | Property | Type | Description |
| ---------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ---------------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `[1]` | `string?` | Short plugin url. Will be expanded using `config.git.url_format` | | `[1]` | `string?` | Short plugin url. Will be expanded using `config.git.url_format` |
| **dir** | `string?` | A directory pointing to a local plugin | | **dir** | `string?` | A directory pointing to a local plugin |
| **url** | `string?` | A custom git url where the plugin is hosted | | **url** | `string?` | A custom git url where the plugin is hosted |
@ -92,7 +92,8 @@ require("lazy").setup({
| **dependencies** | `LazySpec[]` | A list of plugin names or plugin specs that should be loaded when the plugin loads. Dependencies are always lazy-loaded unless specified otherwise. When specifying a name, make sure the plugin spec has been defined somewhere else. | | **dependencies** | `LazySpec[]` | A list of plugin names or plugin specs that should be loaded when the plugin loads. Dependencies are always lazy-loaded unless specified otherwise. When specifying a name, make sure the plugin spec has been defined somewhere else. |
| **init** | `fun(LazyPlugin)` | `init` functions are always executed during startup | | **init** | `fun(LazyPlugin)` | `init` functions are always executed during startup |
| **opts** | `table` or `fun(LazyPlugin, opts:table)` | `opts` should be a table (will be merged with parent specs), return a table (replaces parent specs) or should change a table. The table will be passed to the `Plugin.config()` function. Setting this value will imply `Plugin.config()` | | **opts** | `table` or `fun(LazyPlugin, opts:table)` | `opts` should be a table (will be merged with parent specs), return a table (replaces parent specs) or should change a table. The table will be passed to the `Plugin.config()` function. Setting this value will imply `Plugin.config()` |
| **config** | `fun(LazyPlugin, opts:table)` or `true` | `config` is executed when the plugin loads. The default implementation will automatically run `require("plugin").setup(opts)`. `"plugin"` will default to `name` if specified, otherwise `lazy.nvim` will do its best to guess the correct plugin name. See also `opts`. To use the default implementation without `opts` set `config` to `true`. | | **config** | `fun(LazyPlugin, opts:table)` or `true` | `config` is executed when the plugin loads. The default implementation will automatically run `require(MAIN).setup(opts)`. Lazy uses several heuristics to determine the plugin's `MAIN` module automatically based on the plugin's **name**. See also `opts`. To use the default implementation without `opts` set `config` to `true`. |
| **main** | `string?` | You can specify the `main` module to use for `config()` and `opts()`, in case it can not be determined automatically. See `config()` |
| **build** | `fun(LazyPlugin)` or `string` or a list of build commands | `build` is executed when a plugin is installed or updated. If it's a string it will be ran as a shell command. When prefixed with `:` it is a Neovim command. You can also specify a list to executed multiple build commands | | **build** | `fun(LazyPlugin)` or `string` or a list of build commands | `build` is executed when a plugin is installed or updated. If it's a string it will be ran as a shell command. When prefixed with `:` it is a Neovim command. You can also specify a list to executed multiple build commands |
| **branch** | `string?` | Branch of the repository | | **branch** | `string?` | Branch of the repository |
| **tag** | `string?` | Tag of the repository | | **tag** | `string?` | Tag of the repository |
@ -213,30 +214,22 @@ return {
"nvim-neorg/neorg", "nvim-neorg/neorg",
-- lazy-load on filetype -- lazy-load on filetype
ft = "norg", ft = "norg",
-- custom config that will be executed when loading the plugin -- options for neorg. This will automatically call `require("neorg").setup(opts)`
config = function() opts = {
require("neorg").setup() load = {
end, ["core.defaults"] = {},
}, },
-- the above could also be written as:
{
"nvim-neorg/neorg",
ft = "norg",
config = true, -- run require("neorg").setup()
}, },
-- or set custom options:
{
"nvim-neorg/neorg",
ft = "norg",
opts = { foo = "bar" }, -- run require("neorg").setup({foo = "bar"})
}, },
{ {
"dstein64/vim-startuptime", "dstein64/vim-startuptime",
-- lazy-load on a command -- lazy-load on a command
cmd = "StartupTime", cmd = "StartupTime",
-- init is called during startup. Configuration for vim plugins typically should be set in an init function
init = function()
vim.g.startuptime_tries = 10
end,
}, },
{ {
@ -254,19 +247,20 @@ return {
end, end,
}, },
-- if some code requires a module from an unloaded plugin, it will be automatically loaded.
-- So for api plugins like devicons, we can always set lazy=true
{ "nvim-tree/nvim-web-devicons", lazy = true },
-- you can use the VeryLazy event for things that can -- you can use the VeryLazy event for things that can
-- load later and are not important for the initial UI -- load later and are not important for the initial UI
{ "stevearc/dressing.nvim", event = "VeryLazy" }, { "stevearc/dressing.nvim", event = "VeryLazy" },
{ {
"cshuaimin/ssr.nvim", "Wansmer/treesj",
-- init is always executed during startup, but doesn't load the plugin yet. keys = {
init = function() { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" },
vim.keymap.set({ "n", "x" }, "<leader>cR", function() },
-- this require will automatically load the plugin opts = { use_default_keymaps = false, max_join_length = 150 },
require("ssr").open()
end, { desc = "Structural Replace" })
end,
}, },
{ {

View File

@ -18,30 +18,22 @@ return {
"nvim-neorg/neorg", "nvim-neorg/neorg",
-- lazy-load on filetype -- lazy-load on filetype
ft = "norg", ft = "norg",
-- custom config that will be executed when loading the plugin -- options for neorg. This will automatically call `require("neorg").setup(opts)`
config = function() opts = {
require("neorg").setup() load = {
end, ["core.defaults"] = {},
}, },
-- the above could also be written as:
{
"nvim-neorg/neorg",
ft = "norg",
config = true, -- run require("neorg").setup()
}, },
-- or set custom options:
{
"nvim-neorg/neorg",
ft = "norg",
opts = { foo = "bar" }, -- run require("neorg").setup({foo = "bar"})
}, },
{ {
"dstein64/vim-startuptime", "dstein64/vim-startuptime",
-- lazy-load on a command -- lazy-load on a command
cmd = "StartupTime", cmd = "StartupTime",
-- init is called during startup. Configuration for vim plugins typically should be set in an init function
init = function()
vim.g.startuptime_tries = 10
end,
}, },
{ {
@ -59,19 +51,20 @@ return {
end, end,
}, },
-- if some code requires a module from an unloaded plugin, it will be automatically loaded.
-- So for api plugins like devicons, we can always set lazy=true
{ "nvim-tree/nvim-web-devicons", lazy = true },
-- you can use the VeryLazy event for things that can -- you can use the VeryLazy event for things that can
-- load later and are not important for the initial UI -- load later and are not important for the initial UI
{ "stevearc/dressing.nvim", event = "VeryLazy" }, { "stevearc/dressing.nvim", event = "VeryLazy" },
{ {
"cshuaimin/ssr.nvim", "Wansmer/treesj",
-- init is always executed during startup, but doesn't load the plugin yet. keys = {
init = function() { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" },
vim.keymap.set({ "n", "x" }, "<leader>cR", function() },
-- this require will automatically load the plugin opts = { use_default_keymaps = false, max_join_length = 150 },
require("ssr").open()
end, { desc = "Structural Replace" })
end,
}, },
{ {