В zsh у меня есть функция с именем g
, которая действует следующим образом:
- без аргументов, вызов
git status
- с одним или несколькими аргументами, делегированиеgit со всеми приведенными аргументами - то есть вызов
git $@
Я бы хотел, чтобы завершенные табуляции для g
были точно такими же, как и для git
.Я могу добиться этого с помощью alias g=git
, но это не позволяет мне вызывать status
по умолчанию (первый пункт выше).
Как я могу делегировать завершение для git
?
В bash я просто сделал complete -F _git g
, который повторно использует функцию завершения git.С zsh завершение git выглядит намного более сложным, и я не смог найти похожее решение.
Я бы предположил, что в zsh есть какая-то функция, которая говорит «притворись, что я набрал команду [x],Вы заканчиваете это? "Если бы я знал, что это было, то было бы достаточно просто использовать функцию для делегирования ему.Но я не нашел такой функции в руководствах.