summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/clipboard.zsh8
-rw-r--r--lib/theme-and-appearance.zsh41
2 files changed, 26 insertions, 23 deletions
diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh
index b663800a4..2c93d1bb5 100644
--- a/lib/clipboard.zsh
+++ b/lib/clipboard.zsh
@@ -31,13 +31,13 @@ function clipcopy() {
cat $file > /dev/clipboard
fi
else
- if which xclip &>/dev/null; then
+ if (( $+commands[xclip] )); then
if [[ -z $file ]]; then
xclip -in -selection clipboard
else
xclip -in -selection clipboard $file
fi
- elif which xsel &>/dev/null; then
+ elif (( $+commands[xsel] )); then
if [[ -z $file ]]; then
xsel --clipboard --input
else
@@ -74,9 +74,9 @@ function clippaste() {
elif [[ $OSTYPE == cygwin* ]]; then
cat /dev/clipboard
else
- if which xclip &>/dev/null; then
+ if (( $+commands[xclip] )); then
xclip -out -selection clipboard
- elif which xsel &>/dev/null; then
+ elif (( $+commands[xsel] )); then
xsel --clipboard --output
else
print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 5c5bb0e6d..467b770d6 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -1,36 +1,42 @@
# ls colors
autoload -U colors && colors
-export LSCOLORS="Gxfxcxdxbxegedabagacad"
# Enable ls colors
-if [ "$DISABLE_LS_COLORS" != "true" ]
-then
- # Find the option for using colors in ls, depending on the version: Linux or BSD
- if [[ "$(uname -s)" == "NetBSD" ]]; then
+export LSCOLORS="Gxfxcxdxbxegedabagacad"
+
+if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
+ # Find the option for using colors in ls, depending on the version
+ if [[ "$OSTYPE" == netbsd* ]]; 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
+ gls --color -d . &>/dev/null && alias ls='gls --color=tty'
+ elif [[ "$OSTYPE" == openbsd* ]]; then
# On OpenBSD, "gls" (ls from GNU coreutils) and "colorls" (ls from base,
# with color and multibyte support) are available from ports. "colorls"
# will be installed on purpose and can't be pulled in by installing
# coreutils, so prefer it to "gls".
- gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
- colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
+ gls --color -d . &>/dev/null && alias ls='gls --color=tty'
+ colorls -G -d . &>/dev/null && alias ls='colorls -G'
+ elif [[ "$OSTYPE" == darwin* ]]; then
+ gls --color -d . &>/dev/null && alias ls='gls --color=tty' || alias ls='ls -G'
else
- ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
+ # For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
+ if [[ -z "$LS_COLORS" ]]; then
+ (( $+commands[dircolors] )) && eval "$(dircolors -b)"
+ fi
+
+ ls --color -d . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G'
+
+ # Take advantage of $LS_COLORS for completion as well.
+ zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
fi
fi
setopt auto_cd
setopt multios
+setopt prompt_subst
-if [[ x$WINDOW != x ]]
-then
- SCREEN_NO="%B$WINDOW%b "
-else
- SCREEN_NO=""
-fi
+[[ -n "$WINDOW" ]] && SCREEN_NO="%B$WINDOW%b " || SCREEN_NO=""
# Apply theming defaults
PS1="%n@%m:%~%# "
@@ -40,6 +46,3 @@ ZSH_THEME_GIT_PROMPT_PREFIX="git:(" # Prefix at the very beginning of th
ZSH_THEME_GIT_PROMPT_SUFFIX=")" # At the very end of the prompt
ZSH_THEME_GIT_PROMPT_DIRTY="*" # Text to display if the branch is dirty
ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is clean
-
-# Setup the prompt with pretty colors
-setopt prompt_subst