From 49def1fe91d925d4a1c07772467e655b3c44e235 Mon Sep 17 00:00:00 2001 From: carlfriedrich Date: Mon, 14 Nov 2022 13:36:42 +0100 Subject: [PATCH] Fish plugin: do not quote passing of $argv Fish stores command line arguments in $argv, which is an array. Unlike in bash, when passing this array to a function, we must not enclose it in double-quotes. This made an empty argument list (i.e. no arguments passed) to an actual empty string argument (i.e. one argument passed), which is not what we want. See https://stackoverflow.com/a/42379014/3018229 --- conf.d/forgit.plugin.fish | 44 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/conf.d/forgit.plugin.fish b/conf.d/forgit.plugin.fish index b1d38f8..3f9cc2d 100644 --- a/conf.d/forgit.plugin.fish +++ b/conf.d/forgit.plugin.fish @@ -4,91 +4,91 @@ set -g FORGIT_INSTALL_DIR (dirname (dirname (status -f))) set -g FORGIT "$FORGIT_INSTALL_DIR/conf.d/bin/git-forgit" function forgit::log -d "git commit viewer" - "$FORGIT" log "$argv" + "$FORGIT" log $argv end function forgit::diff -d "git diff viewer" --argument-names arg1 arg2 - "$FORGIT" diff "$argv" + "$FORGIT" diff $argv end function forgit::add -d "git add selector" --wraps "git add" - "$FORGIT" add "$argv" + "$FORGIT" add $argv end function forgit::reset::head -d "git reset HEAD (unstage) selector" - "$FORGIT" reset_head "$argv" + "$FORGIT" reset_head $argv end function forgit::stash::show -d "git stash viewer" - "$FORGIT" stash_show "$argv" + "$FORGIT" stash_show $argv end function forgit::clean -d "git clean selector" - "$FORGIT" clean "$argv" + "$FORGIT" clean $argv end function forgit::cherry::pick -d "git cherry-picking" --argument-names 'target' --wraps "git cherry-pick" - "$FORGIT" cherry_pick "$argv" + "$FORGIT" cherry_pick $argv end function forgit::cherry::pick::from::branch -d "git cherry-picking with interactive branch selection" - "$FORGIT" cherry_pick_from_branch "$argv" + "$FORGIT" cherry_pick_from_branch $argv end function forgit::rebase -d "git rebase" - "$FORGIT" rebase "$argv" + "$FORGIT" rebase $argv end function forgit::fixup -d "git fixup" - "$FORGIT" fixup "$argv" + "$FORGIT" fixup $argv end function forgit::checkout::file -d "git checkout-file selector" --argument-names 'file_name' --wraps "git checkout --" - "$FORGIT" checkout_file "$argv" + "$FORGIT" checkout_file $argv end function forgit::checkout::branch -d "git checkout branch selector" --argument-names 'input_branch_name' --wraps "git branch" - "$FORGIT" checkout_branch "$argv" + "$FORGIT" checkout_branch $argv end function forgit::checkout::tag -d "git checkout tag selector" --argument-names 'tag_name' --wraps "git checkout" - "$FORGIT" checkout_tag "$argv" + "$FORGIT" checkout_tag $argv end function forgit::checkout::commit -d "git checkout commit selector" --argument-names 'commit_id' --wraps "git checkout" - "$FORGIT" checkout_commit "$argv" + "$FORGIT" checkout_commit $argv end function forgit::branch::delete -d "git checkout branch deleter" --wraps "git branch --delete" - "$FORGIT" branch_delete "$argv" + "$FORGIT" branch_delete $argv end function forgit::revert::commit --argument-names 'commit_hash' --wraps "git revert --" - "$FORGIT" revert_commit "$argv" + "$FORGIT" revert_commit $argv end function forgit::blame - "$FORGIT" blame "$argv" + "$FORGIT" blame $argv end function forgit::ignore -d "git ignore generator" - "$FORGIT" ignore "$argv" + "$FORGIT" ignore $argv end function forgit::ignore::update - "$FORGIT" ignore_update "$argv" + "$FORGIT" ignore_update $argv end function forgit::ignore::get - "$FORGIT" ignore_get "$argv" + "$FORGIT" ignore_get $argv end function forgit::ignore::list - "$FORGIT" ignore_list "$argv" + "$FORGIT" ignore_list $argv end function forgit::ignore::clean - "$FORGIT" ignore_clean "$argv" + "$FORGIT" ignore_clean $argv end # register aliases