wrapNeovimUnstable: do not generate empty init.vim file (#404061)

This commit is contained in:
Gaétan Lepage
2025-06-28 19:49:31 +02:00
committed by GitHub
2 changed files with 16 additions and 1 deletions
@@ -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: {
+1 -1
View File
@@ -119,7 +119,7 @@ let
''
${luaRcContent}
''
+ lib.optionalString (neovimRcContent' != null) ''
+ lib.optionalString (neovimRcContent' != "") ''
vim.cmd.source "${writeText "init.vim" neovimRcContent'}"
''
+ lib.concatStringsSep "\n" luaPluginRC;