neovim.tests: add a check that init.vim is not build if not needed

This commit is contained in:
Lucas Hoffmann
2025-06-27 22:28:13 +02:00
parent 264855146c
commit 7102d2f9e2
@@ -260,6 +260,21 @@ pkgs.recurseIntoAttrs (rec {
[ "$result" = 0 ]
'';
# Generate a neovim wrapper with only a init.lua and no init.vim file
nvim_with_only_init_lua = wrapNeovim2 "-only-lua-init-file" {
luaRcContent = "-- some text";
};
# check that we do not generate an init.vim file if it is not needed
no_init_vim_file = runTest nvim_with_only_init_lua ''
${nvim_with_only_init_lua}/bin/nvim -i NONE -e --headless -c 'if len(getscriptinfo({"name":"init.vim"})) == 0 | quit | else | cquit | fi'
# This does now work because the lua file is sourced via loadfile() which
# does not add the file name to :scriptnames and getscriptinfo().
#${nvim_with_only_init_lua}/bin/nvim -i NONE -e --headless -c 'if len(getscriptinfo({"name":"init.lua"})) == 1 | quit | else | cquit | fi'
assertFileRegex ${nvim_with_only_init_lua}/bin/nvim 'VIMINIT=.*init.lua'
'';
# check that the vim-doc hook correctly generates the tag
# we know for a fact packer has a doc folder
checkForTags = vimPlugins.packer-nvim.overrideAttrs (oldAttrs: {