Compare commits
24 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
306a05526a | |
|
|
073727e794 | |
|
|
0f7c7982f0 | |
|
|
7930f2d06e | |
|
|
85c7ff3711 | |
|
|
5c09e6fe71 | |
|
|
e6a8824858 | |
|
|
dfdc85e189 | |
|
|
202d8e92b3 | |
|
|
f0f5bbb9e5 | |
|
|
ed4dc336a7 | |
|
|
e31789c675 | |
|
|
5b15bc9f49 | |
|
|
3c86e23658 | |
|
|
db067881ff | |
|
|
16e52715b7 | |
|
|
1ea3c40857 | |
|
|
9f559d0e9d | |
|
|
4ded3ff73b | |
|
|
46e59d838f | |
|
|
59334064f8 | |
|
|
a21b7bf2e7 | |
|
|
a1380a8461 | |
|
|
147f5a3f55 |
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
".": "11.17.1"
|
||||
".": "11.17.5"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
if: ${{ github.ref == 'refs/heads/main' && github.repository_owner == 'folke' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
- uses: folke/github/neovim@main
|
||||
- name: Rockspec Build
|
||||
id: rockspec-build
|
||||
uses: actions/cache@v4
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: build
|
||||
key: rockspec-build
|
||||
|
|
@ -22,7 +22,7 @@ jobs:
|
|||
run: |
|
||||
nvim -l lua/lazy/build.lua
|
||||
- name: Push changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
uses: stefanzweifel/git-auto-commit-action@v7
|
||||
with:
|
||||
commit_message: "chore(build): auto-generate rockspec mappings"
|
||||
commit_user_name: "github-actions[bot]"
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ jobs:
|
|||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: docs
|
||||
- name: Generate Docs
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
config:
|
||||
MD013: false
|
||||
MD033: false
|
||||
30
CHANGELOG.md
30
CHANGELOG.md
|
|
@ -1,5 +1,35 @@
|
|||
# Changelog
|
||||
|
||||
## [11.17.5](https://github.com/folke/lazy.nvim/compare/v11.17.4...v11.17.5) (2025-11-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **luarocks:** proper parsing of dependency name. Closes [#2086](https://github.com/folke/lazy.nvim/issues/2086) ([5c09e6f](https://github.com/folke/lazy.nvim/commit/5c09e6fe71f4bb930eeffe24d45762fa3ffada4e))
|
||||
|
||||
## [11.17.4](https://github.com/folke/lazy.nvim/compare/v11.17.3...v11.17.4) (2025-11-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **plugin:** proper error message when a plugin spec returns more than one value. ([dfdc85e](https://github.com/folke/lazy.nvim/commit/dfdc85e18930a3f1643e83c8ed0c514ca85e49fa))
|
||||
|
||||
## [11.17.3](https://github.com/folke/lazy.nvim/compare/v11.17.2...v11.17.3) (2025-10-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **luarocks:** update to lumen-oss for binaries. Closes [#2060](https://github.com/folke/lazy.nvim/issues/2060). Closes [#2059](https://github.com/folke/lazy.nvim/issues/2059) ([e31789c](https://github.com/folke/lazy.nvim/commit/e31789c675e2f591a20fc894b6713398eaa5dddd))
|
||||
|
||||
## [11.17.2](https://github.com/folke/lazy.nvim/compare/v11.17.1...v11.17.2) (2025-10-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **luarocks:** add plugin to lua path if it was already loaded before we know its a luarock ([147f5a3](https://github.com/folke/lazy.nvim/commit/147f5a3f55b5491bbc77a55ce846ef5eb575fa42))
|
||||
* **plugin:** check that path is actually in root dir. Closes [#2075](https://github.com/folke/lazy.nvim/issues/2075) ([16e5271](https://github.com/folke/lazy.nvim/commit/16e52715b70b4d0fc6af3563ccc0ed9df82ae23e))
|
||||
* **stats:** better support for different `time_t` sizes. See [#2049](https://github.com/folke/lazy.nvim/issues/2049) ([1ea3c40](https://github.com/folke/lazy.nvim/commit/1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1))
|
||||
|
||||
## [11.17.1](https://github.com/folke/lazy.nvim/compare/v11.17.0...v11.17.1) (2025-02-25)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -669,7 +669,7 @@ will be added to the plugin’s spec.
|
|||
rocks = {
|
||||
enabled = true,
|
||||
root = vim.fn.stdpath("data") .. "/lazy-rocks",
|
||||
server = "https://nvim-neorocks.github.io/rocks-binaries/",
|
||||
server = "https://lumen-oss.github.io/rocks-binaries/",
|
||||
-- use hererocks to install luarocks?
|
||||
-- set to `nil` to use hererocks when luarocks is not found
|
||||
-- set to `true` to always use hererocks
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ local Util = require("lazy.util")
|
|||
local M = {}
|
||||
|
||||
M.patterns = { "nvim", "treesitter", "tree-sitter", "cmp", "neo" }
|
||||
local manifest_file = "build/manifest.lua"
|
||||
|
||||
function M.fetch(url, file, prefix)
|
||||
if not vim.uv.fs_stat(file) then
|
||||
|
|
@ -19,11 +20,46 @@ function M.fetch(url, file, prefix)
|
|||
end
|
||||
end
|
||||
|
||||
function M.split()
|
||||
local lines = vim.fn.readfile(manifest_file)
|
||||
local id = 0
|
||||
local files = {} ---@type string[]
|
||||
while #lines > 0 do
|
||||
id = id + 1
|
||||
local part_file = "build/manifest-part-" .. id .. ".lua"
|
||||
local idx = math.min(#lines, 30000)
|
||||
while idx < #lines and not lines[idx]:match("^ },$") do
|
||||
idx = idx + 1
|
||||
end
|
||||
local part_lines = vim.list_slice(lines, 1, idx)
|
||||
if idx ~= #lines then
|
||||
part_lines[#part_lines] = " }}"
|
||||
end
|
||||
vim.fn.writefile(part_lines, part_file)
|
||||
files[#files + 1] = part_file
|
||||
print("Wrote " .. part_file .. "\n")
|
||||
|
||||
lines = vim.list_slice(lines, idx + 1)
|
||||
if #lines == 0 then
|
||||
break
|
||||
end
|
||||
lines[1] = "repository = { " .. lines[1]
|
||||
end
|
||||
return files
|
||||
end
|
||||
|
||||
---@return RockManifest?
|
||||
function M.fetch_manifest()
|
||||
local manifest_file = "build/manifest.lua"
|
||||
M.fetch("https://luarocks.org/manifest-5.1", manifest_file)
|
||||
return Rocks.parse(manifest_file)
|
||||
local ret = { repository = {} }
|
||||
for _, file in ipairs(M.split()) do
|
||||
local part = Rocks.parse(file)
|
||||
print(vim.tbl_count(part.repository or {}) .. " rocks in " .. file .. "\n")
|
||||
for k, v in pairs(part.repository or {}) do
|
||||
ret.repository[k] = v
|
||||
end
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
function M.fetch_rockspec(name, version, prefix)
|
||||
|
|
@ -37,6 +73,7 @@ function M.build()
|
|||
local manifest = M.fetch_manifest() or {}
|
||||
---@type {name:string, version:string, url:string}[]
|
||||
local nvim_rocks = {}
|
||||
print(vim.tbl_count(manifest.repository or {}) .. " rocks in manifest\n")
|
||||
for rock, vv in pairs(manifest.repository or {}) do
|
||||
local matches = false
|
||||
for _, pattern in ipairs(M.patterns) do
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -59,7 +59,7 @@ M.defaults = {
|
|||
rocks = {
|
||||
enabled = true,
|
||||
root = vim.fn.stdpath("data") .. "/lazy-rocks",
|
||||
server = "https://nvim-neorocks.github.io/rocks-binaries/",
|
||||
server = "https://lumen-oss.github.io/rocks-binaries/",
|
||||
-- use hererocks to install luarocks?
|
||||
-- set to `nil` to use hererocks when luarocks is not found
|
||||
-- set to `true` to always use hererocks
|
||||
|
|
@ -242,7 +242,7 @@ function M.hererocks()
|
|||
return M.options.rocks.hererocks
|
||||
end
|
||||
|
||||
M.version = "11.17.1" -- x-release-please-version
|
||||
M.version = "11.17.5" -- x-release-please-version
|
||||
|
||||
M.ns = vim.api.nvim_create_namespace("lazy")
|
||||
|
||||
|
|
|
|||
|
|
@ -156,7 +156,11 @@ function Spec:import(spec)
|
|||
load = function()
|
||||
local mod, err = loadfile(modpath)
|
||||
if mod then
|
||||
return mod()
|
||||
local ret, foo = mod()
|
||||
if foo then
|
||||
return nil, "Spec module returned more than one value. Expected a single value."
|
||||
end
|
||||
return ret
|
||||
else
|
||||
return nil, err
|
||||
end
|
||||
|
|
@ -240,7 +244,7 @@ function M.update_state()
|
|||
if plugin.virtual then
|
||||
plugin._.is_local = true
|
||||
plugin._.installed = true -- local plugins are managed by the user
|
||||
elseif plugin.dir:find(Config.options.root, 1, true) == 1 then
|
||||
elseif plugin.dir:find(Config.options.root .. "/", 1, true) == 1 then
|
||||
plugin._.installed = installed[plugin.name] ~= nil
|
||||
installed[plugin.name] = nil
|
||||
else
|
||||
|
|
|
|||
|
|
@ -61,7 +61,11 @@ end
|
|||
---@return string
|
||||
function M.extract(file, pattern)
|
||||
local init = Util.read_file(file)
|
||||
return assert(init:match(pattern))
|
||||
local ret = assert(init:match(pattern)) --[[@as string]]
|
||||
local lines = vim.tbl_filter(function(line)
|
||||
return not line:find("^%s*%-%-%s*stylua%s*:%s*ignore%s*$")
|
||||
end, vim.split(ret, "\n"))
|
||||
return table.concat(lines, "\n")
|
||||
end
|
||||
|
||||
---@return ReadmeBlock
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ M.clean = {
|
|||
run = function(self, opts)
|
||||
opts = opts or {}
|
||||
local dir = self.plugin.dir:gsub("/+$", "")
|
||||
assert(dir:find(Config.options.root, 1, true) == 1, self.plugin.dir .. " should be under packpath!")
|
||||
assert(dir:find(Config.options.root .. "/", 1, true) == 1, self.plugin.dir .. " should be under packpath!")
|
||||
|
||||
local rock_root = Config.options.rocks.root .. "/" .. self.plugin.name
|
||||
if vim.uv.fs_stat(rock_root) then
|
||||
|
|
|
|||
|
|
@ -33,11 +33,14 @@ function M.setup(opts)
|
|||
local args = {}
|
||||
local is_busted = false
|
||||
local is_minitest = false
|
||||
local offline = vim.env.LAZY_OFFLINE == "1" or vim.env.LAZY_OFFLINE == "true"
|
||||
for _, a in ipairs(_G.arg) do
|
||||
if a == "--busted" then
|
||||
is_busted = true
|
||||
elseif a == "--minitest" then
|
||||
is_minitest = true
|
||||
elseif a == "--offline" then
|
||||
offline = true
|
||||
else
|
||||
table.insert(args, a)
|
||||
end
|
||||
|
|
@ -62,7 +65,9 @@ function M.setup(opts)
|
|||
if vim.g.colors_name == nil then
|
||||
vim.cmd("colorscheme habamax")
|
||||
end
|
||||
require("lazy").update():wait()
|
||||
if not offline then
|
||||
require("lazy").update():wait()
|
||||
end
|
||||
if vim.bo.filetype == "lazy" then
|
||||
local errors = false
|
||||
for _, plugin in pairs(require("lazy.core.config").spec.plugins) do
|
||||
|
|
@ -150,7 +155,7 @@ function M.minitest.setup(opts)
|
|||
opts = {
|
||||
collect = {
|
||||
find_files = function()
|
||||
return vim.fn.globpath("tests", "**/*_spec.lua", true, true)
|
||||
return #_G.arg > 0 and _G.arg or vim.fn.globpath("tests", "**/*_spec.lua", true, true)
|
||||
end,
|
||||
},
|
||||
-- script_path = "tests/minit.lua",
|
||||
|
|
|
|||
|
|
@ -63,6 +63,9 @@ function M.update()
|
|||
pkg.spec = { _raw = spec.code }
|
||||
end
|
||||
table.insert(ret.pkgs, pkg)
|
||||
if not plugin._.pkg and plugin._.loaded and pkg.source == "rockspec" then
|
||||
require("lazy.core.loader").add_to_luapath(plugin)
|
||||
end
|
||||
break
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -285,7 +285,10 @@ function M.get(plugin)
|
|||
|
||||
---@param dep string
|
||||
local rocks = vim.tbl_filter(function(dep)
|
||||
local name = dep:gsub("%s.*", "")
|
||||
local name = dep:match("^%s*([^~><=%s]+)")
|
||||
if not name then
|
||||
return false
|
||||
end
|
||||
local url = Community.get_url(name)
|
||||
local spec = Community.get_spec(name)
|
||||
|
||||
|
|
|
|||
|
|
@ -35,11 +35,10 @@ function M.cputime()
|
|||
if M.C == nil then
|
||||
pcall(function()
|
||||
ffi.cdef([[
|
||||
typedef long time_t;
|
||||
typedef int clockid_t;
|
||||
typedef struct timespec {
|
||||
time_t tv_sec; /* seconds */
|
||||
long tv_nsec; /* nanoseconds */
|
||||
int64_t tv_sec; /* Use fixed 64-bit type for portability */
|
||||
long tv_nsec; /* nanoseconds */
|
||||
} nanotime;
|
||||
int clock_gettime(clockid_t clk_id, struct timespec *tp);
|
||||
]])
|
||||
|
|
@ -48,7 +47,8 @@ function M.cputime()
|
|||
end
|
||||
|
||||
local function real()
|
||||
local pnano = assert(ffi.new("nanotime[?]", 1))
|
||||
-- Zero-initialize to handle 32-bit systems where only lower 32 bits are written
|
||||
local pnano = ffi.new("nanotime[1]")
|
||||
local CLOCK_PROCESS_CPUTIME_ID = jit.os == "OSX" and 12 or 2
|
||||
ffi.C.clock_gettime(CLOCK_PROCESS_CPUTIME_ID, pnano)
|
||||
return tonumber(pnano[0].tv_sec) * 1e3 + tonumber(pnano[0].tv_nsec) / 1e6
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/env bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
nvim -l tests/minit.lua --minitest
|
||||
nvim -l tests/minit.lua --minitest "$@"
|
||||
|
|
|
|||
21
vim.toml
21
vim.toml
|
|
@ -1,21 +0,0 @@
|
|||
[selene]
|
||||
base = "lua51"
|
||||
name = "vim"
|
||||
|
||||
[vim]
|
||||
any = true
|
||||
|
||||
[jit]
|
||||
any = true
|
||||
|
||||
[assert]
|
||||
any = true
|
||||
|
||||
[describe]
|
||||
any = true
|
||||
|
||||
[it]
|
||||
any = true
|
||||
|
||||
[before_each.args]
|
||||
any = true
|
||||
Loading…
Reference in New Issue