Added alias wrapper to ignore errors when alias isn't defined.

This commit is contained in:
Nathan Broadbent
2011-10-19 16:52:19 +08:00
parent 9cb8b6b0fe
commit 8be41f63d0
4 changed files with 41 additions and 38 deletions

View File

@@ -66,6 +66,6 @@ git_show_alias="gsh"
# Git Keyboard Shortcuts # Git Keyboard Shortcuts
# --------------------------------------------- # ---------------------------------------------
git_status_shortcuts_keys="\C- " # CTRL+SPACE git_status_shortcuts_keys="\C- " # CTRL+SPACE
git_commit_all_keys="\C-x " # CTRL+x SPACE git_commit_all_keys="\C-x " # CTRL+x, SPACE
git_add_and_commit_keys="\C-xc" # CTRL+x c git_add_and_commit_keys="\C-xc" # CTRL+x, c

View File

@@ -6,6 +6,8 @@ if [[ $shell == "zsh" ]]; then zsh_shwordsplit=$((setopt | grep -q shwordsplit)
zsh_compat(){ if [[ $shell == "zsh" && -z $zsh_shwordsplit ]]; then setopt shwordsplit; fi; } zsh_compat(){ if [[ $shell == "zsh" && -z $zsh_shwordsplit ]]; then setopt shwordsplit; fi; }
zsh_reset(){ if [[ $shell == "zsh" && -z $zsh_shwordsplit ]]; then unsetopt shwordsplit; fi; } zsh_reset(){ if [[ $shell == "zsh" && -z $zsh_shwordsplit ]]; then unsetopt shwordsplit; fi; }
# Alias wrapper that ignores errors if alias is not defined.
_alias(){ alias $@ 2> /dev/null; }
# Update SCM Breeze from GitHub # Update SCM Breeze from GitHub
update_scm_breeze() { $(cd "$scmbDir"; git pull origin master); } update_scm_breeze() { $(cd "$scmbDir"; git pull origin master); }

View File

@@ -1,50 +1,51 @@
# #
# Set up configured aliases & keyboard shortcuts # Set up configured aliases & keyboard shortcuts
# _alias function just ignores errors if alias is not defined.
# -------------------------------------------------------------------- # --------------------------------------------------------------------
alias $git_alias='git' _alias $git_alias='git'
# 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_shorcuts" _alias $git_add_shortcuts_alias="git_add_shorcuts"
alias $exec_git_expand_args_alias="exec_git_expand_args" _alias $exec_git_expand_args_alias="exec_git_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'
# Expand numbers and ranges for commands that deal with paths # Expand numbers and ranges for commands that deal with paths
_exp="exec_git_expand_args" _exp="exec_git_expand_args"
alias $git_checkout_alias="$_exp git checkout" _alias $git_checkout_alias="$_exp git checkout"
alias $git_commit_alias="$_exp git commit" _alias $git_commit_alias="$_exp git commit"
alias $git_reset_alias="$_exp git reset" _alias $git_reset_alias="$_exp git reset"
alias $git_rm_alias="$_exp git rm" _alias $git_rm_alias="$_exp git rm"
alias $git_blame_alias="$_exp git blame" _alias $git_blame_alias="$_exp git blame"
alias $git_diff_alias="$_exp git diff" _alias $git_diff_alias="$_exp git diff"
alias $git_diff_cached_alias="$_exp git diff --cached" _alias $git_diff_cached_alias="$_exp git diff --cached"
# Standard commands # Standard commands
alias $git_clone_alias='git clone' _alias $git_clone_alias='git clone'
alias $git_fetch_alias='git fetch' _alias $git_fetch_alias='git fetch'
alias $git_fetch_and_rebase_alias='git fetch && git rebase' _alias $git_fetch_and_rebase_alias='git fetch && git rebase'
alias $git_pull_alias='git pull' _alias $git_pull_alias='git pull'
alias $git_push_alias='git push' _alias $git_push_alias='git push'
alias $git_status_original_alias='git status' # (Standard git status) _alias $git_status_original_alias='git status' # (Standard git status)
alias $git_status_short_alias='git status -s' _alias $git_status_short_alias='git status -s'
alias $git_remote_alias='git remote -v' _alias $git_remote_alias='git remote -v'
alias $git_branch_alias='git branch' _alias $git_branch_alias='git branch'
alias $git_branch_all_alias='git branch -a' _alias $git_branch_all_alias='git branch -a'
alias $git_rebase_alias='git rebase' _alias $git_rebase_alias='git rebase'
alias $git_merge_alias='git merge' _alias $git_merge_alias='git merge'
alias $git_cherry_pick_alias='git cherry-pick' _alias $git_cherry_pick_alias='git cherry-pick'
alias $git_log_alias='git log' _alias $git_log_alias='git log'
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_show_alias='git show' _alias $git_show_alias='git show'
alias $git_add_all_alias='git add -A' _alias $git_add_all_alias='git add -A'
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'
# Git Index alias # Git Index alias
alias $git_index_alias="git_index" _alias $git_index_alias="git_index"
# Tab completion for aliases # Tab completion for aliases

View File

@@ -4,14 +4,14 @@
# ------------------------------------------------------------ # ------------------------------------------------------------
export scmbDir="$(dirname ${BASH_SOURCE:-$0})" export scmbDir="$(dirname ${BASH_SOURCE:-$0})"
# Load shared functions.
. "$scmbDir/lib/_shared.sh"
# Git # Git
# ------------------------------------------------------------ # ------------------------------------------------------------
if [[ -s "$HOME/.git.scmbrc" ]]; then if [[ -s "$HOME/.git.scmbrc" ]]; then
# Load config # Load config
. "$HOME/.git.scmbrc" . "$HOME/.git.scmbrc"
. "$scmbDir/lib/_shared.sh"
. "$scmbDir/lib/git/aliases_and_bindings.sh" . "$scmbDir/lib/git/aliases_and_bindings.sh"
. "$scmbDir/lib/git/status_shortcuts.sh" . "$scmbDir/lib/git/status_shortcuts.sh"
. "$scmbDir/lib/git/repo_index.sh" . "$scmbDir/lib/git/repo_index.sh"