depot/third_party/home-manager/tests/modules/programs/lf/all-options.nix
Default email 75fa0ae5af Project import generated by Copybara.
GitOrigin-RevId: c3ab5ea047e6dc73df530948f7367455749d8906
2023-08-08 12:19:01 +02:00

85 lines
1.4 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
pvScript = builtins.toFile "pv.sh" "cat $1";
expected = builtins.toFile "settings-expected" ''
set icons
set noignorecase
set ratios "2:2:3"
set tabstop 4
cmd added :echo "foo"
cmd multiline :{{
push gg
echo "bar"
push i
}}
cmd removed
map aa should-be-added
map ab
cmap <c-a> should-be-added
cmap <c-b>
set previewer ${pvScript}
map i ${"$"}${pvScript} "$f" | less -R
# More config...
'';
in {
config = {
programs.lf = {
enable = true;
cmdKeybindings = {
"<c-a>" = "should-be-added";
"<c-b>" = null;
};
commands = {
added = '':echo "foo"'';
removed = null;
multiline = ''
:{{
push gg
echo "bar"
push i
}}'';
};
extraConfig = ''
# More config...
'';
keybindings = {
aa = "should-be-added";
ab = null;
};
previewer = {
keybinding = "i";
source = pvScript;
};
settings = {
ignorecase = false;
icons = true;
tabstop = 4;
ratios = [ 2 2 3 ];
};
};
test.stubs.lf = { };
nmt.script = ''
assertFileExists home-files/.config/lf/lfrc
assertFileContent home-files/.config/lf/lfrc ${expected}
'';
};
}