Seleccionar página

Una pequeña ayuda para usar la herramienta fab de fabric (herramienta/librería en python para facilitar el uso de una shell remota): Cuando has creado un fabfile con numerosas tareas (y que además puedan tener nombres largos), puede ser un poco tedioso recordar y escribir completamente las tareas a ejecutar. P.ej:

$ fab my_long_named_task

Para habilitar el bash tab completion para fab, he creado un pequeño script:

_fabric_completion()
{
	local cur opts
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	opts=$(fab -F short --list)
	COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
	return 0
}
complete -F _fabric_completion -o default fab

basta con incluirlo con cualquier nombre en /etc/bash_completion.d/ et voilá, al pulsar tab nos autocompletará la tarea a ejecutar. Lamentablemente esto no da soporte para autocompletion de parámetros de las tareas.