zshrc: configurability, ssh hostname display
This commit is contained in:
		
							parent
							
								
									84f679db82
								
							
						
					
					
						commit
						372e05a172
					
				
					 1 changed files with 85 additions and 50 deletions
				
			
		
							
								
								
									
										135
									
								
								common/.zshrc
									
										
									
									
									
								
							
							
						
						
									
										135
									
								
								common/.zshrc
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -4,10 +4,15 @@ fi
 | 
			
		|||
 | 
			
		||||
fpath=(~/.zsh $fpath)
 | 
			
		||||
 | 
			
		||||
if [[ ! -d "$HOME/.zsh/gitstatus" ]]; then
 | 
			
		||||
  git clone --depth=1 https://github.com/romkatv/gitstatus.git ~/.zsh/gitstatus
 | 
			
		||||
CONF_BINARYCLOCK=1
 | 
			
		||||
CONF_ENABLEGIT=1
 | 
			
		||||
 | 
			
		||||
if [[ $CONF_ENABLEGIT -eq 1 ]]; then
 | 
			
		||||
  if [[ ! -d "$HOME/.zsh/gitstatus" ]]; then
 | 
			
		||||
    git clone --depth=1 https://github.com/romkatv/gitstatus.git ~/.zsh/gitstatus
 | 
			
		||||
  fi
 | 
			
		||||
  source ~/.zsh/gitstatus/gitstatus.plugin.zsh
 | 
			
		||||
fi
 | 
			
		||||
source ~/.zsh/gitstatus/gitstatus.plugin.zsh
 | 
			
		||||
 | 
			
		||||
# Lines configured by zsh-newuser-install
 | 
			
		||||
HISTFILE=~/.histfile
 | 
			
		||||
| 
						 | 
				
			
			@ -17,46 +22,9 @@ SAVEHIST=1000
 | 
			
		|||
 | 
			
		||||
####
 | 
			
		||||
 | 
			
		||||
#autoload -Uz vcs_info
 | 
			
		||||
#precmd_vcs_info() {
 | 
			
		||||
#  vcs_info
 | 
			
		||||
#    local STATUS=$(git status --porcelain 2> /dev/null | tail -1)
 | 
			
		||||
#    if [[ -n $STATUS ]]; then
 | 
			
		||||
#      zstyle ':vcs_info:git:*' formats '%F{cyan}%b%f %F{yellow}▲%f '
 | 
			
		||||
#    else
 | 
			
		||||
#      zstyle ':vcs_info:git:*' formats '%F{cyan}%b%f %F{green}▲%f '
 | 
			
		||||
#    fi
 | 
			
		||||
#}
 | 
			
		||||
#precmd_functions+=( precmd_vcs_info )
 | 
			
		||||
#
 | 
			
		||||
#zstyle ':vcs_info:*' enable git
 | 
			
		||||
 | 
			
		||||
# prompt
 | 
			
		||||
setopt prompt_subst
 | 
			
		||||
 | 
			
		||||
#get_git_branch() {
 | 
			
		||||
#  git symbolic-ref --short HEAD 2> /dev/null
 | 
			
		||||
#}
 | 
			
		||||
#
 | 
			
		||||
#get_git_dirty() {
 | 
			
		||||
#  git status --porcelain 2> /dev/null
 | 
			
		||||
#}
 | 
			
		||||
#
 | 
			
		||||
#git_status=""
 | 
			
		||||
#get_git_status() {
 | 
			
		||||
#  git_status=""
 | 
			
		||||
#  local BRANCH=$(get_git_branch)
 | 
			
		||||
#  local STATUS=$(get_git_dirty)
 | 
			
		||||
#  if [[ -n $BRANCH ]]; then
 | 
			
		||||
#    if [[ -n $STATUS ]]; then
 | 
			
		||||
#      git_status="%F{cyan}$BRANCH%f %F{yellow}▲%f "
 | 
			
		||||
