Na sua função git_prompt_info
você deve prefixar a saída com um espaço se houver alguma saída, caso contrário não. (Como uma observação: você provavelmente vai querer olhar para o sistema vcs_info que está integrado ao zsh, veja a página de manual do zshcontrib)
Quanto à sua segunda pergunta: Se eu entendi corretamente, você deve usar %~
em vez de %c
para conseguir o que deseja. Se você realmente quer que o caminho completo seja mostrado, use %d
. Dê uma olhada na % página de manual dozshmisc
( seção de expansão do prompt ) para mais variações disso.