summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/aliases.zsh16
-rw-r--r--lib/bzr.zsh10
-rw-r--r--lib/edit-command-line.zsh3
-rw-r--r--lib/git.zsh32
-rw-r--r--lib/key-bindings.zsh5
-rw-r--r--lib/nvm.zsh9
-rw-r--r--lib/termsupport.zsh4
-rw-r--r--lib/theme-and-appearance.zsh4
8 files changed, 61 insertions, 22 deletions
diff --git a/lib/aliases.zsh b/lib/aliases.zsh
index 2b58c4faa..b279bf855 100644
--- a/lib/aliases.zsh
+++ b/lib/aliases.zsh
@@ -13,11 +13,21 @@ alias please='sudo'
#alias g='grep -in'
# Show history
-alias history='fc -l 1'
-
+if [ "$HIST_STAMPS" = "mm/dd/yyyy" ]
+then
+ alias history='fc -fl 1'
+elif [ "$HIST_STAMPS" = "dd.mm.yyyy" ]
+then
+ alias history='fc -El 1'
+elif [ "$HIST_STAMPS" = "yyyy-mm-dd" ]
+then
+ alias history='fc -il 1'
+else
+ alias history='fc -l 1'
+fi
# List direcory contents
alias lsa='ls -lah'
-#alias l='ls -la'
+alias l='ls -la'
alias ll='ls -l'
alias la='ls -lA'
alias sl=ls # often screw this up
diff --git a/lib/bzr.zsh b/lib/bzr.zsh
new file mode 100644
index 000000000..005a16500
--- /dev/null
+++ b/lib/bzr.zsh
@@ -0,0 +1,10 @@
+## Bazaar integration
+## Just works with the GIT integration just add $(bzr_prompt_info) to the PROMPT
+function bzr_prompt_info() {
+ BZR_CB=`bzr nick 2> /dev/null | grep -v "ERROR" | cut -d ":" -f2 | awk -F / '{print "bzr::"$1}'`
+ if [ -n "$BZR_CB" ]; then
+ BZR_DIRTY=""
+ [[ -n `bzr status` ]] && BZR_DIRTY=" %{$fg[red]%} * %{$fg[green]%}"
+ echo "$ZSH_THEME_SCM_PROMPT_PREFIX$BZR_CB$BZR_DIRTY$ZSH_THEME_GIT_PROMPT_SUFFIX"
+ fi
+} \ No newline at end of file
diff --git a/lib/edit-command-line.zsh b/lib/edit-command-line.zsh
deleted file mode 100644
index db2000325..000000000
--- a/lib/edit-command-line.zsh
+++ /dev/null
@@ -1,3 +0,0 @@
-autoload -U edit-command-line
-zle -N edit-command-line
-bindkey '\C-x\C-e' edit-command-line
diff --git a/lib/git.zsh b/lib/git.zsh
index c4b5b5d62..305a77aff 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -1,8 +1,10 @@
# get the name of the branch we are on
function git_prompt_info() {
- ref=$(git symbolic-ref HEAD 2> /dev/null) || \
- ref=$(git rev-parse --short HEAD 2> /dev/null) || return
- echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
+ if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then
+ ref=$(command git symbolic-ref HEAD 2> /dev/null) || \
+ ref=$(command git rev-parse --short HEAD 2> /dev/null) || return
+ echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
+ fi
}
@@ -11,14 +13,14 @@ parse_git_dirty() {
local SUBMODULE_SYNTAX=''
local GIT_STATUS=''
local CLEAN_MESSAGE='nothing to commit (working directory clean)'
- if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then
+ if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then
if [[ $POST_1_7_2_GIT -gt 0 ]]; then
SUBMODULE_SYNTAX="--ignore-submodules=dirty"
fi
if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" == "true" ]]; then
- GIT_STATUS=$(git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1)
+ GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1)
else
- GIT_STATUS=$(git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1)
+ GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1)
fi
if [[ -n $GIT_STATUS ]]; then
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
@@ -32,10 +34,10 @@ parse_git_dirty() {
# get the difference between the local and remote branches
git_remote_status() {
- remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} --symbolic-full-name 2>/dev/null)/refs\/remotes\/}
+ remote=${$(command git rev-parse --verify ${hook_com[branch]}@{upstream} --symbolic-full-name 2>/dev/null)/refs\/remotes\/}
if [[ -n ${remote} ]] ; then
- ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l)
- behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l)
+ ahead=$(command git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l)
+ behind=$(command git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l)
if [ $ahead -eq 0 ] && [ $behind -gt 0 ]
then
@@ -52,24 +54,24 @@ git_remote_status() {
# Checks if there are commits ahead from remote
function git_prompt_ahead() {
- if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
+ if $(echo "$(command git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
echo "$ZSH_THEME_GIT_PROMPT_AHEAD"
fi
}
# Formats prompt string for current git commit short SHA
function git_prompt_short_sha() {
- SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
+ SHA=$(command git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
}
# Formats prompt string for current git commit long SHA
function git_prompt_long_sha() {
- SHA=$(git rev-parse HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
+ SHA=$(command git rev-parse HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
}
# Get the status of the working tree
git_prompt_status() {
- INDEX=$(git status --porcelain -b 2> /dev/null)
+ INDEX=$(command git status --porcelain -b 2> /dev/null)
STATUS=""
if $(echo "$INDEX" | grep -E '^\?\? ' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
@@ -96,7 +98,7 @@ git_prompt_status() {
elif $(echo "$INDEX" | grep '^AD ' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
fi
- if $(git rev-parse --verify refs/stash >/dev/null 2>&1); then
+ if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then
STATUS="$ZSH_THEME_GIT_PROMPT_STASHED$STATUS"
fi
if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
@@ -121,7 +123,7 @@ function git_compare_version() {
local INPUT_GIT_VERSION=$1;
local INSTALLED_GIT_VERSION
INPUT_GIT_VERSION=(${(s/./)INPUT_GIT_VERSION});
- INSTALLED_GIT_VERSION=($(git --version 2>/dev/null));
+ INSTALLED_GIT_VERSION=($(command git --version 2>/dev/null));
INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]});
for i in {1..3}; do
diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh
index 5f499f3e8..49f80c8f3 100644
--- a/lib/key-bindings.zsh
+++ b/lib/key-bindings.zsh
@@ -30,6 +30,11 @@ bindkey "^[[3~" delete-char
bindkey "^[3;5~" delete-char
bindkey "\e[3~" delete-char
+# Edit the current command line in $EDITOR
+autoload -U edit-command-line
+zle -N edit-command-line
+bindkey '\C-x\C-e' edit-command-line
+
# consider emacs keybindings:
#bindkey -e ## emacs key bindings
diff --git a/lib/nvm.zsh b/lib/nvm.zsh
new file mode 100644
index 000000000..5cadf7061
--- /dev/null
+++ b/lib/nvm.zsh
@@ -0,0 +1,9 @@
+# get the node.js version
+function nvm_prompt_info() {
+ [ -f $HOME/.nvm/nvm.sh ] || return
+ local nvm_prompt
+ nvm_prompt=$(node -v 2>/dev/null)
+ [[ "${nvm_prompt}x" == "x" ]] && return
+ nvm_prompt=${nvm_prompt:1}
+ echo "${ZSH_THEME_NVM_PROMPT_PREFIX}${nvm_prompt}${ZSH_THEME_NVM_PROMPT_SUFFIX}"
+}
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index e3828da14..80319e1a8 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -27,7 +27,9 @@ function omz_termsupport_preexec {
emulate -L zsh
setopt extended_glob
local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
- title "$CMD" "%100>...>${2:gs/%/%%}%<<"
+ local LINE="${2:gs/$/\\$}"
+ LINE="${LINE:gs/%/%%}"
+ title "$CMD" "%100>...>$LINE%<<"
}
autoload -U add-zsh-hook
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 2677615c0..0353f9db4 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -11,6 +11,10 @@ then
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
+ elif [[ "$(uname -s)" == "OpenBSD" ]]; then
+ # On OpenBSD, test if "colorls" is installed (this one supports colors);
+ # otherwise, leave ls as is, because OpenBSD's ls doesn't support -G
+ colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
else
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
fi