Merge pull request #151 from mroth/zsh_undefine_alias_fix
fix ability to undefine default aliases in zsh
This commit is contained in:
@@ -37,7 +37,7 @@ function git(){
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
_alias $git_alias='git'
|
_alias "$git_alias" "git"
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
@@ -75,80 +75,82 @@ __git_alias () {
|
|||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
# SCM Breeze functions
|
# SCM Breeze functions
|
||||||
_alias $git_status_shortcuts_alias="git_status_shortcuts"
|
_alias "$git_status_shortcuts_alias" 'git_status_shortcuts'
|
||||||
_alias $git_add_shortcuts_alias="git_add_shortcuts"
|
_alias "$git_add_shortcuts_alias" 'git_add_shortcuts'
|
||||||
_alias $exec_scmb_expand_args_alias="exec_scmb_expand_args"
|
_alias "$exec_scmb_expand_args_alias" 'exec_scmb_expand_args'
|
||||||
_alias $git_show_files_alias="git_show_affected_files"
|
_alias "$git_show_files_alias" 'git_show_affected_files'
|
||||||
_alias $git_commit_all_alias='git_commit_all'
|
_alias "$git_commit_all_alias" 'git_commit_all'
|
||||||
|
|
||||||
# Git Index alias
|
# Git Index alias
|
||||||
_alias $git_index_alias="git_index"
|
_alias "$git_index_alias" 'git_index'
|
||||||
|
|
||||||
# Only set up the following aliases if 'git_setup_aliases' is 'yes'
|
# Only set up the following aliases if 'git_setup_aliases' is 'yes'
|
||||||
if [ "$git_setup_aliases" = "yes" ]; then
|
if [ "$git_setup_aliases" = "yes" ]; then
|
||||||
|
|
||||||
# Commands that deal with paths
|
# Commands that deal with paths
|
||||||
__git_alias "$git_checkout_alias" "git" "checkout"
|
__git_alias "$git_checkout_alias" 'git' 'checkout'
|
||||||
__git_alias "$git_commit_alias" "git" "commit"
|
__git_alias "$git_commit_alias" 'git' 'commit'
|
||||||
__git_alias "$git_commit_verbose_alias" "git" "commit" "--verbose"
|
__git_alias "$git_commit_verbose_alias" 'git' 'commit' '--verbose'
|
||||||
__git_alias "$git_reset_alias" "git" "reset" "--"
|
__git_alias "$git_reset_alias" 'git' 'reset' '--'
|
||||||
__git_alias "$git_reset_hard_alias" "git" "reset" "--hard"
|
__git_alias "$git_reset_hard_alias" 'git' 'reset' '--hard'
|
||||||
__git_alias "$git_rm_alias" "git" "rm"
|
__git_alias "$git_rm_alias" 'git' 'rm'
|
||||||
__git_alias "$git_blame_alias" "git" "blame"
|
__git_alias "$git_blame_alias" 'git' 'blame'
|
||||||
__git_alias "$git_diff_alias" "git" "diff" "--"
|
__git_alias "$git_diff_alias" 'git' 'diff' '--'
|
||||||
__git_alias "$git_diff_word_alias" "git" "diff" "--word-diff"
|
__git_alias "$git_diff_word_alias" 'git' 'diff' '--word-diff'
|
||||||
__git_alias "$git_diff_cached_alias" "git" "diff" "--cached --"
|
__git_alias "$git_diff_cached_alias" 'git' 'diff' '--cached --'
|
||||||
__git_alias "$git_add_patch_alias" "git" "add" "-p"
|
__git_alias "$git_add_patch_alias" 'git' 'add' '-p'
|
||||||
__git_alias "$git_add_updated_alias" "git" "add" "-u"
|
__git_alias "$git_add_updated_alias" 'git' 'add' '-u'
|
||||||
__git_alias "$git_difftool_alias" "git" "difftool"
|
__git_alias "$git_difftool_alias" 'git' 'difftool'
|
||||||
|
|
||||||
# Custom default format for git log
|
# Custom default format for git log
|
||||||
git_log_command="log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
|
git_log_command="log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
|
||||||
__git_alias "$git_log_alias" "git" "$git_log_command"
|
__git_alias "$git_log_alias" 'git' "$git_log_command"
|
||||||
|
|
||||||
# Same as the above, but displays all the branches and remotes
|
# Same as the above, but displays all the branches and remotes
|
||||||
__git_alias "$git_log_all_alias" "git" "$git_log_command" "--branches" "--remotes"
|
__git_alias "$git_log_all_alias" 'git' "$git_log_command" '--branches' '--remotes'
|
||||||
|
|
||||||
# Standard commands
|
# Standard commands
|
||||||
__git_alias "$git_clone_alias" "git" 'clone'
|
__git_alias "$git_clone_alias" 'git' 'clone'
|
||||||
__git_alias "$git_fetch_alias" "git" 'fetch'
|
__git_alias "$git_fetch_alias" 'git' 'fetch'
|
||||||
__git_alias "$git_checkout_branch_alias" "git" 'checkout' "-b"
|
__git_alias "$git_checkout_branch_alias" 'git' 'checkout' '-b'
|
||||||
__git_alias "$git_pull_alias" "git" 'pull'
|
__git_alias "$git_pull_alias" 'git' 'pull'
|
||||||
__git_alias "$git_push_alias" "git" 'push'
|
__git_alias "$git_push_alias" 'git' 'push'
|
||||||
__git_alias "$git_push_force_alias" "git" 'push' '-f'
|
__git_alias "$git_push_force_alias" 'git' 'push' '-f'
|
||||||
__git_alias "$git_status_original_alias" "git" 'status' # (Standard git status)
|
__git_alias "$git_status_original_alias" 'git' 'status' # (Standard git status)
|
||||||
__git_alias "$git_status_short_alias" "git" 'status' '-s'
|
__git_alias "$git_status_short_alias" 'git' 'status' '-s'
|
||||||
__git_alias "$git_clean_alias" "git" "clean"
|
__git_alias "$git_clean_alias" 'git' 'clean'
|
||||||
__git_alias "$git_clean_force_alias" "git" "clean" "-fd"
|
__git_alias "$git_clean_force_alias" 'git' 'clean' '-fd'
|
||||||
__git_alias "$git_remote_alias" "git" 'remote' '-v'
|
__git_alias "$git_remote_alias" 'git' 'remote' '-v'
|
||||||
__git_alias "$git_rebase_alias" "git" 'rebase'
|
__git_alias "$git_rebase_alias" 'git' 'rebase'
|
||||||
__git_alias "$git_rebase_interactive_alias" "git" 'rebase' "-i"
|
__git_alias "$git_rebase_interactive_alias" 'git' 'rebase' '-i'
|
||||||
__git_alias "$git_rebase_alias_continue" "git" 'rebase' "--continue"
|
__git_alias "$git_rebase_alias_continue" 'git' 'rebase' '--continue'
|
||||||
__git_alias "$git_rebase_alias_abort" "git" 'rebase' "--abort"
|
__git_alias "$git_rebase_alias_abort" 'git' 'rebase' '--abort'
|
||||||
__git_alias "$git_reset_last_commit" "git" "reset HEAD~"
|
__git_alias "$git_reset_last_commit" 'git' 'reset HEAD~'
|
||||||
__git_alias "$git_merge_alias" "git" 'merge'
|
__git_alias "$git_merge_alias" 'git' 'merge'
|
||||||
__git_alias "$git_merge_no_fast_forward_alias" "git" "merge" "--no-ff"
|
__git_alias "$git_merge_no_fast_forward_alias" 'git' 'merge' '--no-ff'
|
||||||
__git_alias "$git_merge_only_fast_forward_alias" "git" "merge" "--ff"
|
__git_alias "$git_merge_only_fast_forward_alias" 'git' 'merge' '--ff'
|
||||||
__git_alias "$git_cherry_pick_alias" "git" 'cherry-pick'
|
__git_alias "$git_cherry_pick_alias" 'git' 'cherry-pick'
|
||||||
__git_alias "$git_show_alias" "git" 'show'
|
__git_alias "$git_show_alias" 'git' 'show'
|
||||||
__git_alias "$git_show_summary" "git" 'show' '--summary'
|
__git_alias "$git_show_summary" 'git' 'show' '--summary'
|
||||||
__git_alias "$git_stash_alias" "git" 'stash'
|
__git_alias "$git_stash_alias" 'git' 'stash'
|
||||||
__git_alias "$git_stash_apply_alias" "git" 'stash' 'apply'
|
__git_alias "$git_stash_apply_alias" 'git' 'stash' 'apply'
|
||||||
__git_alias "$git_stash_pop_alias" "git" 'stash' 'pop'
|
__git_alias "$git_stash_pop_alias" 'git' 'stash' 'pop'
|
||||||
__git_alias "$git_stash_list_alias" "git" 'stash' 'list'
|
__git_alias "$git_stash_list_alias" 'git' 'stash' 'list'
|
||||||
__git_alias "$git_tag_alias" "git" 'tag'
|
__git_alias "$git_tag_alias" 'git' 'tag'
|
||||||
|
|
||||||
|
|
||||||
# Compound/complex commands
|
# Compound/complex commands
|
||||||
_alias $git_fetch_all_alias="git fetch --all"
|
_alias "$git_fetch_all_alias" 'git fetch --all'
|
||||||
_alias $git_pull_then_push_alias="git pull && git push"
|
_alias "$git_pull_then_push_alias" 'git pull && git push'
|
||||||
_alias $git_fetch_and_rebase_alias='git fetch && git rebase'
|
_alias "$git_fetch_and_rebase_alias" 'git fetch && git rebase'
|
||||||
_alias $git_commit_amend_alias='git commit --amend'
|
_alias "$git_commit_amend_alias" 'git commit --amend'
|
||||||
|
|
||||||
# Add staged changes to latest commit without prompting for message
|
# Add staged changes to latest commit without prompting for message
|
||||||
_alias $git_commit_amend_no_msg_alias='git commit --amend -C HEAD'
|
_alias "$git_commit_amend_no_msg_alias" 'git commit --amend -C HEAD'
|
||||||
_alias $git_commit_no_msg_alias='git commit -C HEAD'
|
_alias "$git_commit_no_msg_alias" 'git commit -C HEAD'
|
||||||
_alias $git_log_stat_alias='git log --stat --max-count=5'
|
_alias "$git_log_stat_alias" 'git log --stat --max-count=5'
|
||||||
_alias $git_log_graph_alias='git log --graph --max-count=5'
|
_alias "$git_log_graph_alias" 'git log --graph --max-count=5'
|
||||||
_alias $git_add_all_alias='git add --all .'
|
_alias "$git_add_all_alias" 'git add --all .'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -168,4 +170,3 @@ if [ $shell = "bash" ]; then
|
|||||||
else
|
else
|
||||||
compdef _git_index_tab_completion git_index $git_index_alias
|
compdef _git_index_tab_completion git_index $git_index_alias
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,13 @@ enable_nullglob() { if [ $shell = "zsh" ]; then setopt NULL_GLOB; else shopt
|
|||||||
disable_nullglob() { if [ $shell = "zsh" ]; then unsetopt NULL_GLOB; else shopt -u nullglob; fi; }
|
disable_nullglob() { if [ $shell = "zsh" ]; then unsetopt NULL_GLOB; else shopt -u nullglob; fi; }
|
||||||
|
|
||||||
# Alias wrapper that ignores errors if alias is not defined.
|
# Alias wrapper that ignores errors if alias is not defined.
|
||||||
_alias(){ alias "$@" 2> /dev/null; }
|
_safe_alias(){ alias "$@" 2> /dev/null; }
|
||||||
|
_alias() {
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
local alias_str="$1"; local cmd="$2"
|
||||||
|
_safe_alias $alias_str="$cmd"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
find_binary(){
|
find_binary(){
|
||||||
if [ $shell = "zsh" ]; then
|
if [ $shell = "zsh" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user