Fish, simplify functions, move n alias call
Simplifies the git_ family of functions to make fish_right_prompt more readable. git_prompt function is added, which prints the relevant git prompt information. The git_ family of functions is moved into the git_prompt function, and fish_right_prompt calls git_prompt Going forward I'm trying to have modules in charge of the data for other modules, so I moved the nnn alias call from fish to n, and added a handy "extraFunctions" config option to fish. Maintaining the fish module's control of the functions, but allowing others to add stuff in
This commit is contained in:
parent
0336466d64
commit
9978fb7921
13 changed files with 96 additions and 130 deletions
|
|
@ -3,43 +3,32 @@
|
|||
{
|
||||
options.fish = {
|
||||
enable = lib.mkEnableOption "Enables fish";
|
||||
extraFunctions = lib.mkOption {
|
||||
type = with lib.types; attrsOf lines;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.fish.enable {
|
||||
programs.fish.enable = true;
|
||||
|
||||
programs.fish.functions = {
|
||||
fish_greeting = "";
|
||||
fish_prompt = ''
|
||||
${builtins.readFile ./functions/fish_prompt.fish}
|
||||
'';
|
||||
fish_right_prompt = ''
|
||||
${builtins.readFile ./functions/fish_right_prompt.fish}
|
||||
'';
|
||||
git_branch_name = ''
|
||||
${builtins.readFile ./functions/git_branch_name.fish}
|
||||
'';
|
||||
git_is_dirty = ''
|
||||
${builtins.readFile ./functions/git_is_dirty.fish}
|
||||
'';
|
||||
git_is_repo = ''
|
||||
${builtins.readFile ./functions/git_is_repo.fish}
|
||||
'';
|
||||
git_is_staged = ''
|
||||
${builtins.readFile ./functions/git_is_staged.fish}
|
||||
'';
|
||||
git_is_touched = ''
|
||||
${builtins.readFile ./functions/git_is_touched.fish}
|
||||
'';
|
||||
git_is_worktree = ''
|
||||
${builtins.readFile ./functions/git_is_worktree.fish}
|
||||
'';
|
||||
ssh = ''
|
||||
${builtins.readFile ./functions/ssh.fish}
|
||||
'';
|
||||
n = lib.mkIf config.nnn.enable ''
|
||||
${builtins.readFile ./functions/n.fish}
|
||||
'';
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
functions = {
|
||||
fish_greeting = "";
|
||||
fish_prompt = ''
|
||||
if test $status -eq 0
|
||||
echo -n -s (set_color blue -o) τ " " (set_color normal)
|
||||
else
|
||||
echo -n -s (set_color red -o) τ " " (set_color normal)
|
||||
end
|
||||
'';
|
||||
fish_right_prompt = ''
|
||||
git_prompt
|
||||
echo -n -s (set_color blue) (prompt_pwd) " "
|
||||
echo -n -s (set_color yellow) $CMD_DURATION ms
|
||||
echo -n -s (set_color normal)
|
||||
'';
|
||||
git_prompt = ''${builtins.readFile ./functions/git_prompt.fish}'';
|
||||
} // config.fish.extraFunctions;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue