From 7836469dbe40783c640e2c0fafd2e55248ffea31 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Fri, 21 May 2021 12:48:43 +0200 Subject: neovimUtils: makeNeovimConfig accepts plugins/customRc mimics home-manager interface and makes it easier to associate configs with plugins. Added a test as well. --- pkgs/test/vim/default.nix | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'pkgs/test') diff --git a/pkgs/test/vim/default.nix b/pkgs/test/vim/default.nix index 4ca004a60c3..9128e1bcb11 100644 --- a/pkgs/test/vim/default.nix +++ b/pkgs/test/vim/default.nix @@ -1,14 +1,45 @@ -{ vimUtils, vim_configurable, neovim, vimPlugins -, lib, fetchFromGitHub, +{ vimUtils, vim_configurable, writeText, neovim, vimPlugins +, lib, fetchFromGitHub, neovimUtils, wrapNeovimUnstable +, neovim-unwrapped }: let inherit (vimUtils) buildVimPluginFrom2Nix; packages.myVimPackage.start = with vimPlugins; [ vim-nix ]; + + plugins = with vimPlugins; [ + { + plugin = vim-obsession; + config = '' + map $ Obsession + ''; + } + ]; + + nvimConfNix = neovimUtils.makeNeovimConfig { + inherit plugins; + customRC = '' + " just a comment + ''; + }; + + wrapNeovim = suffix: config: + wrapNeovimUnstable neovim-unwrapped (config // { + extraName = suffix; + wrapperArgs = lib.escapeShellArgs (config.wrapperArgs ++ + ["--add-flags" "-u ${writeText "init.vim" config.neovimRcContent}"] + ); + }); in { vim_empty_config = vimUtils.vimrcFile { beforePlugins = ""; customRC = ""; }; + ### neovim tests + ##############3 + nvim_with_plugins = wrapNeovim "-with-plugins" nvimConfNix; + + ### vim tests + ##############3 vim_with_vim2nix = vim_configurable.customize { name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; }; -- cgit 1.4.1