fish: format user and generated .fish files

Adds a `fishIndent` wrapper to pass fish scripts to the built in
`fish_indent` function.
This commit is contained in:
mat ess 2022-11-28 23:29:34 -05:00 committed by Robert Helgesson
parent 518dca61c0
commit ca48fced83
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
3 changed files with 99 additions and 28 deletions

View file

@ -1,4 +1,5 @@
{
fish-format-scripts = ./format-scripts.nix;
fish-functions = ./functions.nix;
fish-no-functions = ./no-functions.nix;
fish-plugins = ./plugins.nix;

View file

@ -0,0 +1,50 @@
{ config, pkgs, ... }:
let
expectedFunc = pkgs.writeText "func.fish" ''
function func
echo foo
end
'';
expectedFuncMulti = pkgs.writeText "func-multi.fish" ''
function func-multi
echo bar
if foo
bar
baz
end
end
'';
in {
config = {
programs.fish = {
enable = true;
formatFishScripts = true;
functions = {
func = ''echo "foo"'';
func-multi = ''
echo bar
if foo
bar
baz
end
'';
};
};
nmt.script = ''
assertFileExists home-files/.config/fish/functions/func.fish
echo ${expectedFunc}
assertFileContent home-files/.config/fish/functions/func.fish ${expectedFunc}
assertFileExists home-files/.config/fish/functions/func-multi.fish
echo ${expectedFuncMulti}
assertFileContent home-files/.config/fish/functions/func-multi.fish ${expectedFuncMulti}
'';
};
}