diff --git a/zsh/alias.zsh b/zsh/alias.zsh new file mode 100644 index 0000000..444c591 --- /dev/null +++ b/zsh/alias.zsh @@ -0,0 +1 @@ +alias ll="ls -alG" diff --git a/zsh/environment.zsh b/zsh/environment.zsh new file mode 100644 index 0000000..86fb05d --- /dev/null +++ b/zsh/environment.zsh @@ -0,0 +1,2 @@ +export CLICOLOR=1 +export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd diff --git a/zsh/init.zsh b/zsh/init.zsh new file mode 100644 index 0000000..48ba8d3 --- /dev/null +++ b/zsh/init.zsh @@ -0,0 +1,32 @@ +zshrc=~/.zshrc +if [ -z $zshrc ]; then + echo "Err: Cannot find dotfile directory." + exit -1 +fi + +dotfile_dir=$(readlink -f $(dirname $(readlink -f $zshrc))/..) +zsh_dir=$dotfile_dir/zsh + + +################################################################################ +# ZPLUG initialisation and plugin list + +source $zsh_dir/plugin.zsh + + +################################################################################ +# ENVIRONMENT initialisation + +source $zsh_dir/environment.zsh + + +################################################################################ +# ALIAS initialisation + +source $zsh_dir/alias.zsh + + +################################################################################ +# PROMPT initialisation + +source $zsh_dir/prompt.zsh diff --git a/zsh/plugin.zsh b/zsh/plugin.zsh new file mode 100644 index 0000000..9699cc9 --- /dev/null +++ b/zsh/plugin.zsh @@ -0,0 +1,29 @@ +# Prepare for plugin init +source $zsh_dir/zplug/init.zsh + +### BEGIN PLUGIN LIST ########################################################## + +# Syntax highlighting +zplug "zsh-users/zsh-syntax-highlighting", defer:2 + +# Command suggestions +zplug "zsh-users/zsh-autosuggestions" + +# History search +zplug "zsh-users/zsh-history-substring-search" + +# Jump to recent directories +zplug "agkozak/zsh-z" + +### END PLUGIN LIST ############################################################ + +# Finalise plugin init +if ! zplug check --verbose; then + printf "Install? [y/N]: " + if read -q; then + echo; zplug install + fi +fi + +# Then, source plugins and add commands to $PATH +zplug load diff --git a/zsh/prompt.zsh b/zsh/prompt.zsh new file mode 100644 index 0000000..55f7ead --- /dev/null +++ b/zsh/prompt.zsh @@ -0,0 +1,6 @@ +parse_git_branch() { + git symbolic-ref --short HEAD 2> /dev/null | sed -E 's/(.+)/ [\1]/g' +} + +setopt prompt_subst +PROMPT='%F{yellow}%m%F{none}:%F{blue}%2d%F{none}%F{red}$(parse_git_branch) %F{%(?.green.red)}%#%F{none} '