fix: ensure newline after vim.cmd[[source...]] in neovim init.lua (#7219)

Fix an issue where the generated ~/.config/nvim/init.lua lacks a newline after the vim.cmd [[source ...]] directive. Without this newline, subsequent lua configuration is concatenated onto the same line, breaking lua syntax.

init.lua Before:

vim.cmd [[source /nix/store/...]]vim.opt.rtp:prepend(...)

After:

vim.cmd [[source /nix/store/...]]
vim.opt.rtp:prepend(...)
This commit is contained in:
Evgeny Zislis 2025-06-09 23:10:54 +03:00 committed by GitHub
parent 74d196c994
commit 1df816c407
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 1 deletions

View file

@ -472,7 +472,7 @@ in
luaRcContent =
lib.optionalString (
wrappedNeovim'.initRc != ""
) "vim.cmd [[source ${pkgs.writeText "nvim-init-home-manager.vim" wrappedNeovim'.initRc}]]"
) "vim.cmd [[source ${pkgs.writeText "nvim-init-home-manager.vim" wrappedNeovim'.initRc}]]\n"
+ config.programs.neovim.extraLuaConfig
+ lib.optionalString hasLuaConfig config.programs.neovim.generatedConfigs.lua;
in

View file

@ -0,0 +1,3 @@
vim.cmd [[source /nix/store/szdyh45rf0rgiq35zgy5b3z99f8lx8f2-nvim-init-home-manager.vim]]
function HM_PLUGIN_LUA_CONFIG ()
end

View file

@ -20,6 +20,14 @@ lib.mkIf config.test.enableBig {
let g:hmPlugins='HM_PLUGINS_CONFIG'
'';
}
{
plugin = vim-nix;
type = "lua";
config = ''
function HM_PLUGIN_LUA_CONFIG ()
end
'';
}
];
extraLuaPackages = ps: [ ps.luautf8 ];
};
@ -33,5 +41,8 @@ lib.mkIf config.test.enableBig {
> "$vimout" || true
assertFileContains "$vimout" "HM_EXTRA_CONFIG"
assertFileContains "$vimout" "HM_PLUGINS_CONFIG"
initLua="$TESTED/home-files/.config/nvim/init.lua"
assertFileContent "$initLua" ${./plugin-config.expected}
'';
}