theme-and-appearance.zsh 1.97 KB
Newer Older
1
# ls colors
2
autoload -U colors && colors
3
4

# Enable ls colors
5
6
7
8
export LSCOLORS="Gxfxcxdxbxegedabagacad"

if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
  # Find the option for using colors in ls, depending on the version
9
  if [[ "$OSTYPE" == netbsd* ]]; then
10
    # On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
Cosmin Lu?ă's avatar
Cosmin Lu?ă committed
11
    # otherwise, leave ls as is, because NetBSD's ls doesn't support -G
12
    gls --color -d . &>/dev/null && alias ls='gls --color=tty'
13
  elif [[ "$OSTYPE" == openbsd* ]]; then
14
15
16
    # 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
17
    # coreutils, so prefer it to "gls".
18
19
    gls --color -d . &>/dev/null && alias ls='gls --color=tty'
    colorls -G -d . &>/dev/null && alias ls='colorls -G'
20
21
  elif [[ "$OSTYPE" == darwin* ]]; then
    gls --color -d . &>/dev/null && alias ls='gls --color=tty' || alias ls='ls -G'
Cosmin Lu?ă's avatar
Cosmin Lu?ă committed
22
  else
23
    # For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
24
25
26
    if [[ -z "$LS_COLORS" ]]; then
      (( $+commands[dircolors] )) && eval "$(dircolors -b)"
    fi
27

28
    ls --color -d . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G'
29
30
31

    # Take advantage of $LS_COLORS for completion as well.
    zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
Cosmin Lu?ă's avatar
Cosmin Lu?ă committed
32
  fi
33
fi
34
35
36

setopt auto_cd
setopt multios
37
setopt prompt_subst
38

39
[[ -n "$WINDOW" ]] && SCREEN_NO="%B$WINDOW%b " || SCREEN_NO=""
40
41
42
43
44

# Apply theming defaults
PS1="%n@%m:%~%# "

# git theming default: Variables for theming the git info prompt
45
46
47
48
ZSH_THEME_GIT_PROMPT_PREFIX="git:("         # Prefix at the very beginning of the prompt, before the branch name
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