#    else
 | 
			
		||||
#      git_status="%F{cyan}$BRANCH%f %F{green}▲%f "
 | 
			
		||||
#    fi
 | 
			
		||||
#  fi
 | 
			
		||||
#}
 | 
			
		||||
#
 | 
			
		||||
#precmd_functions+=(get_git_status)
 | 
			
		||||
 | 
			
		||||
git_status=""
 | 
			
		||||
git_status_v2() {
 | 
			
		||||
  git_status=""
 | 
			
		||||
| 
						 | 
				
			
			@ -67,14 +35,17 @@ git_status_v2() {
 | 
			
		|||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ $DIRTY -eq 1 ]]; then
 | 
			
		||||
      git_status="%F{cyan}$VCS_STATUS_LOCAL_BRANCH%f %F{yellow}▲%f "
 | 
			
		||||
    git_status="%F{cyan}$VCS_STATUS_LOCAL_BRANCH%f %F{yellow}▲%f "
 | 
			
		||||
    else
 | 
			
		||||
      git_status="%F{cyan}$VCS_STATUS_LOCAL_BRANCH%f %F{green}▲%f "
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
precmd_functions+=(git_status_v2)
 | 
			
		||||
gitstatus_stop 'PROMPT' && gitstatus_start -s -1 -u -1 -c -1 -d -1 'PROMPT'
 | 
			
		||||
 | 
			
		||||
if [[ $CONF_ENABLEGIT -eq 1 ]]; then
 | 
			
		||||
  precmd_functions+=(git_status_v2)
 | 
			
		||||
  gitstatus_stop 'PROMPT' && gitstatus_start -s -1 -u -1 -c -1 -d -1 'PROMPT'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
timer=0
 | 
			
		||||
timer_show=0
 | 
			
		||||
| 
						 | 
				
			
			@ -113,6 +84,7 @@ prompt_time() {
 | 
			
		|||
}
 | 
			
		||||
precmd_functions+=(prompt_time)
 | 
			
		||||
 | 
			
		||||
prompt_clock=""
 | 
			
		||||
