summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrafa_99 <raroma09@gmail.com>2021-08-12 17:15:31 +0100
committerrafa_99 <raroma09@gmail.com>2021-08-12 17:15:31 +0100
commit3eb2688c177803369547530af3a02b97ee6ba00b (patch)
tree540a905ec962a9940ce42d19c3c7e58cc58b4de9
parent153536197e697d02f7e8ed373bf45f47a033e7f8 (diff)
Updated ZSH files
-rw-r--r--zsh/.config/zsh/.zshrc6
-rw-r--r--zsh/.config/zsh/prompt/agnoster.zsh-theme173
-rw-r--r--zsh/.config/zsh/prompt/default.zsh-theme10
3 files changed, 13 insertions, 176 deletions
diff --git a/zsh/.config/zsh/.zshrc b/zsh/.config/zsh/.zshrc
index ed506ac..80bba2b 100644
--- a/zsh/.config/zsh/.zshrc
+++ b/zsh/.config/zsh/.zshrc
@@ -28,6 +28,6 @@ autoload edit-command-line; zle -N edit-command-line
bindkey '^e' edit-command-line
## Source Files
-source "$HOME"/.config/zsh/prompt/agnoster.zsh-theme
-source "$HOME"/.config/zsh/zsh-syntax-highlighting.zsh
-[ -f "$HOME/.config/misc/aliasrc" ] && source "$HOME/.config/misc/aliasrc"
+[ -f "$HOME"/.config/zsh/prompt/default.zsh-theme ] && source "$HOME"/.config/zsh/prompt/default.zsh-theme
+[ -f "$HOME"/.config/zsh/zsh-syntax-highlighting.zsh ] && source "$HOME"/.config/zsh/zsh-syntax-highlighting.zsh
+[ -f "$HOME"/.config/misc/aliasrc ] && source "$HOME"/.config/misc/aliasrc
diff --git a/zsh/.config/zsh/prompt/agnoster.zsh-theme b/zsh/.config/zsh/prompt/agnoster.zsh-theme
deleted file mode 100644
index d156340..0000000
--- a/zsh/.config/zsh/prompt/agnoster.zsh-theme
+++ /dev/null
@@ -1,173 +0,0 @@
-# vim:ft=zsh ts=2 sw=2 sts=2
-#
-# agnoster's Theme - https://gist.github.com/3712874
-# A Powerline-inspired theme for ZSH
-#
-# # README
-#
-# In order for this theme to render correctly, you will need a
-# [Powerline-patched font](https://gist.github.com/1595572).
-#
-# In addition, I recommend the
-# [Solarized theme](https://github.com/altercation/solarized/) and, if you're
-# using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app -
-# it has significantly better color fidelity.
-#
-# # Goals
-#
-# The aim of this theme is to only show you *relevant* information. Like most
-# prompts, it will only show git information when in a git working directory.
-# However, it goes a step further: everything from the current user and
-# hostname to whether the last call exited with an error to whether background
-# jobs are running in this shell will all be displayed automatically when
-# appropriate.
-
-### Segments of the prompt, default order declaration
-
-typeset -aHg AGNOSTER_PROMPT_SEGMENTS=(
- prompt_status
- prompt_context
- prompt_virtualenv
- prompt_dir
- prompt_git
- prompt_end
-)
-
-### Segment drawing
-# A few utility functions to make it easy and re-usable to draw segmented prompts
-
-CURRENT_BG='NONE'
-if [[ -z "$PRIMARY_FG" ]]; then
- PRIMARY_FG=black
-fi
-
-# Characters
-SEGMENT_SEPARATOR="\ue0b0"
-PLUSMINUS="\u00b1"
-BRANCH="\ue0a0"
-DETACHED="\u27a6"
-CROSS="\u2718"
-LIGHTNING="\u26a1"
-GEAR="\u2699"
-
-# Begin a segment
-# Takes two arguments, background and foreground. Both can be omitted,
-# rendering default background/foreground.
-prompt_segment() {
- local bg fg
- [[ -n $1 ]] && bg="%K{$1}" || bg="%k"
- [[ -n $2 ]] && fg="%F{$2}" || fg="%f"
- if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
- print -n "%{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%}"
- else
- print -n "%{$bg%}%{$fg%}"
- fi
- CURRENT_BG=$1
- [[ -n $3 ]] && print -n $3
-}
-
-# End the prompt, closing any open segments
-prompt_end() {
- if [[ -n $CURRENT_BG ]]; then
- print -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
- else
- print -n "%{%k%}"
- fi
- print -n "%{%f%}"
- CURRENT_BG=''
-}
-
-### Prompt components
-# Each component will draw itself, and hide itself if no information needs to be shown
-
-# Context: user@hostname (who am I and where am I)
-prompt_context() {
- local user=`whoami`
-
- if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CONNECTION" ]]; then
- prompt_segment $PRIMARY_FG default " %(!.%{%F{yellow}%}.)$user@%m "
- fi
-}
-
-# Git: branch/detached head, dirty status
-prompt_git() {
- local color ref
- is_dirty() {
- test -n "$(git status --porcelain --ignore-submodules)"
- }
- ref="$vcs_info_msg_0_"
- if [[ -n "$ref" ]]; then
- if is_dirty; then
- color=yellow
- ref="${ref} $PLUSMINUS"
- else
- color=green
- ref="${ref} "
- fi
- if [[ "${ref/.../}" == "$ref" ]]; then
- ref="$BRANCH $ref"
- else
- ref="$DETACHED ${ref/.../}"
- fi
- prompt_segment $color $PRIMARY_FG
- print -n " $ref"
- fi
-}
-
-# Dir: current working directory
-prompt_dir() {
- prompt_segment blue $PRIMARY_FG ' %~ '
-}
-
-# Status:
-# - was there an error
-# - am I root
-# - are there background jobs?
-prompt_status() {
- local symbols
- symbols=()
- [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}$CROSS"
- [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}$LIGHTNING"
- [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}$GEAR"
-
- [[ -n "$symbols" ]] && prompt_segment $PRIMARY_FG default " $symbols "
-}
-
-# Display current virtual environment
-prompt_virtualenv() {
- if [[ -n $VIRTUAL_ENV ]]; then
- color=cyan
- prompt_segment $color $PRIMARY_FG
- print -Pn " $(basename $VIRTUAL_ENV) "
- fi
-}
-
-## Main prompt
-prompt_agnoster_main() {
- RETVAL=$?
- CURRENT_BG='NONE'
- for prompt_segment in "${AGNOSTER_PROMPT_SEGMENTS[@]}"; do
- [[ -n $prompt_segment ]] && $prompt_segment
- done
-}
-
-prompt_agnoster_precmd() {
- vcs_info
- PROMPT='%{%f%b%k%}$(prompt_agnoster_main) '
-}
-
-prompt_agnoster_setup() {
- autoload -Uz add-zsh-hook
- autoload -Uz vcs_info
-
- prompt_opts=(cr subst percent)
-
- add-zsh-hook precmd prompt_agnoster_precmd
-
- zstyle ':vcs_info:*' enable git
- zstyle ':vcs_info:*' check-for-changes false
- zstyle ':vcs_info:git*' formats '%b'
- zstyle ':vcs_info:git*' actionformats '%b (%a)'
-}
-
-prompt_agnoster_setup "$@"
diff --git a/zsh/.config/zsh/prompt/default.zsh-theme b/zsh/.config/zsh/prompt/default.zsh-theme
new file mode 100644
index 0000000..cdfa5d9
--- /dev/null
+++ b/zsh/.config/zsh/prompt/default.zsh-theme
@@ -0,0 +1,10 @@
+function git_prompt_info() {
+ ref=$(git symbolic-ref HEAD 2> /dev/null) || return
+ echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX"
+}
+
+PROMPT="%(?:%{$fg_bold[green]%}>:%{$fg_bold[red]%}>)"
+PROMPT+=' $(pwd) $(git_prompt_info)%(!.#.$) '
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(git:%{$fg[red]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}) "