Browse Source

initial

master v0.1.0
Lucas 2 years ago
parent
commit
6561d03f72
  1. 6
      README.md
  2. BIN
      img/photo.png
  3. 80
      zsh-prompt.zsh

6
README.md

@ -1,3 +1,7 @@
# zsh-prompt
simple prompt
A simple prompt theme to use with 🎸 Rock plugin manager.
![sample_img](./img/photo.png)

BIN
img/photo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

80
zsh-prompt.zsh

@ -0,0 +1,80 @@
# A simple prompt based on https://github.com/isqua/bureau
ASYNC_PROC=0
git_prompt=""
_prompt_setup () {
autoload -U colors && colors
autoload -Uz vcs_info add-zsh-hook
_prompt_git_staff
add-zsh-hook precmd _prompt_precmd
add-zsh-hook zshexit _prompt_exit
PROMPT=$(_prompt)
}
_prompt () {
local color=green
if [ "$UID" = "0" ]; then color=red; fi
_display_arrow
}
_prompt_git_staff() {
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' max-exports 2
zstyle ':vcs_info:git*' stagedstr "%{$fg_bold[blue]%}●"
zstyle ':vcs_info:git*' unstagedstr "%{$fg_bold[red]%}●"
zstyle ':vcs_info:git*' formats "on %{$fg[blue]%}(%{$fg[red]%}%m%u%c%{$fg[yellow]%} %{$fg[magenta]%} %b%{$fg[blue]%})%{$reset_color%}"
}
_prompt_precmd() {
local left="%{$fg[cyan]%}%c%{$reset_color%} $(_prompt_vcs_prompt &!)$git_prompt"
print -P "\n${left}"
if [[ "${ASYNC_PROC}" != 0 ]]; then
kill -s HUP $ASYNC_PROC >/dev/null 2>&1 || :
fi
ASYNC_PROC=$!
}
_prompt_vcs_prompt () {
vcs_info
printf "%s" "$vcs_info_msg_0_" > "$(_prompt_temp_file)"
kill -s USR1 $$
}
_prompt_exit () {
rm -f "$(_prompt_temp_file)" 2> /dev/null
}
_display_arrow() {
echo "%(?:%{$fg_bold[green]%}➙ : %{$fg_bold[red]%}➙ %{$reset_color%})"
}
_prompt_string_width () {
local str=$1
echo ${#${(S%%)str//(\%([KF1]|)\{*\}|\%[Bbkf])}}
}
_prompt_temp_file() {
echo "/tmp/$(whoami)_zsh_rprompt.$$"
}
TRAPUSR1 () {
git_prompt="$(cat $(_prompt_temp_file))"
ASYNC_PROC=0
zle && zle .reset-prompt
}
function clear-scrollback-buffer {
clear
ASYNC_PROC=0
_prompt_precmd
zle .reset-prompt && zle -R
}
zle -N clear-scrollback-buffer
bindkey '^L' clear-scrollback-buffer
_prompt_setup $@
Loading…
Cancel
Save