zsh tiene un sistema de finalización, activado presionando tab:
llama@llama:~$ git st<Tab>
Completing main porcelain command
stash -- stash away changes to dirty working directory
status -- show working-tree status
Completing plumbing internal helper command
stripspace -- filter out empty lines
Todo lo que he podido descubrir es que esto proviene del script /usr/share/zsh/functions/Completion/Unix/_git
, donde se _git
llama el comando de finalización.
Suponiendo que conozco el nombre de la función de finalización (p _git
. Ej. ), ¿Cómo podría obtener el resultado de lo que sucedería si ingresara cierta cadena y presiono la pestaña? Esencialmente, estoy tratando de tomar una entrada de ex. git st
y obtenga el resultado anterior (mediante programación, de un script).
Hay muchas otras preguntas existentes sobre esto para bash, pero no he encontrado nada que explique cómo lograr esto con zsh.
zsh
autocomplete
Perilla de la puerta
fuente
fuente
Respuestas:
Esto se puede hacer usando zsh-capture-complete . El archivo README.md del repositorio proporciona varios ejemplos:
Tenga en cuenta que el paquete en sí mismo establece que es una prueba de concepto y, como tal, puede contener errores en su ejecución.
fuente