2

Когда вы определяете псевдоним, такой как alias g=git , оболочка подберет его и запустит соответствующую функцию автозаполнения. Теперь есть программа под названием hub , которая в основном представляет собой набор функций git с некоторыми дополнительными функциями, специфичными для github. Рекомендуемый способ использования hub - alias git=hub . Конечно, это не вызовет функцию автозаполнения для git, что имеет смысл.

Теперь, если я хотел иметь триггер git для автозаполнения для хаба, единственный известный мне способ - это редактировать /usr/share/zsh/functions/Completion/Unix/_git и добавлять hub в первую строку в качестве триггера. Хотя это работает, это не практично, поскольку этот файл будет перезаписан в следующем выпуске zsh. Предполагая, что концентратор не будет предоставлять функцию завершения zsh в ближайшее время, есть ли другой способ добавить hub в команды триггера для функции автозаполнения в git?

1 ответ1

-1

Вы можете определить дополнительную папку автозаполнения, в которой могут быть ваши собственные определения. Если у вас есть что-то похожее на .zshrc по умолчанию, тогда вам просто нужно обновить $ fpath перед вызовом autoload -Uz compinit.

Пример:

...
zstyle ':completion:*' use-compctl true
zstyle ':completion:*' verbose true
zstyle :compinstall filename "$HOME/.zshrc"

fpath=($HOME/autocomplete $fpath)

autoload -Uz compinit
compinit
# End of lines added by compinstall
...

После этого вы сможете скопировать обновленный _git в вашу личную папку автозаполнения, и она будет использоваться вместо оригинала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .