Автоматическое заполнение мерзавца в псевдонимах удара?

Я использую go как простой псевдоним удара для git checkout branchname. Вещью, которую я пропускаю, является функция автоматического заполнения, которая работает с полным git checkout branchna... команда, но не в псевдониме.

Существует ли способ дать Bash команду "наследовать" автоматическое заполнение "драйвер" для другой команды?

58
задан 26 March 2012 в 13:12

1 ответ

Добавить к другим превосходным ответам: обычно у Вас есть много псевдонимов Мерзавца, и это может быть утомительно для ручной передачи завершений для всех них. Вот маленький прием, чтобы сделать это автоматически:

if [ -f "/usr/share/bash-completion/completions/git" ]; then
  # Enable Git completions for aliases
  . /usr/share/bash-completion/completions/git
  for a in $(alias | sed -n 's/^alias \(g[^=]*\)=.git .*/\1/p'); do
    c=$(alias $a | sed 's/^[^=]*=.git \([a-z0-9\-]\+\).*/\1/' | tr '-' '_')
    if set | grep -q "^_git_$c *()"; then
      eval "__git_complete $a _git_$c"
    fi
  done
fi
1
ответ дан 1 November 2019 в 13:42

Другие вопросы по тегам:

Похожие вопросы: