このoh-my-zshテーマをカスタマイズしようとしています。
私はその中にこのコードを見つけました。これは明らかにdir名を出力します(間違っている場合は訂正してください)。
# Dir: current working directory
prompt_dir() {
prompt_segment blue black '%~'
}
そしてprompt_segmentは次のように定義されます
# Begin a segment
# Takes two arguments, background and foreground. Both can be omitted,
# rendering default background/foreground.
prompt_segment() {
local bg fg
[[ -n $1 ]] && bg="%K{$1}" || bg="%k"
[[ -n $2 ]] && fg="%F{$2}" || fg="%f"
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} "
else
echo -n "%{$bg%}%{$fg%} "
fi
CURRENT_BG=$1
[[ -n $3 ]] && echo -n $3
}
この出力は、必ずしもディレクトリパスだけではありません。ENV変数にも存在するパスにいる場合、パスはその変数に置き換えられます。
私がいる場合
/Users/abc/.oh-my-zsh/custom
そして$ZSH_CUSTOMは
/Users/abc/.oh-my-zsh/custom
$ZSH_CUSTOM
コマンドプロンプトが表示されます。
だから私の質問は、1)何%~
から送信されているのかprompt_dir
、2)現在の作業ディレクトリを取得するこのコーディングの部分はどこにあるのか、3)常に実際のパスを出力するようにするにはどうすればよいですか。