Certaines git
commandes ont de nombreuses options, et il serait souvent utile de les rechercher pour celle dont j'ai besoin - je cherchais simplement l'option qui contrôle la TABlargeur git-gui
, mais il y a environ 200 finitions pour git config
. Une solution de contournement évidente consiste à copier toutes les finitions dans un éditeur et à les rechercher, mais je préfère faire
[something] | grep tab
Il n'y a pas de man
ou de info
pages pour compgen
, help compgen
n'explique même pas ses propres options, et il n'y a pas de saisie automatique pour compgen
(comment est-ce pour l'ironie?).
PS: compgen -A
ne fonctionne pas.
PPS: Ce n'est pas une question sur git-gui
- La solution à la question de la largeur de tabulation était ailleurs.
PPPS: Il ne s'agit pas de commandes de saisie semi -automatique, mais uniquement de paramètres de commande .
la source
Réponses:
Vous pouvez utiliser la fonction suivante, qui utilise de la même manière que l'
sudo
auto-complétion génère la liste d'achèvement:où
_command_offset
est défini dans bash-compléte (package).REMARQUE: la fonction doit être exécutée dans un shell interactif (c'est-à-dire si elle se trouve dans un fichier, le fichier doit être sourced au lieu d'être simplement exécuté.) Ou les règles / fonctions de complétion nécessaires ne seront pas définies.
PS.
compgen -A
ne fonctionne que pour les actions intégrées, ce que vous auriez dû essayer (mais ne fonctionne pas non plus) estcompgen -F
(ou en faitcompgen -o bashdefault -o default -o nospace -F _git
). La raison pour laquelle cela ne fonctionne pas (et la doc pour les commandes intégrées bash, y compris compgen / complete) peut être trouvée dans bash (1) .la source
local COMP_LINE="$*"
)