summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/edit-command-line.zsh3
-rw-r--r--lib/functions.zsh2
-rw-r--r--lib/git.zsh6
-rw-r--r--lib/key-bindings.zsh6
-rw-r--r--lib/misc.zsh2
-rw-r--r--lib/spectrum.zsh8
-rw-r--r--lib/termsupport.zsh4
7 files changed, 24 insertions, 7 deletions
diff --git a/lib/edit-command-line.zsh b/lib/edit-command-line.zsh
new file mode 100644
index 000000000..db2000325
--- /dev/null
+++ b/lib/edit-command-line.zsh
@@ -0,0 +1,3 @@
+autoload -U edit-command-line
+zle -N edit-command-line
+bindkey '\C-x\C-e' edit-command-line
diff --git a/lib/functions.zsh b/lib/functions.zsh
index 6f5d015f7..b29d3e482 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -29,7 +29,7 @@ function extract() {
*.tar.xz) tar xvJf $1;;
*.tar.lzma) tar --lzma -xvf $1;;
*.bz2) bunzip $1;;
- *.rar) unrar $1;;
+ *.rar) unrar x $1;;
*.gz) gunzip $1;;
*.tar) tar xvf $1;;
*.tbz2) tar xvjf $1;;
diff --git a/lib/git.zsh b/lib/git.zsh
index e96f075be..ce4de5598 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -15,7 +15,7 @@ parse_git_dirty() {
# Checks if there are commits ahead from remote
function git_prompt_ahead() {
- if $(echo "$(git log origin/master..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
+ if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
echo "$ZSH_THEME_GIT_PROMPT_AHEAD"
fi
}
@@ -52,11 +52,11 @@ git_prompt_status() {
if $(echo "$INDEX" | grep '^R ' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
fi
- if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
+ if $(echo "$INDEX" | grep '^D ' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
fi
if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
fi
echo $STATUS
-} \ No newline at end of file
+}
diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh
index c7ad907d7..9c2dda35a 100644
--- a/lib/key-bindings.zsh
+++ b/lib/key-bindings.zsh
@@ -20,6 +20,12 @@ bindkey ' ' magic-space # also do history expansion on space
bindkey '^[[Z' reverse-menu-complete
+# Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~
+bindkey '^?' backward-delete-char
+bindkey "^[[3~" delete-char
+bindkey "^[3;5~" delete-char
+bindkey "\e[3~" delete-char
+
# consider emacs keybindings:
#bindkey -e ## emacs key bindings
diff --git a/lib/misc.zsh b/lib/misc.zsh
index 4c1743657..88732e664 100644
--- a/lib/misc.zsh
+++ b/lib/misc.zsh
@@ -10,4 +10,4 @@ setopt long_list_jobs
## pager
export PAGER=less
-export LC_CTYPE=en_US.UTF-8
+export LC_CTYPE=$LANG
diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh
index 4006a7fe1..2fdf537ef 100644
--- a/lib/spectrum.zsh
+++ b/lib/spectrum.zsh
@@ -18,3 +18,11 @@ for color in {000..255}; do
FG[$color]="%{[38;5;${color}m%}"
BG[$color]="%{[48;5;${color}m%}"
done
+
+# Show all 256 colors with color number
+function spectrum_ls() {
+ for code in {000..255}; do
+ print -P -- "$code: %F{$code}Test%f"
+ done
+}
+
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index 3152751e4..22e7f372f 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -4,9 +4,9 @@
#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
+ elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
print -Pn "\e]2;$2:q\a" #set window name
print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal)
fi