Merge pull request #9 from fat0troll/master
Add fat0troll theme, increase history limit
This commit is contained in:
		| @@ -1,6 +1,6 @@ | |||||||
| HISTFILE=~/.histfile | HISTFILE=~/.histfile | ||||||
| HISTSIZE=1000 | HISTSIZE=100000000 | ||||||
| SAVEHIST=1000 | SAVEHIST=100000000 | ||||||
|  |  | ||||||
| setopt extended_history | setopt extended_history | ||||||
| setopt hist_expire_dups_first | setopt hist_expire_dups_first | ||||||
|   | |||||||
							
								
								
									
										98
									
								
								zsh/prompts/fat0troll.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								zsh/prompts/fat0troll.zsh
									
									
									
									
									
										Normal 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 | ||||||
		Reference in New Issue
	
	Block a user