binary_clock() {
 | 
			
		||||
  local row0=("⠀" "⠈" "⠐" "⠘" "⠠" "⠨" "⠰" "⠸" "⢀" "⢈")
 | 
			
		||||
  local row1=("⠁" "⠉" "⠑" "⠙" "⠡" "⠩" "⠱" "⠹" "⢁" "⢉")
 | 
			
		||||
| 
						 | 
				
			
			@ -129,12 +101,29 @@ binary_clock() {
 | 
			
		|||
  [[ $minute = 0* ]] && minute=${minute:1:1}
 | 
			
		||||
  [[ $second = 0* ]] && second=${second:1:1}
 | 
			
		||||
 | 
			
		||||
  bclock="${chars[$hour+1]} ${chars[$minute+1]} ${chars[$second+1]}"
 | 
			
		||||
  prompt_clock="${chars[$hour+1]} ${chars[$minute+1]} ${chars[$second+1]}"
 | 
			
		||||
}
 | 
			
		||||
precmd_functions+=(binary_clock)
 | 
			
		||||
 | 
			
		||||
PROMPT=' %(?.%F{magenta}.%F{red})λ%f  %1~ $git_status '
 | 
			
		||||
RPROMPT='%F{yellow}$timer_display%f  %(?..%F{red}%?%f  )%F{white}$bclock%f'
 | 
			
		||||
normal_clock() {
 | 
			
		||||
  prompt_clock=$(date +"%H:%M:%S")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [[ $CONF_BINARYCLOCK -eq 1 ]]; then
 | 
			
		||||
  precmd_functions+=(binary_clock)
 | 
			
		||||
else
 | 
			
		||||
  precmd_functions+=(normal_clock)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
ssh_hostname=""
 | 
			
		||||
get_is_in_ssh() {
 | 
			
		||||
  if [[ ! -z $SSH_TTY ]]; then
 | 
			
		||||
    ssh_hostname="%F{blue}[%m]%f"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
precmd_functions+=(get_is_in_ssh)
 | 
			
		||||
 | 
			
		||||
PROMPT='$ssh_hostname %(?.%F{magenta}.%F{red})λ%f  %1~ $git_status '
 | 
			
		||||
RPROMPT='%F{yellow}$timer_display%f  %(?..%F{red}%?%f  )%F{white}$prompt_clock%f'
 | 
			
		||||
 | 
			
		||||
####
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -175,8 +164,54 @@ alias del='rm'
 | 
			
		|||
 | 
			
		||||
####
 | 
			
		||||
 | 
			
		||||
# hast =)
 | 
			
		||||
hast() { a=$(cat); curl -X POST -s -d "$a" https://haste.soulja-boy-told.me/documents | awk -F '"' '{print "https://haste.soulja-boy-told.me/"$4}'; }
 | 
			
		||||
# functions
 | 
			
		||||
extract () {
 | 
			
		||||
  if [ -f $1 ] ; then
 | 
			
		||||
      case $1 in
 | 
			
		||||
          *.tar.bz2)   tar xvjf $1          ;;
 | 
			
		||||
          *.tar.gz)    tar xvzf $1          ;;
 | 
			
		||||
          *.bz2)       bunzip2 $1           ;;
 | 
			
		||||
          *.rar)       unrar x $1           ;;
 | 
			
		||||
          *.gz)        gunzip $1            ;;
 | 
			
		||||
          *.tar)       tar xvf $1           ;;
 | 
			
		||||
          *.tbz2)      tar xvjf $1          ;;
 | 
			
		||||
          *.tgz)       tar xvzf $1          ;;
 | 
			
		||||
          *.zip)       unzip $1             ;;
 | 
			
		||||
          *.Z)         uncompress $1        ;;
 | 
			
		||||
          *.7z)        7z x $1              ;;
 | 
			
		||||
          *.asar)      asar e $1 ${1%.asar} ;;
 | 
			
		||||
          *)           echo "'$1' cannot be extracted via >extract<" ;;
 | 
			
		||||
      esac
 | 
			
		||||
  else
 | 
			
		||||
      echo "'$1' is not a valid file!"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
remindperms () {
 | 
			
		||||
  echo "               0    (No read, no write, no execute)  ---"
 | 
			
		||||
  echo "               1    (No read, no write, execute)     --x"
 | 
			
		||||
  echo "               2    (No read, write, no execute)     -w-"
 | 
			
		||||
  echo "               3    (No read, write, execute)        -wx"
 | 
			
		||||
  echo "               4    (Read, no write, no execute)     r--"
 | 
			
		||||
  echo "               5    (Read, no write, execute)        r-x"
 | 
			
		||||
  echo "               6    (Read, write, no execute)        rw-"
 | 
			
		||||
  echo "               7    (Read, write, execute)           rwx"
 | 
			
		||||
  echo ""
 | 
			
		||||
  echo "(who)          u    User"
 | 
			
		||||
  echo "(who)          g    Group owner"
 | 
			
		||||
  echo "(who)          o    Other"
 | 
			
		||||
  echo "(who)          a    All (“world”)"
 | 
			
		||||
  echo ""
 | 
			
		||||
  echo "(action)       +    Adding permissions"
 | 
			
		||||
  echo "(action)       -    Removing permissions"
 | 
			
		||||
  echo "(action)       =    Explicitly set permissions"
 | 
			
		||||
  echo ""
 | 
			
		||||
  echo "(permissions)  r    Read"
 | 
			
		||||
  echo "(permissions)  w    Write"
 | 
			
		||||
  echo "(permissions)  x    Execute"
 | 
			
		||||
  echo "(permissions)  t    Sticky bit"
 | 
			
		||||
  echo "(permissions)  s    Set UID or GID"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
####
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue