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
}