Problem: plenary.nvim is deprecated. The test suite depends on plenary's async test runner and coroutine-based utilities, tying the project to an unmaintained dependency. CI also tests against Neovim 0.8-0.11, which are no longer relevant. Solution: replace plenary with busted + nlua (nvim -l). Convert all async test patterns (a.wrap, a.util.sleep, a.util.scheduler) to synchronous equivalents using vim.wait. Rename tests/ to spec/ to follow busted convention. Replace the CI test matrix with nvim-busted-action targeting stable/nightly only. Add .busted config, luarocks test_dependencies, and update the nix devshell.
33 lines
734 B
Nix
33 lines
734 B
Nix
{
|
|
description = "oil.nvim — Neovim file explorer: edit your filesystem like a buffer";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
systems.url = "github:nix-systems/default";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
nixpkgs,
|
|
systems,
|
|
...
|
|
}:
|
|
let
|
|
forEachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
|
in
|
|
{
|
|
devShells = forEachSystem (pkgs: {
|
|
default = pkgs.mkShell {
|
|
packages = [
|
|
pkgs.prettier
|
|
pkgs.stylua
|
|
pkgs.selene
|
|
(pkgs.luajit.withPackages (ps: [
|
|
ps.busted
|
|
ps.nlua
|
|
]))
|
|
];
|
|
};
|
|
});
|
|
};
|
|
}
|