mirror of
https://github.com/folke/lazy.nvim.git
synced 2025-06-28 11:24:14 +00:00
Merge branch 'folke:main' into otherPossibility
This commit is contained in:
commit
c7559279d2
8 changed files with 33 additions and 20 deletions
10
README.md
10
README.md
|
@ -320,7 +320,7 @@ return {
|
|||
filter = true,
|
||||
},
|
||||
dev = {
|
||||
-- directory where you store your local plugin projects
|
||||
---@type string | fun(plugin: LazyPlugin): string directory where you store your local plugin projects
|
||||
path = "~/projects",
|
||||
---@type string[] plugins that match these patterns will use your local versions instead of being fetched from GitHub
|
||||
patterns = {}, -- For example {"folke"}
|
||||
|
@ -666,7 +666,7 @@ In practice this means that step 10 of [Neovim Initialization](https://neovim.io
|
|||
|
||||
1. All the plugins' `init()` functions are executed
|
||||
2. All plugins with `lazy=false` are loaded. This includes sourcing `/plugin` and `/ftdetect` files. (`/after` will not be sourced yet)
|
||||
3. All files from `/plugin` and `/ftdetect` directories in you rtp are sourced (excluding `/after`)
|
||||
3. All files from `/plugin` and `/ftdetect` directories in your rtp are sourced (excluding `/after`)
|
||||
4. All `/after/plugin` files are sourced (this includes `/after` from plugins)
|
||||
|
||||
Files from runtime directories are always sourced in alphabetical order.
|
||||
|
@ -750,8 +750,8 @@ Any other property will override the property from the parent spec.
|
|||
- `lock` ➡️ `pin`
|
||||
- `disable=true` ➡️ `enabled = false`
|
||||
- `tag='*'` ➡️ `version="*"`
|
||||
- `after` ℹ️ **_not needed_** for most use-cases. Use `dependencies` otherwise.
|
||||
- `wants` ℹ️ **_not needed_** for most use-cases. Use `dependencies` otherwise.
|
||||
- `after` is **_not needed_** for most use-cases. Use `dependencies` otherwise.
|
||||
- `wants` is **_not needed_** for most use-cases. Use `dependencies` otherwise.
|
||||
- `config` don't support string type, use `fun(LazyPlugin)` instead.
|
||||
- `module` is auto-loaded. No need to specify
|
||||
- `keys` spec is [different](#%EF%B8%8F-lazy-key-mappings)
|
||||
|
@ -836,7 +836,7 @@ To uninstall **lazy.nvim**, you need to remove the following files and directori
|
|||
If your plugin needs a build step, you can create a file `build.lua` or `build/init.lua`
|
||||
in the root of your repo. This file will be loaded when the plugin is installed or updated.
|
||||
|
||||
This makes it easier for users, so they no longer need to specify a `build` command.
|
||||
This makes it easier for users, as they no longer need to specify a `build` command.
|
||||
|
||||
## 📦 Other Neovim Plugin Managers in Lua
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
*lazy.nvim.txt* For Neovim >= 0.8.0 Last change: 2023 November 04
|
||||
*lazy.nvim.txt* For Neovim >= 0.8.0 Last change: 2024 January 20
|
||||
|
||||
==============================================================================
|
||||
Table of Contents *lazy.nvim-table-of-contents*
|
||||
|
@ -423,7 +423,7 @@ CONFIGURATION *lazy.nvim-lazy.nvim-configuration*
|
|||
filter = true,
|
||||
},
|
||||
dev = {
|
||||
-- directory where you store your local plugin projects
|
||||
---@type string | fun(plugin: LazyPlugin): string directory where you store your local plugin projects
|
||||
path = "~/projects",
|
||||
---@type string[] plugins that match these patterns will use your local versions instead of being fetched from GitHub
|
||||
patterns = {}, -- For example {"folke"}
|
||||
|
@ -768,7 +768,7 @@ In practice this means that step 10 of |Neovim Initialization| is done by Lazy:
|
|||
|
||||
1. All the plugins’ `init()` functions are executed
|
||||
2. All plugins with `lazy=false` are loaded. This includes sourcing `/plugin` and `/ftdetect` files. (`/after` will not be sourced yet)
|
||||
3. All files from `/plugin` and `/ftdetect` directories in you rtp are sourced (excluding `/after`)
|
||||
3. All files from `/plugin` and `/ftdetect` directories in your rtp are sourced (excluding `/after`)
|
||||
4. All `/after/plugin` files are sourced (this includes `/after` from plugins)
|
||||
|
||||
Files from runtime directories are always sourced in alphabetical order.
|
||||
|
@ -859,8 +859,8 @@ PACKER.NVIM ~
|
|||
- `lock` `pin`
|
||||
- `disable=true` `enabled = false`
|
||||
- `tag='*'` `version="*"`
|
||||
- `after` **not needed** for most use-cases. Use `dependencies` otherwise.
|
||||
- `wants` **not needed** for most use-cases. Use `dependencies` otherwise.
|
||||
- `after` is **not needed** for most use-cases. Use `dependencies` otherwise.
|
||||
- `wants` is **not needed** for most use-cases. Use `dependencies` otherwise.
|
||||
- `config` don’t support string type, use `fun(LazyPlugin)` instead.
|
||||
- `module` is auto-loaded. No need to specify
|
||||
- `keys` spec is |lazy.nvim-different|
|
||||
|
@ -979,7 +979,7 @@ If your plugin needs a build step, you can create a file `build.lua` or
|
|||
`build/init.lua` in the root of your repo. This file will be loaded when the
|
||||
plugin is installed or updated.
|
||||
|
||||
This makes it easier for users, so they no longer need to specify a `build`
|
||||
This makes it easier for users, as they no longer need to specify a `build`
|
||||
command.
|
||||
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ M.defaults = {
|
|||
filter = true,
|
||||
},
|
||||
dev = {
|
||||
-- directory where you store your local plugin projects
|
||||
---@type string | fun(plugin: LazyPlugin): string directory where you store your local plugin projects
|
||||
path = "~/projects",
|
||||
---@type string[] plugins that match these patterns will use your local versions instead of being fetched from GitHub
|
||||
patterns = {}, -- For example {"folke"}
|
||||
|
@ -225,7 +225,9 @@ function M.setup(opts)
|
|||
table.insert(M.options.install.colorscheme, "habamax")
|
||||
|
||||
M.options.root = Util.norm(M.options.root)
|
||||
M.options.dev.path = Util.norm(M.options.dev.path)
|
||||
if type(M.options.dev.path) == "string" then
|
||||
M.options.dev.path = Util.norm(M.options.dev.path)
|
||||
end
|
||||
M.options.lockfile = Util.norm(M.options.lockfile)
|
||||
M.options.readme.root = Util.norm(M.options.readme.root)
|
||||
|
||||
|
|
|
@ -41,6 +41,11 @@ function M.parse(value, mode)
|
|||
ret.mode = mode or "n"
|
||||
ret.id = vim.api.nvim_replace_termcodes(ret.lhs, true, true, true)
|
||||
|
||||
if ret.ft then
|
||||
local ft = type(ret.ft) == "string" and { ret.ft } or ret.ft --[[@as string[] ]]
|
||||
ret.id = ret.id .. " (" .. table.concat(ft, ", ") .. ")"
|
||||
end
|
||||
|
||||
if ret.mode ~= "n" then
|
||||
ret.id = ret.id .. " (" .. ret.mode .. ")"
|
||||
end
|
||||
|
|
|
@ -106,11 +106,16 @@ function Spec:add(plugin, results)
|
|||
end
|
||||
|
||||
-- dev plugins
|
||||
if
|
||||
plugin.dev
|
||||
and (not Config.options.dev.fallback or vim.fn.isdirectory(Config.options.dev.path .. "/" .. plugin.name) == 1)
|
||||
then
|
||||
dir = Config.options.dev.path .. "/" .. plugin.name
|
||||
if plugin.dev then
|
||||
local dir_dev
|
||||
if type(Config.options.dev.path) == "string" then
|
||||
dir_dev = Config.options.dev.path .. "/" .. plugin.name
|
||||
else
|
||||
dir_dev = Util.norm(Config.options.dev.path(plugin))
|
||||
end
|
||||
if not Config.options.dev.fallback or vim.fn.isdirectory(dir_dev) == 1 then
|
||||
dir = dir_dev
|
||||
end
|
||||
elseif plugin.dev == false then
|
||||
-- explicitely select the default path
|
||||
dir = Config.options.root .. "/" .. plugin.name
|
||||
|
|
|
@ -131,6 +131,7 @@ M.valid = {
|
|||
"opts",
|
||||
"pin",
|
||||
"priority",
|
||||
"submodules",
|
||||
"tag",
|
||||
"url",
|
||||
"version",
|
||||
|
|
|
@ -217,7 +217,7 @@ function M.get_config(repo)
|
|||
current_section = section:gsub('%s+"', "."):gsub('"+%s*$', "")
|
||||
else
|
||||
-- Ignore comments and blank lines
|
||||
if not line:match("^%s*#") and line:match("%S") then
|
||||
if not line:match("^%s*[#;]") and line:match("%S") then
|
||||
local key, value = line:match("^%s*(%S+)%s*=%s*(.+)%s*$")
|
||||
ret[current_section .. "." .. key] = value
|
||||
end
|
||||
|
|
|
@ -13,7 +13,7 @@ M.clean = {
|
|||
assert(dir:find(Config.options.root, 1, true) == 1, self.plugin.dir .. " should be under packpath!")
|
||||
|
||||
local stat = vim.loop.fs_lstat(dir)
|
||||
assert(stat.type == "directory", self.plugin.dir .. " should be a directory!")
|
||||
assert(stat and stat.type == "directory", self.plugin.dir .. " should be a directory!")
|
||||
|
||||
Util.walk(dir, function(path, _, type)
|
||||
if type == "directory" then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue