O que faz% \ / do (expansão de prompt do zsh)?

2

O que a sequência %\/ faz na expansão do prompt zsh? man zshmisc não contém a string %\ , que é onde estão o restante das expansões específicas do prompt.

A sequência pode ser vista em Holmes dotfiles :

directory_name(){
  echo "%{$fg_bold[cyan]%}%1/%\/%{$reset_color%}"
}

export PROMPT=$'in $(directory_name)› '
    
por simont 29.04.2013 / 14:06

1 resposta

2

%\ não faz nada assim é inútil. O mesmo para o $ em $'...' . Não há necessidade, já que não há seqüência de escape para expandir.

A coisa toda pode ser escrita:

PS1='in %{$fg_bold[cyan]%}%1//%{$reset_color%}› '

ou:

PS1="in %{$fg_bold[cyan]%}%1//%{$reset_color%}› "

para ter o $fg_bold... expandido no momento da atribuição e não em cada prompt.

Não é necessário fazer a substituição do comando em cada prompt, pois a saída de directory_name não muda de uma execução para a próxima.

Você provavelmente não deseja export PS1 ou PROMPT.

    
por 29.04.2013 / 14:30

Tags