Merge pull request #9 from fat0troll/master

Add fat0troll theme, increase history limit
This commit is contained in:
Stanislav Nikitin 2018-12-12 15:38:33 +05:00 committed by GitHub
commit d285f9f0df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 100 additions and 2 deletions

View File

@ -1,6 +1,6 @@
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
HISTSIZE=100000000
SAVEHIST=100000000
setopt extended_history
setopt hist_expire_dups_first

98
zsh/prompts/fat0troll.zsh Normal file
View File

@ -0,0 +1,98 @@
# pztrn prompt theme
autoload -U add-zsh-hook
# Common vars array.
declare -A vars
# Prompt parts.
declare p_date p_tty p_plat p_userpwd p_shlvlhist p_rc p_end p_win p_path p_gitinfo
prompt_fat0troll_help () {
cat <<'EOF'
prompt pztrn
There is no colors to define
EOF
}
prompt_fat0troll_setup () {
emulate -L zsh
precmd_functions=(${precmd_functions[@]} "prompt_fat0troll_gitinfo" "prompt_fat0troll_createprompt")
vars['brackets_start']="%{$fg[yellow]%}[%{$reset_color%}"
vars['brackets_end']="%{$fg[yellow]%}]%{$reset_color%}"
# Session-dependend colorizing.
# Local will be black, remote - yellow.
if [[ -n $SSH_TTY ]]; then
vars['console']="$vars['brackets_start']SSH$vars['brackets_end']"
vars['default_color']="%{$fg[cyan]%}"
else
vars['console']=""
vars['default_color']="%{$fg[green]%}"
fi
p_date="$vars['brackets_start']$vars['default_color']%D{%a %Y/%m/%d %R}$vars['brackets_end']"
p_tty="$vars['brackets_start']$vars['default_color']%l$vars['brackets_end']"
p_plat="$vars['brackets_start']$vars['default_color']$(uname -r)$vars['brackets_end']"
[[ -n "$WINDOW" ]] && p_win="$WINDOW"
if [[ "$USER" == "root" ]]; then
vars['usercolor']="%{$fg[red]%}"
else
vars['usercolor']="%{$fg[blue]%}"
fi
p_hostname=$(hostname -f)
p_userpwd="$vars['brackets_start']$vars['usercolor']%n$reset_color@%{$fg[magenta]%}$p_hostname$vars['brackets_end']"
p_shlvlhist="$vars['brackets_start']$vars['default_color']%B%h%b$vars['brackets_end']"
p_rc="%(?..$vars['brackets_start']$fg[red]%?%1v$vars['brackets_end'])"
p_end="$vars['usercolor']%#%{$reset_color%} "
p_path="$vars['brackets_start']$vars['default_color'] %d $vars['brackets_end']"
# Initial prompt creation. On every cd it will be recreated with
# prompt_pztrn_createprompt function.
PROMPT="$p_date$p_tty$p_plat$p_userpwd$p_shlvlhist$p_rc$p_gitinfo
$vars['console']$p_path $p_end"
RPROMPT="$p_date$p_tty$p_plat$p_userpwd$p_shlvlhist$p_rc$p_gitinfo
$vars['console']$p_path $p_end"
PS2='%(4_.\.)%3_> %E'
watch=all
logcheck=5
WATCHFMT="$fg[green]%n$reset_color from $fg[magenta]%M$reset_color has $fg[green]%a$reset_color (%l) at %T %W"
}
prompt_fat0troll_gitinfo()
{
# Git repository information.
# Depends on 'gitinfo' application.
gitinfo_present=`declare -f gitinfo_check`
if [ $gitinfo_present ]; then
gitinfo_check
#echo $?
if [[ $? -eq 0 ]]; then
p_gitinfo_branch="$vars['brackets_start']$vars['usercolor']${GITINFO_BRANCH}$reset_color$vars['brackets_end']"
p_gitinfo_commit="$vars['brackets_start']%{$fg[magenta]%}${GITINFO_COMMIT_SHORTID}$reset_color (%{$fg[cyan]%}${GITINFO_COMMIT_COUNT}$reset_color)$vars['brackets_end']"
p_gitinfo_remotes="$vars['brackets_start']%{$fg[green]%}${GITINFO_REMOTES} remote(s)$reset_color$vars['brackets_end']"
p_gitinfo_files="$vars['brackets_start']%{$fg[green]%}${GITINFO_NEW_FILES}$reset_color new, %{$fg[yellow]%}${GITINFO_MODIFIED_FILES}$reset_color modified, %{$fg[red]%}${GITINFO_DELETED_FILES}$reset_color deleted, %{$fg[gray]%}${GITINFO_UNTRACKED_COUNT}$reset_color untracked$vars['brackets_end']"
p_gitinfo=$'\n'"$p_gitinfo_branch$p_gitinfo_commit$p_gitinfo_files$p_gitinfo_remotes"
else
p_gitinfo=""
fi
fi
}
prompt_fat0troll_createprompt()
{
PROMPT="$p_date$p_tty$p_plat$p_userpwd$p_shlvlhist$p_rc$p_gitinfo
$vars['console']$p_path $p_end"
RPROMPT="$p_date$p_tty$p_plat$p_userpwd$p_shlvlhist$p_rc$p_gitinfo
$vars['console']$p_path $p_end"
}
prompt_fat0troll_setup