como eu chamo comandos git sem 'git' na frente?

5

Como eu digo ao meu zsh para tentar automaticamente um comando com git na frente, se o comando não for encontrado? Por exemplo. Desejo executar $ status e, se não houver status em $PATH , meu zsh deverá tentar git status .

    
por Florian 20.09.2015 / 11:07

2 respostas

5

Isso parece frágil. Você pode criar o hábito de digitar foo em vez de git foo e, um dia, um novo comando foo aparecerá e foo não chamará mais git foo , mas poderá ser feito. Quando um comando não é encontrado com a pesquisa normal (alias, função, interna, executável em PATH ), zsh invoca a função command_not_found_handler (se estiver definida). Esta função recebe o comando e os argumentos do comando como seus argumentos.

command_not_found_handler () {
  git "$@"
}

Se você quiser fazer uma filtragem mais sofisticada, o comando está em $1 e seus argumentos podem ser chamados de "$@[2,$#]" .

command_not_found_handler () {
  if …; then
    git "$1" "$@[2,$#]"
  fi
}
    
por 20.09.2015 / 22:41
2

Eu sugiro que não crie problemas para você, apenas faça o checkout oh-my-zsh , e coloque

plugins=(git)

no seu .zshrc , você pode ver git status digitando gst .

... e muitos outros, confira git .plugin.zsh

    
por 20.09.2015 / 18:33

Tags