summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/completion.zsh4
-rw-r--r--lib/functions.zsh4
-rw-r--r--lib/git.zsh2
-rw-r--r--lib/history.zsh13
-rw-r--r--lib/termsupport.zsh10
5 files changed, 18 insertions, 15 deletions
diff --git a/lib/completion.zsh b/lib/completion.zsh
index b3cc91822..b964595ed 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -32,12 +32,14 @@ zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-dir
cdpath=(.)
# use /etc/hosts and known_hosts for hostname completion
+[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(</etc/ssh/ssh_known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
hosts=(
+ "$_global_ssh_hosts[@]"
"$_ssh_hosts[@]"
"$_etc_hosts[@]"
- `hostname`
+ "$HOST"
localhost
)
zstyle ':completion:*:hosts' hosts $hosts
diff --git a/lib/functions.zsh b/lib/functions.zsh
index ef7cc6383..d2dcadd0c 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -3,11 +3,11 @@ function zsh_stats() {
}
function uninstall_oh_my_zsh() {
- /bin/sh $ZSH/tools/uninstall.sh
+ /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh
}
function upgrade_oh_my_zsh() {
- /bin/sh $ZSH/tools/upgrade.sh
+ /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
}
function take() {
diff --git a/lib/git.zsh b/lib/git.zsh
index f04343650..defa062c6 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -6,7 +6,7 @@ function git_prompt_info() {
# Checks if working tree is dirty
parse_git_dirty() {
- if [[ -n $(git status -s 2> /dev/null) ]]; then
+ if [[ -n $(git status -s --ignore-submodules=dirty 2> /dev/null) ]]; then
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
else
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
diff --git a/lib/history.zsh b/lib/history.zsh
index ca6f57079..876936b87 100644
--- a/lib/history.zsh
+++ b/lib/history.zsh
@@ -3,14 +3,11 @@ HISTFILE=$HOME/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
-setopt hist_ignore_dups # ignore duplication command history list
-setopt share_history # share command history data
-
-setopt hist_verify
-setopt inc_append_history
+setopt append_history
setopt extended_history
setopt hist_expire_dups_first
+setopt hist_ignore_dups # ignore duplication command history list
setopt hist_ignore_space
-
-setopt SHARE_HISTORY
-setopt APPEND_HISTORY
+setopt hist_verify
+setopt inc_append_history
+setopt share_history # share command history data
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index 22e7f372f..221989502 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -4,7 +4,7 @@
#Limited support for Apple Terminal (Terminal can't set window or tab separately)
function title {
[ "$DISABLE_AUTO_TITLE" != "true" ] || return
- if [[ "$TERM" == screen* ]]; then
+ if [[ "$TERM" == screen* ]]; then
print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
print -Pn "\e]2;$2:q\a" #set window name
@@ -16,14 +16,18 @@ ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
#Appears when you have the prompt
-function precmd {
+function omz_termsupport_precmd {
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
}
#Appears at the beginning of (and during) of command execution
-function preexec {
+function omz_termsupport_preexec {
emulate -L zsh
setopt extended_glob
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
title "$CMD" "%100>...>$2%<<"
}
+
+autoload -U add-zsh-hook
+add-zsh-hook precmd omz_termsupport_precmd
+add-zsh-hook preexec omz_termsupport_preexec