o tema oh-my-zsh não parece atualizar a menos que eu reinicie o zsh

3

Eu comecei a criar meu próprio tema oh-my-zsh , mas me deparei com um pequeno problema. Estou tentando mudar a cor da saída do git com base no nome da ramificação, e ela funciona bem, exceto por uma ressalva importante: ela muda a cor para a correta quando zsh é ativado, mas nunca reavalia o que a cor deve ser a menos que eu lance novamente zsh .

Aqui está uma captura de tela do problema em ação:

Aqui está uma essência com meu atual tema zsh .

Estou fazendo algo errado ou o oh-my-zsh ou zsh não suporta esse tipo de coisa?

    
por Kerrick 02.03.2013 / 00:35

1 resposta

4

Eu não usei oh-my-zsh (uh-oh) mas eu uso zsh e ele e outros shells não não recarregam arquivos de configuração entre comandos. Você deve recarregá-los explicitamente com o comando source:

source ~/.zsh_config_file_you_modified_or_another_file

ou

. ~/.zsh_config_file_you_modified_or_another_file

Iniciar um novo shell zsh faz isso (completamente com um novo shell de login, parcialmente com um novo sub shell, como você fez no painel direito acima).

A lista completa de quais arquivos de configuração zsh são carregados no login versus shells normais é:

╔════════════════╦═══════════╦═══════════╦══════╗  
║                ║Interactive║Interactive║Script║  
║                ║login      ║non═login  ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zshenv     ║    A      ║    A      ║  A   ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zshenv       ║    B      ║    B      ║  B   ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zprofile   ║    C      ║           ║      ║   
╠════════════════╬═══════════╬═══════════╬══════╣   
║~/.zprofile     ║    D      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zshrc      ║    E      ║    C      ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zshrc        ║    F      ║    D      ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zlogin     ║    G      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zlogin       ║    H      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║                ║           ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║                ║           ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zlogout      ║    I      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zlogout    ║    J      ║           ║      ║  
╚════════════════╩═══════════╩═══════════╩══════╝  

Se os arquivos existirem, eles serão carregados em A primeiro, depois em B, C, D, etc. I e J só serão carregados / executados ao sair / sair de um shell de login.

    
por 07.03.2013 / 16:53

Tags