diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index 26b5dc52be6f..4d1ed177c1c4 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -105,6 +105,7 @@ luv,,,,1.48.0-2,, lush.nvim,,,https://luarocks.org/dev,,,teto lyaml,,,,,,lblasc lz.n,,,,,,mrcjkb +lze,,,,,,birdee lzn-auto-require,,,,,,mrcjkb magick,,,,,5.1,donovanglover markdown,,,,,, diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index ecca61f46151..22e483a42941 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -1056,6 +1056,8 @@ lz-n = neovimUtils.buildNeovimPlugin { luaAttr = "lz-n"; }; + lze = neovimUtils.buildNeovimPlugin { luaAttr = "lze"; }; + lzn-auto-require = neovimUtils.buildNeovimPlugin { luaAttr = "lzn-auto-require"; }; magma-nvim-goose = buildVimPlugin { diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index d92aa05f4b7c..5a6d1b98ae0f 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -2512,6 +2512,29 @@ buildLuarocksPackage { }; }) {}; +lze = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }: +buildLuarocksPackage { + pname = "lze"; + version = "0.1.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lze-0.1.1-1.rockspec"; + sha256 = "0rih9kgx846qhp1fmsqlnp8y08kv4hp8gl9dwykz4zr0zljy94j3"; + }).outPath; + src = fetchzip { + url = "https://github.com/BirdeeHub/lze/archive/v0.1.1.zip"; + sha256 = "1s6n61jabsv94s37xd5g0y7fxhficc4rwsklgsmzajravpgy60a8"; + }; + + disabled = luaOlder "5.1"; + + meta = { + homepage = "https://github.com/BirdeeHub/lze"; + description = "A lazy-loading library for neovim, inspired by, but different from, nvim-neorocks/lz.n"; + maintainers = with lib.maintainers; [ birdee ]; + license.fullName = "GPL-2+"; + }; +}) {}; + lzn-auto-require = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, lz-n }: buildLuarocksPackage { pname = "lzn-auto-require"; diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index fb8a483495ed..bee4f2dd131d 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -543,6 +543,17 @@ in ''; }); + lze = prev.lze.overrideAttrs(oa: { + doCheck = lua.luaversion == "5.1"; + nativeCheckInputs = [ final.nlua final.busted ]; + checkPhase = '' + runHook preCheck + export HOME=$(mktemp -d) + busted --lua=nlua + runHook postCheck + ''; + }); + neotest = prev.neotest.overrideAttrs(oa: { doCheck = true; nativeCheckInputs = oa.nativeCheckInputs ++ [