oh-my-zsh自定義主題


oh-my-zsh的主體大都挺不錯的,但是很多顯示git status的設置不會變色,而是顯示為一個小符號

個人比較喜歡對分支變色的樣式,於是自己寫了一個小主體

 

 大致是這個樣子,由提供的robbyrussel主體稍作修改得來

fucntion git_prompt_info(){
	ref=$(git symbolic-ref HEAD 2> /dev/null) || return 
	echo "$ZSH_THEME_GIT_PROMPT_PREFIX$(parse_git_dirty)$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX"
}


PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"

PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%}  $(git_prompt_info)'



ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:("

ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg_bold[blue]%})$reset_color"

ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}"

ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}"

 紅色部分為個人添加的,即覆蓋掉本身的$(git_prompt_info),為其重新寫一個樣式

   關鍵在於$(parse_git_dirty)這個函數,返回的是ZSH_THEME_GIT_PROMPT_DIRTY或CLEAN中的一個,所以我們把返回結果寫成一個樣式修飾$(current_branch)即可

   此時分支就會根據DIRTY或者CLEAN的樣式變色了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM