mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-20 03:13:33 +01:00
* change uninstall.sh to run under zsh, so we have access to better file globbing, string substitution, and $ZDOTDIR * remove additional oh-my-zsh data files in uninstall * remove unneeded `source ~/.zshrc` in uninstall * remove bogus `. ~/.zshrc` at end of install.sh: it would just read it in the `sh` process running install.sh right before exiting, so it would have no effect aside from sometimes kicking out syntax errors.
75 lines
1.7 KiB
Bash
75 lines
1.7 KiB
Bash
function zsh_stats() {
|
|
fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20
|
|
}
|
|
|
|
function uninstall_oh_my_zsh() {
|
|
env ZSH=$ZSH SHORT_HOST=$SHORT_HOST zsh $ZSH/tools/uninstall.zsh
|
|
}
|
|
|
|
function upgrade_oh_my_zsh() {
|
|
env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
|
|
}
|
|
|
|
function take() {
|
|
mkdir -p $1
|
|
cd $1
|
|
}
|
|
|
|
#
|
|
# Get the value of an alias.
|
|
#
|
|
# Arguments:
|
|
# 1. alias - The alias to get its value from
|
|
# STDOUT:
|
|
# The value of alias $1 (if it has one).
|
|
# Return value:
|
|
# 0 if the alias was found,
|
|
# 1 if it does not exist
|
|
#
|
|
function alias_value() {
|
|
alias "$1" | sed "s/^$1='\(.*\)'$/\1/"
|
|
test $(alias "$1")
|
|
}
|
|
|
|
#
|
|
# Try to get the value of an alias,
|
|
# otherwise return the input.
|
|
#
|
|
# Arguments:
|
|
# 1. alias - The alias to get its value from
|
|
# STDOUT:
|
|
# The value of alias $1, or $1 if there is no alias $1.
|
|
# Return value:
|
|
# Always 0
|
|
#
|
|
function try_alias_value() {
|
|
alias_value "$1" || echo "$1"
|
|
}
|
|
|
|
#
|
|
# Set variable "$1" to default value "$2" if "$1" is not yet defined.
|
|
#
|
|
# Arguments:
|
|
# 1. name - The variable to set
|
|
# 2. val - The default value
|
|
# Return value:
|
|
# 0 if the variable exists, 3 if it was set
|
|
#
|
|
function default() {
|
|
test `typeset +m "$1"` && return 0
|
|
typeset -g "$1"="$2" && return 3
|
|
}
|
|
|
|
#
|
|
# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined.
|
|
#
|
|
# Arguments:
|
|
# 1. name - The env variable to set
|
|
# 2. val - The default value
|
|
# Return value:
|
|
# 0 if the env variable exists, 3 if it was set
|
|
#
|
|
function env_default() {
|
|
env | grep -q "^$1=" && return 0
|
|
export "$1=$2" && return 3
|
|
}
|