Ohmyzsh: Nós discordamos do tema e temos um comportamento estranho

Criado em 4 fev. 2016  ·  3Comentários  ·  Fonte: ohmyzsh/ohmyzsh

O tema wedisagree tem um comportamento estranho nas pastas git.
Em pastas normais, tudo funciona perfeitamente, mas quando chego a uma pasta git, o cursor do terminal fica 4 colunas à esquerda de onde deveria estar. Eu sei que foi uma descrição ruim, mas é fácil de reproduzir e espero que a captura de tela em anexo ajude.

Estou usando arch linux, awesome e terminador.
deepinscreenshot20160204100658

Comentários muito úteis

Eu escrevi o tema wedisagree há um tempo atrás... É bom ver que está sendo usado por outras pessoas! Deixe-me saber se ele precisa ser atualizado, pois não uso o zsh há algum tempo.

Todos 3 comentários

Quando eu vi coisas assim antes, muitas vezes foi um problema com a comunicação de larguras de caracteres para o terminal: caracteres não imprimíveis (largura 0) não foram escapados corretamente ou o terminal e sua fonte não concordam com a largura dos caracteres está.

wedisagree parece bom para mim no Terminal.app e no iTerm2 no OS X 10.9.5. (Exceto para o RPROMPT mudando em torno de alguns caracteres ao redimensionar o terminal.)

screen shot 2016-02-04 at 10 24 27 pm

Não parece haver caracteres não imprimíveis sem escape em wedisagree . (A menos que estejam ocultos nas variáveis ZSH_THEME_TIME_SINCE_* .) Geralmente, essas são as sequências de escape de configuração de cores. Em wedisagree , parece que todos foram escapados corretamente com a expansão de prompt zsh %{...%} escapa.

Pode ser que o Terminator pense que alguns desses caracteres especiais em RPROMPT sejam mais largos do que sua fonte pensa que são, como ☂, ☀ e 𝝙. Então o terminal ou curses pode estar contando incorretamente quantos caracteres ele precisa alocar para essa seção RPROMPT e quantos caracteres ele precisa mover o cursor de volta para voltar ao local original . O fato de o prompt direito estar alinhado à direita alguns caracteres a menos do lado direito do terminal é consistente com isso.

Para testar isso, faça uma cópia personalizada de wedisagree e substitua esses caracteres por letras inglesas comuns. Eles estão nesta seção . Experimente também este tema em alguns outros terminais e veja como ele se comporta.

Se isso resolver as coisas, você provavelmente tem um desacordo de largura de terminal/fonte. (Ou um problema com curses ou uma biblioteca semelhante.) Isso pode ser um problema de configuração ou aplicativo.

Pode ser que você tenha sua localidade configurada para uma codificação de byte único. Então, quando há caracteres multibyte como os símbolos especiais usados, o terminal ou biblioteca de cursores conta quantos caracteres estão sendo exibidos. Verifique sua saída locale e certifique-se de que é uma localidade UTF-8 e que o Terminator suporta isso. E verifique se o seu perfil Terminator está configurado para UTF-8, e não ASCII ou qualquer outra coisa.

Ou se você estiver configurado para UTF-8. pode ser que o Terminator espere que esses caracteres especiais tenham várias células de largura quando exibidos. Isso não é algo que você possa consertar no OMZ ou na configuração; você precisa relatar isso ao Terminator.

Isso mesmo! Minha localidade do terminal estava errada.
Contexto

export LC_ALL=pt_BR.UTF-8
export LANG=pt_BR.UTF-8

no meu .zshrc resolveu o problema, mesmo que minha configuração em /etc/locale.gen estivesse correta.

Eu escrevi o tema wedisagree há um tempo atrás... É bom ver que está sendo usado por outras pessoas! Deixe-me saber se ele precisa ser atualizado, pois não uso o zsh há algum tempo.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

TadorHead picture TadorHead  ·  3Comentários

leongaban picture leongaban  ·  3Comentários

mihnor picture mihnor  ·  3Comentários

robsonpeixoto picture robsonpeixoto  ·  3Comentários

Cabbagec picture Cabbagec  ·  3Comentários