Mostra a visão geral do status git no ZSH ao usar ls

0

Estou usando o zsh e zsh-git-prompt e seu ótimo funcionamento. Quando estou dentro de uma pasta que é um repositório git recebo um aviso sobre o status do git:

thomas@linux-fopt ~Path/to/Git/repo(localDevelop|✚2)% 

Significa que estou na ramificação localDevelop e modifiquei dois arquivos.

Agora, eu gostaria muito de ter uma visão geral como essa para todas as pastas na pasta atual em que estou, algo como:

$ lsGit
  FolderA (master|+1)     (<- is a git repo)
  FolderB (develop|+2)    (<- is a git repo)
  FolderC                 (<- is not a git repo)

Os arquivos dentro da pasta atual devem ser ignorados, somente pastas devem ser exibidas.

Existe uma maneira de perceber isso com zsh?

    
por k1next 06.10.2016 / 11:24

1 resposta

1

Isso é bom o suficiente?

user@host:~$ cat git-ls.zsh
#!/bin/zsh

source ~/zsh-git-prompt/zshrc.sh

for d in *; do
  if [[ -d "$d" && -e "$d/.git" ]]; then
    echo "$d $(cd "$d" && git_super_status | sed -r 's/(%G|%\{|%\})//g')"
  else
    echo "$d"
  fi
done

user@host:~/dev/external$ ~/git-ls.zsh
1-example-file
ansible (devel|✚2…)
asciinema.org (master|✔)
boltons (master|✔)
caffeine (master|✔)
casperjs (:4225d4c|✔)
Chronicle-Queue (master|✔)
citus (master|✔)
citus-docker (master|✔)
coreutils (master|✔)
cpython
ctop (keyerror_cpuacct_stat|…)
^C

Editar: se você não se importa com arquivos, veja a primeira revisão deste post.

    
por 15.10.2016 / 01:46

Tags