...
 
Commits (25)
cache
zshrc.local
[submodule "oh-my-zsh"]
path = oh-my-zsh
url = https://github.com/robbyrussell/oh-my-zsh.git
[submodule "powerlevel9k"]
path = powerlevel9k
url = https://github.com/bhilburn/powerlevel9k.git
[submodule "awesome-terminal-fonts"]
path = awesome-terminal-fonts
url = https://github.com/gabrielelana/awesome-terminal-fonts.git
[submodule "zsh-syntax-highlighting"]
path = zsh-syntax-highlighting
url = https://github.com/zsh-users/zsh-syntax-highlighting.git
......@@ -2,7 +2,7 @@
AntiAliasFonts=true
BoldIntense=true
ColorScheme=AWIT-ZSH-SuperAwesome
Font=Hack Nerd Font,12,-1,0,50,0,0,0,0,0,Regular
Font=Hack,12,-1,0,50,0,0,0,0,0,Regular
UseFontLineChararacters=false
[Cursor Options]
......
This diff is collapsed.
# Requirements
* oh-my-zsh
* zsh-syntax-highlighting
* powerlevel9k
# Installing
# Checkout and initialize repository
cd ~
git clone ssh://git@gitlab.devlabs.linuxassist.net:608/allworldit/awit-zsh-superawesome.git .zsh
cd .zsh
git submodule update --recursive --init
cd ..
# Activate ZSH
# Activate the configuration
ln -s .zsh/zshrc .zshrc
# Install fonts
mkdir ~/.fonts
cp fonts/*.ttf ~/.fonts/
fc-cache -fv ~/.fonts
# For Konsole
cp AWIT-ZSH-SuperAwesome.profile ~/.local/share/konsole/
cp AWIT-ZSH-SuperAwesome.colorscheme ~/.local/share/konsole/
Select the "AWIT-ZSH-SuperAwesome" profile as default in Konsole's profile manager.
# Customizing
Customizing can be done by adding files to ~/.zsh/zshrc_local.d/ directory and editing the ~/.zsh/zshrc.local file.
If you have something awesome to contribute, please consider adding it to zshrc.d/.
# Oh My Zsh
This is updated by running
cd oh-my-zsh
git pull
cd ..
cd powerlevel9k
git pull
cd ..
cd zsh-syntax-highlighting
git pull
cd ..
The fonts/ is a download of the complete fonts in https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack
# Ignore everything in this directory
*
# Except this file
!.gitignore
# compsys initialization
autoload -U compinit
compinit
# Get an array of known SSH host names after deleting:
# - Everything after the first column of host names or IPs
# - Square brackets and attached port numbers
# - IP addresses
# - Encrypted host names
hosts=( `sed -e 's/[, ].*//g' -e 's/\[\([^]]*\)\].*/\1/' -e '/^[0-9]\+/d' -e '/^|1|/d' $HOME/.ssh/known_hosts` )
zstyle ':completion:*:hosts' hosts $hosts
#!/bin/zsh
die() {
echo "$1"
exit 1
}
grep -q '^|1|' ~/.ssh/known_hosts && die "ERROR: ~/.ssh/known_hosts is hashed. Aborting!
Please see this contributions README.md for more information."
if [ ! -e ~/.zsh/completion/_awit-ssh ]; then
# Install
ln -s ~/.zsh/contrib/awit-ssh-completion/_awit-ssh ~/.zsh/completion/
echo "Installed ~/.zsh/completion/_awit-ssh"
else
# Uninstall
rm -f ~/.zsh/completion/_awit-ssh
echo "Uninstalled ~/.zsh/completion/_awit-ssh"
fi
if [ ! -e ~/.zsh/zshrc.d/51-completion-awit-ssh.zsh ]; then
# Install
ln -s ~/.zsh/contrib/awit-ssh-completion/51-completion-awit-ssh.zsh ~/.zsh/zshrc_local.d/
echo "Installed ~/.zsh/zshrc.d/51-completion-awit-ssh.zsh"
else
# Uninstall
rm -f ~/.zsh/zshrc.d/51-completion-awit-ssh.zsh ~/.zsh/zshrc_local.d/51-completion-awit-ssh.zsh
echo "Uninstalled ~/.zsh/zshrc.d/51-completion-awit-ssh.zsh and ~/.zsh/zshrc_local.d/51-completion-awit-ssh.zsh"
fi
# awit-ssh Completion
If you want to use awit-ssh completion with zsh you first need to clean up your ~/.ssh/known_hosts file if it is hashed.
Run the follow and if you see any number other than zero, your ~/.ssh/known_hosts file is hashed
grep -c '^|1|' ~/.ssh/known_hosts
Since you need the file unencrypted make a backup of ~/.ssh/known_hosts and then add the following lines to the top of ~/.ssh/config
Host *
HashKnownHosts no
Then delete the hashed lines
sed -i '/^|1|/d' ~/.ssh/known_hosts
Going forward host names will be added in plain text. You'll be prompted to re-add the deleted hosts names as you log in to each server again.
#compdef awit-ssh
local curcontext="$curcontext" state line expl ret=1
local -a _comp_priv_prefix
_arguments -C \
'(-?)--help[display help information]' \
'--version[display version information]' \
'--forward-agent[forward the ssh-agent socket]' \
'--knock[knock on HOST:PORT to gain access]' \
'--rsync[use rsync to rsync data from remote server to DEST]' \
'--libvirt-vnc[connect to remote VNC server HOST:PORT]' \
'1:remote host name:->userhost' \
'*:::args:_normal' && ret=0
case $state in
userhost)
if compset -P '*@'; then
_wanted hosts expl 'remote host name' _ssh_hosts && ret=0
elif compset -S '@*'; then
_wanted users expl 'login name' _combination -s '[:@]' my-accounts users-hosts users -S '' && ret=0
else
_alternative \
'hosts:remote host name:_ssh_hosts' \
'users:login name:_combination -s "[:@]" my-accounts users-hosts users -qS@' && ret=0
fi
;;
esac
return ret
# https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals
*.zsh
# https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals
*.zsh
# https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-plugins
#
# Ignore everything in this directory
*
# Except this file
!.gitignore
../../zsh-syntax-highlighting
\ No newline at end of file
/usr/share/zsh/plugins/zsh-syntax-highlighting
\ No newline at end of file
# https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes
#
# Ignore everything in this directory
*
# Except this file
!.gitignore
../../powerlevel9k/powerlevel9k.zsh-theme
\ No newline at end of file
/usr/share/zsh-theme-powerlevel9k/powerlevel9k.zsh-theme
\ No newline at end of file
Subproject commit 5c047ae8ba54577f7e7471094bbce375339559ab
Subproject commit 13b0e383a066c9c37d5cf71d4af521f9b73a173e
Subproject commit 02a37dd919dc48e0821186e5f20e78bd0215f86a
# We need to enable extended globbing here for the below source inclusion
setopt EXTENDED_GLOB
# Source in resources
ls $HOME/.zsh/zshrc{,_local}.d/([a-zA-Z0-9-]##).zsh | sort -t/ -k6,6 | while read LINE; do
# If there's a file in zshrc_local.d with the same name as one
# in zshrc.d, ignore the file in zshrc.d
if [[ "$LINE" =~ "zshrc.d" && -e "$HOME/.zsh/zshrc_local.d/${LINE:t}" ]] ; then
# Do nothing
:
# Set the directory where we're being loaded from
AZS_DIR="$0:h"
## Home bin path
# Override first bin directory
if [ -d "$HOME/.local/bin" ]
then
if ! [[ "$PATH" =~ "$HOME/.local/bin" ]]
then
export PATH="$HOME/.local/bin:$PATH"
fi
else
# We should never need this, but just in case
mkdir -p "$HOME/.local/bin"
if ! [[ "$PATH" =~ "$HOME/.local/bin" ]]
then
export PATH="$HOME/.local/bin:$PATH"
fi
fi
# Remove duplicates in $PATH, if they exist
typeset -U path
## Configure the history
# The following line changes the command execution time stamp shown in
# the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
HIST_STAMPS='%Y-%m-%d'
# Don't store invocations of 'history' in the history
setopt HIST_NO_STORE
# Enable incremental append
setopt INC_APPEND_HISTORY
## Long running
# If a command takes a combined time of > 10 seconds, zsh will report it...
REPORTTIME=10
## Aliases
# Override grml's setting for dir
alias dir='dir --color=auto'
# Add colour
alias vdir='vdir --color=auto'
alias fgrep='fgrep --color=auto'
# Make sure we ask before every use of our key
alias ssh-add='/usr/bin/ssh-add -c -t 1800'
# Use ksshaskpass if it exists and we're using the plasma desktop
if [[ "$DESKTOP_SESSION" =~ "plasma" ]]
then
if [ -x /usr/bin/ksshaskpass ]
then
# Use KDE askpass
export SSH_ASKPASS=/usr/bin/ksshaskpass
echo "[awit-zsh-superawesome] Using ksshaskpass"
else
source "$LINE"
echo "[awit-zsh-superawesome] NOTICE: You're using the plasma desktop, but you don't have ksshaskpass installed?"
fi
done
fi
# Use keychain if installed
if [ -x /usr/bin/keychain ]
then
eval `keychain --confirm --clear --noask --timeout 15 --eval --systemd --stop others --quiet --inherit local-once --agents ssh`
echo "[awit-zsh-superawesome] Using keychain (15 min timeout, explicit confirmation)"
fi
## Completion
# NB: Note that precedence matters, so some settings will not yield the
# expected results when put into ~/.zsh/zshrc.local. In that case you need
# to figure out the file number and put it into ~/.zsh/zshrc_local.d/
# A handy-dandy function for reloading completions we might hack on
function compreload() {
ARG="$1"
unfunction _$ARG
autoload _$ARG
}
# Source in local stuff
if [ -f ~/.zsh/zshrc.local ]
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' use-compctl false
# Add custom completion scripts
if [ -d "$HOME/.zsh/completion" ]
then
fpath=($HOME/.zsh/completion $fpath)
fi
## Oh-my-zsh
plugins=(
colored-man-pages
colorize
command-not-found
gitfast
screen
virtualenv
zsh-syntax-highlighting
)
# Allow theming if we're running in a desktop session
if [[ "$DESKTOP_SESSION" =~ "plasma" ]]
then
source ~/.zsh/zshrc.local
# Set oh my zsh theme
ZSH_THEME="powerlevel9k"
# Setup powerlevel9k
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir dir_writable vcs virtualenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator command_execution_time background_jobs history time)
POWERLEVEL9K_MODE=nerdfont-complete
# Shorten directory length
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
# Fix up icons a bit
POWERLEVEL9K_OS_ICON_BACKGROUND="white"
POWERLEVEL9K_OS_ICON_FOREGROUND="blue"
POWERLEVEL9K_DIR_HOME_FOREGROUND="white"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="white"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="white"
# Fix icon widths
POWERLEVEL9K_HOME_SUB_ICON="\uE18D "
POWERLEVEL9K_AWS_ICON="\uF270 "
POWERLEVEL9K_TEST_ICON="\uF188 "
POWERLEVEL9K_TODO_ICON="\uF133 "
POWERLEVEL9K_DISK_ICON="\uF0A0 "
POWERLEVEL9K_OK_ICON="\uF00C "
POWERLEVEL9K_SYMFONY_ICON="\uE757 "
POWERLEVEL9K_APPLE_ICON="\uF179 "
POWERLEVEL9K_WINDOWS_ICON="\uF17A "
POWERLEVEL9K_ANDROID_ICON="\uF17B "
POWERLEVEL9K_LINUX_ICON="\uF17C "
POWERLEVEL9K_HOME_ICON="\uF015 "
POWERLEVEL9K_HOME_SUB_ICON="\uF07C "
POWERLEVEL9K_FOLDER_ICON="\uF115 "
POWERLEVEL9K_NETWORK_ICON="\uF1EB "
POWERLEVEL9K_SWAP_ICON="\uF464 "
POWERLEVEL9K_RAM_ICON="\uF0E4 "
POWERLEVEL9K_SERVER_ICON="\uF0AE "
POWERLEVEL9K_VCS_UNTRACKED_ICON="\uF059 "
POWERLEVEL9K_VCS_UNSTAGED_ICON="\uF06A "
POWERLEVEL9K_VCS_STAGED_ICON="\uF055 "
POWERLEVEL9K_SWIFT_ICON="\uE755 "
POWERLEVEL9K_PUBLIC_IP_ICON="\UF0AC "
POWERLEVEL9K_EXECUTION_TIME_ICON="\uF252 "
POWERLEVEL9K_SSH_ICON="\uF489 "
# Add highlight color to prompt
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
typeset -gA ZSH_HIGHLIGHT_STYLES
ZSH_HIGHLIGHT_STYLES[cursor]='bold'
ZSH_HIGHLIGHT_STYLES[alias]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[builtin]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[function]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[command]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[precommand]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=green,bold'
fi
## Variables
# Useful variables for our ZSH environment
test "x$HOSTNAME" = "x" && export HOSTNAME="$HOST"
export GIT_EDITOR="$EDITOR"
export VISUAL="$EDITOR"
## Load Oh-my-zsh [This needs to be last]
# Path to your oh-my-zsh installation
ZSH=/usr/share/oh-my-zsh/
# Custom directory
ZSH_CUSTOM="$AZS_DIR/custom"
# Disable bi-weekly auto-update checks
DISABLE_AUTO_UPDATE="true"
COMPLETION_WAITING_DOTS="true"
# Stop the annoying habit of creating multiple dump files
ZSH_COMPDUMP="$COMPDUMPFILE"
# Pull in the system oh-my-zsh
source "$ZSH/oh-my-zsh.sh"
# Override first bin directory
# Depending on your distro, your ~/.profile may already be providing
# this information
if [ -d "$HOME/bin" ]
then
if [[ "$PATH" =~ "$HOME/bin" ]]
then
# Do nothing
:
else
export PATH="$HOME/bin:$PATH"
fi
fi
if [ -d "$HOME/.local/bin" ]
then
if [[ "$PATH" =~ "$HOME/.local/bin" ]]
then
# Do nothing
:
else
export PATH="$HOME/.local/bin:$PATH"
fi
fi
# Remove duplicates in $PATH, if they exist
typeset -U path
# The following line changes the command execution time stamp shown in
# the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
HIST_STAMPS='%Y/%m/%d'
## Configure the history.
# First up, enable extended history mode
setopt EXTENDED_HISTORY
# Now ignore duplicates in the history
setopt HIST_IGNORE_ALL_DUPS
# Prevent recording a history entry if preceded with at least one space
setopt HIST_IGNORE_SPACE
# Don't store invocations of 'history' in the history
setopt HIST_NO_STORE
# Enable incremental append
setopt INC_APPEND_HISTORY
# Enable zsh history sharing. Scary but fun
setopt SHARE_HISTORY
## Now the history file configuration itself
# The file to store history in
HISTFILE=~/.zsh_history
# Store 2000 commands in memory
HISTSIZE=2000
# Save 1000 commands
SAVEHIST=1000
# If a command takes a combined time of > 10 seconds, zsh will report it...
REPORTTIME=10
# Use a bunch of colors in screen
if [ "$TERM" = "screen" ]
then
export TERM="screen-256color-s"
else
export TERM="xterm-256color"
fi
# Add directory colors
if [ -x /usr/bin/dircolors ]; then
eval "$(dircolors -b)"
alias dir='dir --color=auto'
alias ls='ls --color=auto'
alias vdir='vdir --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
fi
# Use ksshaskpass if it exists and we're using the plasma desktop
if [[ "$DESKTOP_SESSION" =~ "plasma" ]]
then
if [ -x /usr/bin/ksshaskpass ]
then
# Use KDE askpass
export SSH_ASKPASS=/usr/bin/ksshaskpass
echo "zsh: Using ksshaskpass"
else
echo "NOTICE: You're using the plasma desktop, but you don't have ksshaskpass installed?"
fi
fi
# Use keychain if installed
if [ -x /usr/bin/keychain ]
then
eval `keychain --confirm --clear --noask --timeout 15 --eval --systemd --stop others --quiet --inherit local-once --agents ssh`
echo "zsh: Using keychain (15 min timeout, explicit confirmation)"
fi
# Use modern completion system
autoload -Uz compinit
compinit
# A handy-dandy function for reloading completions we might hack on
function compreload() {
ARG="$1"
unfunction _$ARG
autoload _$ARG
}
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
#zstyle ':completion:*' group-name ''
# For autocompletion with an arrow-key driven interface. ?
# To activate the menu, press Tab twice.
#zstyle ':completion:*' menu select=2
#eval "$(dircolors -b)"
#zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
#zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
#zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
#zstyle ':completion:*' menu select=long
#zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
#zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
#zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
# Add custom completion scripts
fpath=(~/.zsh/completion $fpath)
# Which plugins would you like to load?
# Standard plugins can be found in ~/.zsh/oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
colored-man-pages
colorize
command-not-found
gitfast
screen
zsh-syntax-highlighting
)
# Set oh my zsh theme
ZSH_THEME="powerlevel9k"
# Setup powerlevel9k
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir dir_writable vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator command_execution_time background_jobs history time)
POWERLEVEL9K_MODE=nerdfont-complete
# Shorten directory length
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
# Fix up icons a bit
POWERLEVEL9K_OS_ICON_BACKGROUND="white"
POWERLEVEL9K_OS_ICON_FOREGROUND="blue"
POWERLEVEL9K_DIR_HOME_FOREGROUND="white"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="white"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="white"
# Fix icon widths
POWERLEVEL9K_HOME_SUB_ICON="\uE18D "
POWERLEVEL9K_AWS_ICON="\uF270 "
POWERLEVEL9K_TEST_ICON="\uF188 "
POWERLEVEL9K_TODO_ICON="\uF133 "
POWERLEVEL9K_DISK_ICON="\uF0A0 "
POWERLEVEL9K_OK_ICON="\uF00C "
POWERLEVEL9K_SYMFONY_ICON="\uE757 "
POWERLEVEL9K_APPLE_ICON="\uF179 "
POWERLEVEL9K_WINDOWS_ICON="\uF17A "
POWERLEVEL9K_ANDROID_ICON="\uF17B "
POWERLEVEL9K_LINUX_ICON="\uF17C "
POWERLEVEL9K_HOME_ICON="\uF015 "
POWERLEVEL9K_HOME_SUB_ICON="\uF07C "
POWERLEVEL9K_FOLDER_ICON="\uF115 "
POWERLEVEL9K_NETWORK_ICON="\uF1EB "
POWERLEVEL9K_SWAP_ICON="\uF464 "
POWERLEVEL9K_RAM_ICON="\uF0E4 "
POWERLEVEL9K_SERVER_ICON="\uF0AE "
POWERLEVEL9K_VCS_UNTRACKED_ICON="\uF059 "
POWERLEVEL9K_VCS_UNSTAGED_ICON="\uF06A "
POWERLEVEL9K_VCS_STAGED_ICON="\uF055 "
POWERLEVEL9K_SWIFT_ICON="\uE755 "
POWERLEVEL9K_PUBLIC_IP_ICON="\UF0AC "
POWERLEVEL9K_EXECUTION_TIME_ICON="\uF252 "
POWERLEVEL9K_SSH_ICON="\uF489 "
# Treat the ‘#’, ‘~’ and ‘^’ characters as part of patterns
# for filename generation, etc. (An initial unquoted ‘~’ always
# produces named directory expansion.)
setopt EXTENDED_GLOB
# Useful variables for our ZSH environment
test "x$HOSTNAME" = "x" && export HOSTNAME=$(hostname)
export EDITOR=/usr/bin/vim
export GIT_EDITOR=/usr/bin/vim
export VISUAL=/usr/bin/vim
export SHELL=/bin/zsh
# Path to your oh-my-zsh installation.
ZSH=$HOME/.zsh/oh-my-zsh
# Custom directory
ZSH_CUSTOM=$HOME/.zsh/custom
# Set cache directory
ZSH_CACHE=$HOME/.zsh/cache
# oh-my-zsh configuration
source $ZSH/oh-my-zsh.sh
# Useful functions
# Initiate git project with the specified license and commit
function make-project() { mcd "$1"; git init; cp /usr/share/common-licenses/$2 COPYING; git add COPYING; git commit -m "This project is under the $2 licence at this time"; }
# mkdir and cd into it
function mcd() { mkdir -p "$1"; cd "$1"; }
# Dump files in hexadecimal, 4 bytes per integer
function odx() { od -t x4 -A x "$@"; }
# Dump files in hexadecimal, 1 byte per integer
function odx1() { od -t x1 -A x "$@"; }
# Source bash alias definitions, if they exist
if [ -f ~/.bash_aliases ]
then
source ~/.bash_aliases
fi
# Setting -F to the users home dir will ignore the system ssh_config
# We do this because:
# - The system has SendEnv set to send locale environment variables to the server, LANG and LC_ALL
alias ssh="/usr/bin/ssh -F ~/.ssh/config"
# Add highlight color to prompt
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
typeset -gA ZSH_HIGHLIGHT_STYLES
ZSH_HIGHLIGHT_STYLES[cursor]='bold'
ZSH_HIGHLIGHT_STYLES[alias]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[builtin]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[function]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[command]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[precommand]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=green,bold'
# Ignore everything in this directory
*
# Except this file
!.gitignore