thefuck: add fish integration (#4535)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
This commit is contained in:
parent
831b4fa317
commit
8765d4e38a
3 changed files with 35 additions and 0 deletions
|
|
@ -21,6 +21,10 @@ with lib;
|
|||
'';
|
||||
};
|
||||
|
||||
enableFishIntegration = mkEnableOption "Fish integration" // {
|
||||
default = true;
|
||||
};
|
||||
|
||||
enableZshIntegration = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
|
|
@ -46,6 +50,21 @@ with lib;
|
|||
|
||||
programs.bash.initExtra = mkIf cfg.enableBashIntegration shEvalCmd;
|
||||
|
||||
programs.fish.functions = mkIf cfg.enableFishIntegration {
|
||||
fuck = {
|
||||
description = "Correct your previous console command";
|
||||
body = ''
|
||||
set -l fucked_up_command $history[1]
|
||||
env TF_SHELL=fish TF_ALIAS=fuck PYTHONIOENCODING=utf-8 ${cfg.package}/bin/thefuck $fucked_up_command THEFUCK_ARGUMENT_PLACEHOLDER $argv | read -l unfucked_command
|
||||
if [ "$unfucked_command" != "" ]
|
||||
eval $unfucked_command
|
||||
builtin history delete --exact --case-sensitive -- $fucked_up_command
|
||||
builtin history merge
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.initExtra = mkIf cfg.enableZshIntegration shEvalCmd;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue