Este es el comando zshcompsys que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
zshcompsys - sistema de finalización zsh
DESCRIPCIÓN
Esto describe el código de shell para el "nuevo" sistema de finalización, denominado compsys. Lo
está escrito en funciones de shell basadas en las características descritas en zshcompwid(1).
Las características son contextuales, sensibles al punto en el que se inicia la finalización. Muchos
ya se proporcionan las terminaciones. Por esta razón, un usuario puede realizar una gran cantidad de tareas.
sin conocer ningún detalle más allá de cómo inicializar el sistema, que se describe a continuación
en INICIALIZACIÓN.
El contexto que decide qué finalización se realizará puede ser
· Una posición de argumento u opción: describen la posición en la línea de comando en
cuya finalización se solicita. Por ejemplo, `primer argumento de rmdir, la palabra
al completarse nombra un directorio ';
· Un contexto especial, que denota un elemento en la sintaxis del shell. Por ejemplo, una palabra
en posición de comando 'o' un subíndice de matriz '.
Una especificación de contexto completa contiene otros elementos, como describiremos.
Además de los nombres y contextos de los comandos, el sistema emplea dos conceptos más, estilos y
tags. Estos proporcionan formas para que el usuario configure el comportamiento del sistema.
Las etiquetas juegan un papel doble. Sirven como un sistema de clasificación para los partidos, típicamente
indicando una clase de objeto que el usuario puede necesitar distinguir. Por ejemplo, cuando
Completando argumentos de la ls comando que el usuario puede preferir probar archivos antes
directorios, por lo que ambas son etiquetas. También aparecen como el elemento más a la derecha en un
especificación de contexto.
Los estilos modifican varias operaciones del sistema de finalización, como el formato de salida, pero
también qué tipos de finalizadores se utilizan (y en qué orden), o qué etiquetas se examinan.
Los estilos pueden aceptar argumentos y se manipulan utilizando el estilo z comando descrito en ver
módulos zsh(1).
En resumen, las etiquetas describen Lo que los objetos de terminación son, y el estilo cómo ellos van a ser
terminado. En varios puntos de ejecución, el sistema de terminación verifica qué estilos
y / o etiquetas se definen para el contexto actual, y las usa para modificar su comportamiento.
La descripción completa del manejo del contexto, que determina cómo las etiquetas y otros elementos de
el contexto influye en el comportamiento de los estilos, se describe a continuación en SISTEMA DE TERMINACIÓN
CONFIGURACIÓN.
Cuando se solicita una finalización, se llama a una función de despachador; ver la descripción de
_principal_completo en la lista de funciones de control a continuación. Este despachador decide qué
debe llamarse a la función para producir las terminaciones, y la llama. El resultado se pasa
a uno o más completadores, funciones que implementan estrategias de finalización individuales:
finalización simple, corrección de errores, finalización con corrección de errores, selección de menú,
etc.
De manera más general, las funciones de shell contenidas en el sistema de finalización son de dos tipos:
· Los que comienzan `comp'deben ser llamados directamente; hay solo algunos de estos;
· Los que comienzan `_'son llamados por el código de finalización. Las funciones de shell de este
, que implementan el comportamiento de finalización y pueden estar vinculados a las pulsaciones de teclas, son
referidos como "widgets". Estos proliferan a medida que se requieren nuevas terminaciones.
INICIALIZACIÓN
Si el sistema se instaló por completo, debería ser suficiente llamar a la función de shell
compintar de su archivo de inicialización; vea la siguiente sección. Sin embargo, la función
compilar un usuario puede ejecutarlo para configurar varios aspectos del sistema de terminación.
Generalmente, compilar insertará código en .zshrc, aunque si eso no se puede escribir
lo guardará en otro archivo y le dirá la ubicación de ese archivo. Tenga en cuenta que depende de usted
para asegurarse de que las líneas agregadas a .zshrc se ejecutan realmente; puede, por ejemplo, necesitar
para moverlos a un lugar anterior en el archivo si .zshrc generalmente regresa temprano. Siempre y cuando
los mantiene todos juntos (incluidas las líneas de comentarios al principio y al final), puede
repetición compilar y localizará y modificará correctamente estas líneas. Sin embargo, tenga en cuenta
que cualquier código que agregue a esta sección a mano es probable que se pierda si vuelve a ejecutar
compilar, aunque las líneas que usan el comando `estilo z'debe manejarse con gracia.
El nuevo código entrará en vigor la próxima vez que inicie el shell o ejecute .zshrc manualmente; allí
también es una opción para hacerlos efectivos inmediatamente. Sin embargo, si compilar tiene
definiciones eliminadas, deberá reiniciar el shell para ver los cambios.
Correr compilar deberá asegurarse de que esté en un directorio mencionado en su camino f
parámetro, que ya debería ser el caso si zsh se configuró correctamente siempre que su
Los archivos de inicio no eliminan los directorios apropiados de camino f. Entonces debe ser
autocargado (`carga automática -U compilar' es recomendado). Puede abortar la instalación en cualquier
momento en el que se le solicita información, y su .zshrc no se alterará en absoluto;
los cambios solo tienen lugar justo al final, donde se le solicita específicamente
confirmación.
Utilice of compintar
Esta sección describe el uso de compintar para inicializar la finalización de la corriente
sesión cuando se llama directamente; si has corrido compilar se llamará automáticamente
a partir de su .zshrc.
Para inicializar el sistema, la función compintar debe estar en un directorio mencionado en el
camino f parámetro, y debe cargarse automáticamente (`carga automática -U compintar'se recomienda), y
luego ejecute simplemente como 'compintar'. Esto definirá algunas funciones de utilidad, organizará todas
las funciones de shell necesarias para que se carguen automáticamente, y luego redefinirá todos los widgets que
Completar para utilizar el nuevo sistema. Si usa el menú-seleccionar widget, que es parte de
el zsh / complist módulo, debe asegurarse de que ese módulo esté cargado antes de la llamada
a compintar para que ese widget también se vuelva a definir. Si los estilos de terminación (ver a continuación) son
configurada para realizar la expansión y la finalización de forma predeterminada, y la tecla TAB está vinculada a
expandir o completar, compintar lo volverá a unir a palabra-completa; esto es necesario para usar el
forma correcta de expansión.
Si necesita utilizar los comandos de finalización originales, aún puede vincular claves al
widgets antiguos poniendo un `.'delante del nombre del widget, por ejemplo, `.expandir-o-completar'.
Para acelerar el funcionamiento de compintar, se puede hacer para producir una configuración de dumping que
se leerá en futuras invocaciones; este es el valor predeterminado, pero puede desactivarse
llamar compintar con la opción -D. El archivo volcado es .zcompdump en el mismo directorio
como los archivos de inicio (es decir $ ZDOTDIR or $ HOME); alternativamente, un nombre de archivo explícito puede ser
dado por 'compintar -d archivo de volcado'. La próxima invocación de compintar leerá el vertido
archivo en lugar de realizar una inicialización completa.
Si cambia el número de archivos de finalización, compintar reconocerá esto y producirá una nueva
archivo de volcado. Sin embargo, si el nombre de una función o los argumentos en la primera línea de una
#compdef función (como se describe a continuación) cambiar, es más fácil eliminar el archivo de volcado
mano para que compintar lo volverá a crear la próxima vez que se ejecute. La comprobación realizada a
ver si hay nuevas funciones se pueden omitir dando la opción -C. En este caso el
El archivo de volcado solo se creará si aún no hay uno.
En realidad, el vertido lo realiza otra función, vertedero, pero solo necesitarás correr
esto usted mismo si cambia la configuración (por ejemplo, usando compilación) y luego quiere volcar
el nuevo. El nombre del antiguo archivo volcado se recordará para este propósito.
Si el parámetro _compdir Está establecido, compintar lo usa como un directorio donde la finalización
se pueden encontrar funciones; esto solo es necesario si aún no están en la función
ruta de búsqueda.
Por razones de seguridad compintar también comprueba si el sistema de finalización utilizaría archivos que no
propiedad de root o del usuario actual, o archivos en directorios que son
escribibles en grupo o que no son propiedad de root o del usuario actual. Si tales archivos o
se encuentran directorios, compintar le preguntará si realmente se debe utilizar el sistema de finalización.
Para evitar estas pruebas y hacer que todos los archivos encontrados se usen sin preguntar, use la opción -u,
y para hacer compintar ignore silenciosamente todos los archivos y directorios inseguros use la opción -i.
Este control de seguridad se omite por completo cuando el -C se da la opción.
La verificación de seguridad se puede reintentar en cualquier momento ejecutando la función compauditar. Es
el mismo cheque usado por compintar, pero cuando se ejecuta directamente cualquier cambio en camino f están
hecho local a la función para que no persistan. Los directorios que se comprobarán pueden ser
pasados como argumentos; si no se da ninguno, compauditar usos camino f y _compdir para encontrar
directorios del sistema de finalización, agregando los que faltan a camino f según sea necesario. Para forzar un
comprobar exactamente los directorios nombrados actualmente en camino festablecer _compdir a una cuerda vacía
antes de llamar compauditar or compintar.
La función bashcompinit proporciona compatibilidad con la finalización programable de bash
sistema. Cuando se ejecuta, definirá las funciones, compilar y completar que corresponden a
las incorporaciones de bash con los mismos nombres. Entonces será posible utilizar la finalización
especificaciones y funciones escritas para bash.
Autocargado archivos
La convención para las funciones de carga automática utilizadas en la finalización es que comienzan con un
guion bajo; como ya se mencionó, el fpath / FPATH el parámetro debe contener el directorio en
que se almacenan. Si zsh se instaló correctamente en su sistema, entonces fpath / FPATH
contiene automáticamente los directorios necesarios para las funciones estándar.
Para instalaciones incompletas, si compintar no encuentra suficientes archivos que comiencen con un
subrayado (menos de veinte) en la ruta de búsqueda, intentará encontrar más agregando el
directorio _compdir a la ruta de búsqueda. Si ese directorio tiene un subdirectorio llamado de Clientes,
todos los subdirectorios se agregarán a la ruta. Además, si el subdirectorio de Clientes tiene un
subdirectorio llamado Nuestras, compintar agregará todos los subdirectorios de los subdirectorios a la
ruta: esto permite que las funciones estén en el mismo formato que en el zsh fuente
distribución.
¿Cuándo? compintar se ejecuta, busca todos los archivos accesibles a través de fpath / FPATH y lee el
primera línea de cada uno de ellos. Esta línea debe contener una de las etiquetas que se describen a continuación.
Los archivos cuya primera línea no comience con una de estas etiquetas no se consideran parte
del sistema de terminación y no será tratado especialmente.
Las etiquetas son:
#compdef nombre ... [ -{p|P} patrón ... [ -N nombre ...]]
El archivo se cargará automáticamente y se llamará a la función definida en él.
al completar nombre s, cada uno de los cuales es el nombre de un comando cuyo
Los argumentos deben completarse o uno de varios contextos especiales en la forma
-contexto- se describe a continuación.
Cada nombre también puede tener la forma 'cmd=TRANSPORTE GRATUITO'. Al completar el comando cmd,
la función normalmente se comporta como si el comando (o contexto especial) TRANSPORTE GRATUITO iba
siendo completado en su lugar. Esto proporciona una forma de alterar el comportamiento de
funciones que pueden realizar muchas terminaciones diferentes. Es implementado por
configurando el parámetro $ servicio al llamar a la función; la función puede elegir
para interpretar esto como desee, y las funciones más simples probablemente lo ignorarán.
Si #compdef la línea contiene una de las opciones -p or -P, las palabras siguientes son
tomados como patrones. La función se llamará cuando se intente completar para
un comando o contexto que coincide con uno de los patrones. Las opciones -p y -P están
Se utiliza para especificar patrones que se probarán antes o después de otras terminaciones.
respectivamente. Por eso -P se puede utilizar para especificar acciones predeterminadas.
La opción -N se utiliza después de una lista siguiente -p or -P; especifica que restante
las palabras ya no definen patrones. Es posible alternar entre los tres
opciones tantas veces como sea necesario.
#compdef -k style secuencia de teclas ...
Esta opción crea un widget que se comporta como el widget incorporado. style y lo une a
lo dado secuencia de teclass, si hay alguno. los style debe ser uno de los widgets integrados que
realizar la finalización, es decir palabra-completa, eliminar-carácter-o-lista, expandir o completar,
expandir-o-completar-prefijo, opciones de lista, menú completo, menú-expandir-o-completar o
menú inverso completo. Si el zsh / complist el módulo está cargado (ver módulos zsh(1))
el widget menú-seleccionar también está disponible.
Cuando uno de los secuencia de teclass, la función en el archivo se invocará para
generar las coincidencias. Tenga en cuenta que una clave no se volverá a enlazar si ya estaba (que
es, estaba vinculado a algo diferente a clave-indefinida). El widget creado tiene la
mismo nombre que el archivo y se puede vincular a cualquier otra clave usando llave de encuadernación como de costumbre.
#compdef -K nombre del widget style secuencia de teclas [ nombre style ss ...]
Esto es similar a -k excepto que solo uno secuencia de teclas se puede dar un argumento para
cada una nombre del widget style par. Sin embargo, el conjunto completo de tres argumentos puede ser
repetido con un conjunto diferente de argumentos. Tenga en cuenta en particular que el
nombre del widget debe ser distinto en cada conjunto. Si no comienza con '_' esta voluntad
ser agregado. los nombre del widget no debe chocar con el nombre de ningún widget existente:
los nombres basados en el nombre de la función son los más útiles. Por ejemplo,
#compdef -K _foo_completo palabra-completa "^ X ^ C" \
_foo_lista opciones de lista "^ X ^ D"
(todo en una línea) define un widget _foo_completo para completar, vinculado a '^ X ^ C',
y un widget _foo_lista para listar, enlazado a '^ X ^ D'.
#cargaautomática [ opciones ]
Funciones con el #cargaautomática Las etiquetas están marcadas para carga automática, pero no de otra manera.
tratado especialmente. Por lo general, deben llamarse desde dentro de uno de los
funciones de finalización. Alguna opciones suministrado se pasará a la carga automática incorporado;
un uso típico es +X para forzar que la función se cargue inmediatamente. Tenga en cuenta que el
-U y -z Las banderas siempre se agregan implícitamente.
La # es parte del nombre de la etiqueta y no se permiten espacios en blanco después de ella. los #compdef tags
utilice el compilación función descrita a continuación; la principal diferencia es que el nombre del
La función se proporciona implícitamente.
Los contextos especiales para los que se pueden definir funciones de finalización son:
-valor-de-matriz-
El lado derecho de una asignación de matriz (`nombre =(...)')
-parámetro-brace-
El nombre de una expansión de parámetro entre llaves (`${...}')
-asignar-parámetro-
El nombre de un parámetro en una asignación, es decir, en el lado izquierdo de un `='
-mando-
Una palabra en posición de mando
-condición-
Una palabra dentro de una condición (`[[...]]')
-defecto-
Cualquier palabra para la que no se define ninguna otra terminación.
-igual-
Una palabra que comienza con un signo igual.
-primero-
Esto se prueba antes que cualquier otra función de finalización. La función llamada puede establecer
el _compskip parámetro a uno de varios valores: que todas: no hay más finalización
intentó; una cadena que contiene la subcadena .: sin finalización de patrón
se llamará a las funciones; una cadena que contiene tu préstamo estudiantil: la función para el
`-defecto-No se llamará al contexto, pero sí a las funciones definidas para los comandos.
-Matemáticas- Dentro de contextos matemáticos, como '((...))'
-parámetro-
El nombre de una expansión de parámetro (`$...')
-redirecto-
La palabra después de un operador de redirección.
-subíndice-
El contenido de un subíndice de parámetro.
-tilde-
Después de una tilde inicial (`~'), pero antes de la primera barra inclinada de la palabra.
-valor-
En el lado derecho de una tarea.
Se proporcionan implementaciones predeterminadas para cada uno de estos contextos. En la mayoría de los casos
contexto -contexto- es implementado por una función correspondiente _contextopor ejemplo el
contexto-tilde-'y la función'_tilde').
Los contextos -redirecto- y -valor- Permitir información adicional específica del contexto.
(Internamente, esto es manejado por las funciones para cada contexto que llama a la función
_envío.) La información extra se agrega separada por comas.
Para el -redirecto- contexto, la información adicional tiene el formato `-redirecto-,op,comando',
dónde op es el operador de redirección y comando es el nombre del comando en la línea.
Si todavía no hay ningún comando en la línea, el comando el campo estará vacío.
Para el -valor- contexto, la forma es '-valor-,nombre ,comando', dónde nombre es el nombre de la
parámetro en el lado izquierdo de la asignación. En el caso de elementos de una
matriz asociativa, por ejemplo `assoc = (clave ', nombre se expande a 'nombre -clave'. En
ciertos contextos especiales, como completar después de `“piensen de nuevo sobre los incrementos de precio” CFLAGS =', el comando parte da
el nombre del comando, aquí “piensen de nuevo sobre los incrementos de precio”; de lo contrario, está vacío.
No es necesario definir terminaciones completamente específicas ya que las funciones proporcionadas
tratar de generar terminaciones reemplazando progresivamente los elementos con `-defecto-'. Para
ejemplo, al completar después de `foo =', _valor probará los nombres '-valor-, foo,' (Nota
el vacío comando parte), `-valor-, foo, -default-'y`-valor -, - predeterminado -, - predeterminado-', en eso
orden, hasta que encuentre una función para manejar el contexto.
Como un ejemplo:
compilación '_files -g "*.Iniciar sesión"' '-redirect-, 2>, - predeterminado-'
completa los archivos que coinciden* .log'después de'2> 'para cualquier comando sin más específico
manejador definido.
También:
compilación _foo -valor -, - predeterminado -, - predeterminado-
especifica que _foo proporciona terminaciones para los valores de los parámetros para los que no hay especial
se ha definido la función. Esto generalmente lo maneja la función _valor misma.
Se utilizan las mismas reglas de búsqueda al buscar estilos (como se describe a continuación); por ejemplo
estilo z ': finalización: *: *: - redireccionamiento-, 2>, *: *' patrones de archivo '*.Iniciar sesión'
es otra forma de completar después de `2> 'coincidencia de archivos completos'* .log'.
Funciones
La siguiente función está definida por compintar y se puede llamar directamente.
compilación [ -ano ] función nombre ... [ -{p|P} patrón ... [ -N nombre ...]]
compilación -d nombre ...
compilación -k [ -un ] función style secuencia de teclas [ secuencia de teclas ...]
compilación -K [ -un ] función nombre style clave-seq [ nombre style ss ...]
La primera forma define el función para pedir la finalización en los contextos dados como
descrito para el #compdef etiqueta de arriba.
Alternativamente, todos los argumentos pueden tener la forma 'cmd=TRANSPORTE GRATUITO'. Aquí TRANSPORTE GRATUITO
ya debería haber sido definido por `cmd1=TRANSPORTE GRATUITO'líneas en #compdef archivos, como
descrito arriba. El argumento a favor cmd se completará de la misma manera que
TRANSPORTE GRATUITO.
La función El argumento puede ser alternativamente una cadena que contiene casi cualquier shell
código. Si la cadena contiene un signo igual, prevalecerá lo anterior. los
opción -e se puede usar para especificar que el primer argumento se evaluará como shell
código incluso si contiene un signo igual. La cadena se ejecutará utilizando el eval
comando incorporado para generar terminaciones. Esto proporciona una forma de evitar tener que
definir una nueva función de finalización. Por ejemplo, para completar archivos que terminan en `.h' como
argumentos al comando foo:
compilación '_files -g "* .h" ' foo
La opción -n evita cualquier finalización ya definida para el comando o contexto
de ser sobrescrito.
La opción -d elimina cualquier finalización definida para el comando o los contextos enumerados.
La nombre s también puede contener -p, -P y -N opciones como se describe para el #compdef </head>.
El efecto en la lista de argumentos es idéntico, cambiando entre definiciones de
patrones probados inicialmente, patrones probados finalmente y comandos y contextos normales.
El parámetro $ _compskip puede ser establecido por cualquier función definida para un contexto de patrón.
Si se establece en un valor que contiene la subcadena `.' ninguno de los
se llamará a las funciones de patrón; si se establece en un valor que contiene la subcadena
`que todas', no se llamará a ninguna otra función.
La forma con -k define un widget con el mismo nombre que el función que será
llamado para cada uno de los secuencia de teclass; esto es como el #compdef -k tag. La
La función debería generar las terminaciones necesarias y, de lo contrario, se comportará como la
widget incorporado cuyo nombre se da como el style argumento. Los widgets utilizables para
estos son: palabra-completa, eliminar-carácter-o-lista, expandir o completar,
expandir-o-completar-prefijo, opciones de lista, menú completo, menú-expandir-o-completar,
y menú inverso completo, así como las menú-seleccionar si el zsh / complist el módulo es
cargado. La opción -n evita que la clave se vincule si ya está vinculada a
algo mas que clave-indefinida.
La forma con -K es similar y define varios widgets basados en el mismo
función, cada uno de los cuales requiere el conjunto de tres argumentos nombre , style y
clave-sequencia, donde los dos últimos son como para -k y el primero debe ser unico
nombre del widget que comienza con un guión bajo.
Donde sea aplicable, el -a opción hace que la función autocargable, equivalente a
carga automática -U función.
La función compilación se puede utilizar para asociar funciones de terminación existentes con nuevas
comandos. Por ejemplo,
compilación _pids foo
usa la función _pids para completar los ID de proceso para el comando foo.
Tenga en cuenta también el _gnu_generico función que se describe a continuación, que se puede utilizar para completar las opciones
para los comandos que entienden el '--ayuda' opción.
TERMINACIÓN LITE PARA TECHOS PLANOS CONFIGURACIÓN
Esta sección ofrece una breve descripción general de cómo funciona el sistema de terminación, y luego más
detalles sobre cómo los usuarios pueden configurar cómo y cuándo se generan las coincidencias.
Descripción general
Cuando se intenta completar en algún lugar de la línea de comando, comienza el sistema de finalización.
construyendo el contexto. El contexto representa todo lo que sabe el caparazón sobre el
significado de la línea de comando y el significado de la posición del cursor. Esto toma
cuenta de una serie de cosas, incluida la palabra de comando (como `grep'o'zsh') y
opciones para las que la palabra actual puede ser un argumento (como el `-o'opción a zsh lo cual
toma una opción de shell como argumento).
El contexto comienza muy genérico ("estamos comenzando una finalización") y se vuelve más
específico a medida que se aprende más ("la palabra actual está en una posición que suele ser un comando
nombre "o" la palabra actual podría ser un nombre de variable "y así sucesivamente). Por lo tanto, el contexto
variará durante la misma llamada al sistema de finalización.
Esta información de contexto se condensa en una cadena que consta de varios campos
separados por dos puntos, referido simplemente como "el contexto" en el resto de la
documentación. Tenga en cuenta que un usuario del sistema de finalización rara vez necesita redactar un
cadena de contexto, a menos que, por ejemplo, se esté escribiendo una nueva función para realizar la finalización
para un nuevo comando. Lo que un usuario puede necesitar hacer es redactar una style patrón, que es
comparado con un contexto cuando sea necesario para buscar opciones sensibles al contexto que configuran
el sistema de terminación.
Los siguientes párrafos explican cómo se compone un contexto dentro de la función de finalización.
suite. A continuación hay una discusión de cómo estilos están definidos. Los estilos determinan tales
cosas como cómo se generan las coincidencias, de manera similar a las opciones de shell pero con mucho más
control. Se definen con el estilo z comando incorporado (ver módulos zsh(1)).
La cadena de contexto siempre consta de un conjunto fijo de campos, separados por dos puntos y con
dos puntos delanteros antes del primero. Los campos que aún no se conocen se dejan vacíos, pero el
los dos puntos circundantes aparecen de todos modos. Los campos están siempre en orden.
:terminación:función:completar:comando:argumento:etiqueta. Estos tienen el siguiente significado:
· La cadena literal terminación, diciendo que este estilo es usado por la terminación
sistema. Esto distingue el contexto de los utilizados por, por ejemplo, zle
widgets y funciones ZFTP.
· Los función, si se llama a la finalización desde un widget con nombre en lugar de a través del
sistema de terminación normal. Por lo general, está en blanco, pero lo establece una función especial.
widgets como predecir y las diversas funciones en el reproductores directorio de la
distribución al nombre de esa función, a menudo en forma abreviada.
· Los completar actualmente activo, el nombre de la función sin el encabezado
subrayado y con otros guiones bajos convertidos en guiones. Un 'completador' está en
control general de cómo se realizará la finalización; 'completar'es el más simple,
pero existen otros completadores para realizar tareas relacionadas, como la corrección, o para
modificar el comportamiento de un finalizador posterior. Consulte la sección "Funciones de control".
a continuación para más información.
· Los comando o un especial -contexto-, justo cuando aparece siguiendo el #compdef etiqueta
o en el compilación función. Funciones de finalización para comandos que tienen subcomandos
Por lo general, modifica este campo para que contenga el nombre del comando seguido de un signo menos.
signo y el subcomando. Por ejemplo, la función de finalización para el cvs comando
establece este campo en cvs-añadir al completar argumentos a la add subcomando.
· Los argumento; esto indica qué línea de comando o argumento de opción estamos
completando. Para argumentos de comando, esto generalmente toma la forma argumento-n, donde el
n es el número del argumento, y para los argumentos de las opciones la forma opción-optar-n
dónde n es el número del argumento de la opción optar. Sin embargo, esta es solo la
caso si la línea de comando se analiza con opciones y argumentos estándar de estilo UNIX,
Tantas terminaciones no establecen esto.
· Los etiqueta. Como se describió anteriormente, las etiquetas se utilizan para discriminar entre los tipos
de coincidencias que puede generar una función de finalización en un contexto determinado. Cualquier finalización
La función puede usar cualquier nombre de etiqueta que desee, pero se proporciona una lista de las más comunes.
abajo.
El contexto se ensambla gradualmente a medida que se ejecutan las funciones, comenzando con el
punto de entrada principal, que agrega :terminación: y función elemento si es necesario. los
completer luego agrega el completar elemento. La terminación contextual agrega el comando y
argumento opciones. Finalmente, el etiqueta se agrega cuando se conocen los tipos de terminación. Para
ejemplo, el nombre del contexto
: finalización :: completo: dvips: opción-o-1: archivos
dice que se intentó la finalización normal como primer argumento de la opción -o del
comando dvips:
dvips -o ...
y la función de finalización generará nombres de archivo.
Por lo general, se probará la finalización para todas las etiquetas posibles en un orden dado por la finalización.
función. Sin embargo, esto se puede modificar utilizando el orden de etiqueta estilo. La finalización es entonces
restringido a la lista de etiquetas dadas en el orden dado.
La _completa_ayuda El comando bindable muestra todos los contextos y etiquetas disponibles para
finalización en un punto particular. Esto proporciona una forma sencilla de encontrar información para
orden de etiqueta y otros estilos. Se describe en la sección "Comandos enlazables" a continuación.
Al buscar estilos, el sistema de finalización utiliza nombres de contexto completos, incluida la etiqueta.
Por tanto, buscar el valor de un estilo consta de dos cosas: el contexto, que es
coincidir con el patrón de estilo más específico (mejor ajuste) y el nombre del estilo
sí mismo, que debe coincidir exactamente. Los siguientes ejemplos demuestran ese estilo
Los patrones pueden definirse libremente para estilos que se aplican ampliamente, o tan estrictamente definidos como
deseado para estilos que se aplican en circunstancias más limitadas.
Por ejemplo, muchas funciones de finalización pueden generar coincidencias en una forma simple y detallada
y utilice el verboso estilo para decidir qué forma se debe utilizar. Para hacer todas esas funciones
usa la forma detallada, pon
estilo z ':terminación:*' verboso si
en un archivo de inicio (probablemente .zshrc). Esto le da al verboso estilo el valor si en cada
contexto dentro del sistema de terminación, a menos que ese contexto tenga una definición más específica.
Es mejor evitar dar el contexto como '*'en caso de que el estilo tenga algún significado fuera
el sistema de terminación.
Muchos de estos estilos de propósito general se pueden configurar simplemente usando el compilar
función.
Un ejemplo más específico del uso del verboso El estilo es por la terminación de la matar
incorporado. Si se establece el estilo, la función incorporada enumera los textos completos del trabajo y las líneas de comando del proceso;
de lo contrario, muestra los números de trabajo y los PID. Para desactivar el estilo para este uso
sólo:
estilo z ': finalización: *: *: kill: *: *' verboso no
Para un control aún mayor, el estilo puede usar una de las etiquetas `recibas nuevas vacantes en tu correo'o' en costes'. Girar
fuera de visualización detallada solo para trabajos:
estilo z ': finalización: *: *: kill: *: trabajos' verboso no
La -e opción de estilo z incluso permite que el código de la función de finalización aparezca como argumento para
un estilo; esto requiere cierta comprensión de los aspectos internos de las funciones de terminación (ver
ver zshcompwid(1))). Por ejemplo,
estilo z -e ':terminación:*' anfitriones 'respuesta = ($ myhosts)'
Esto fuerza el valor de la anfitriones estilo que se leerá de la variable mis anfitriones cada vez que un
se necesita el nombre de host; esto es útil si el valor de mis anfitriones puede cambiar dinámicamente. Para
Otro ejemplo útil, vea el ejemplo en la descripción del lista de archivos estilo a continuación.
Esta forma puede ser lenta y debe evitarse para estilos comúnmente examinados, como menú y
lista-filas-primero.
Tenga en cuenta que el orden en el que se muestran los estilos se define no importa; el mecanismo de estilo utiliza
la coincidencia más específica posible para un estilo particular para determinar el conjunto de valores.
Más precisamente, se prefieren las cadenas sobre los patrones (por ejemplo,
`: finalización :: completa ::: foo'es más específico que': finalización :: completa ::: * '), o
Se prefieren los patrones más largos a los más cortos.
Una buena regla general es que cualquier patrón de estilo de terminación que deba incluir más de
un comodín*) y que no termine en un nombre de etiqueta, debe incluir los seis dos puntos (:),
posiblemente rodeando comodines adicionales.
Los nombres de estilo como los de las etiquetas son arbitrarios y dependen de la función de finalización.
Sin embargo, las siguientes dos secciones enumeran algunas de las etiquetas y estilos más comunes.
Estándar Etiquetas
Algunos de los siguientes solo se utilizan cuando se buscan estilos particulares y no se refieren a
un tipo de partido.
cuentas
solía buscar el usuarios-hosts style
todas-expansiones
utilizado por el _expandir completer al agregar la única cadena que contiene todos los posibles
expansiones
todos los archivos
para los nombres de todos los archivos (a diferencia de un subconjunto particular, consulte el
archivos-glob etiqueta).
argumentos
para argumentos a un comando
arrays para nombres de parámetros de matriz
claves de asociación
para claves de matrices asociativas; utilizado al completar dentro de un subíndice a un
parámetro de este tipo
marcadores
al completar marcadores (por ejemplo, para URL y el zftp suite de funciones)
construidos
para los nombres de los comandos incorporados
personajes
para caracteres individuales en argumentos de comandos como pocilga. También se usa cuando
completar clases de personajes después de un paréntesis de apertura
mapas de colores
para ID de mapa de color X
colores para nombres de colores
comandos
para los nombres de los comandos externos. También lo utilizan comandos complejos como cvs when
completando subcomandos de nombres.
contextos
para contextos en argumentos a la estilo z comando incorporado
correcciones
utilizado por el _aproximado y _correcto completadores para posibles correcciones
cursores
para los nombres de cursor utilizados por los programas X
tu préstamo estudiantil
utilizado en algunos contextos para proporcionar una forma de proporcionar un valor predeterminado cuando más específico
Las etiquetas también son válidas. Tenga en cuenta que esta etiqueta se utiliza cuando solo el función campo de
el nombre del contexto está establecido
descripciones
utilizado al buscar el valor de la formato estilo para generar descripciones para
tipos de partidos
Médicos
para los nombres de los archivos especiales del dispositivo
directorios
para nombres de directorios - directorios-locales se usa en su lugar al completar
argumentos de cd y comandos integrados relacionados cuando el cdruta la matriz está configurada
pila de directorio
para entradas en la pila de directorios
para X nombres para mostrar
dominios
para dominios de red
expansiones
utilizado por el _expandir Completer para palabras individuales (a diferencia del conjunto completo
de expansiones) resultante de la expansión de una palabra en la línea de comando
extensiones
para extensiones de servidor X
descriptores de archivo
para números de descriptores de archivos abiertos
archivos la etiqueta genérica de coincidencia de archivos utilizada por las funciones que completan nombres de archivos
fuentes para nombres de fuentes X
Tipos de fs
para tipos de sistema de archivos (por ejemplo, para montar mando)
funciones
nombres de funciones - normalmente funciones de shell, aunque ciertos comandos pueden
entender otros tipos de funciones
archivos-glob
para nombres de archivo cuando el nombre ha sido generado por coincidencia de patrones
grupos para nombres de grupos de usuarios
palabras-historia
por palabras de la historia
anfitriones para nombres de host
índices
para índices de matriz
recibas nuevas vacantes en tu correo para trabajos (como se indica en el `recibas nuevas vacantes en tu correo'incorporado)
las interfaces
para interfaces de red
mapas de teclas
para nombres de mapas de teclas zsh
claves
para los nombres de X keysyms
bibliotecas
para nombres de bibliotecas del sistema
límites para los límites del sistema
directorios-locales
para nombres de directorios que son subdirectorios del directorio de trabajo actual
al completar argumentos de cd y comandos integrados relacionados (comparar
directorios de ruta) -- cuando el cdruta la matriz está desarmada, directorios se usa en su lugar
manuales
para los nombres de las páginas del manual
buzones
para carpetas de correo electrónico
mapas para nombres de mapas (por ejemplo, mapas NIS)
la vida
solía buscar el formato estilo para mensajes
modificadores
para nombres de modificadores X
módulos
para módulos (p. ej. zsh módulos)
mis cuentas
solía buscar el usuarios-hosts style
directorios-con-nombre
para directorios con nombre (no lo habrías adivinado, ¿verdad?)
nombres para todo tipo de nombres
grupos de noticias
para grupos de USENET
apodos
para apodos de mapas NIS
opciones
para opciones de comando
mas originales
utilizado por el _aproximado, _correcto y _expandir completa al ofrecer el
cadena original como una coincidencia
otras-cuentas
solía buscar el usuarios-hosts style
otros archivos
para los nombres de cualquier archivo que no sea de directorio. Esto se usa en lugar de todos los archivos when
el lista-directorios-primero el estilo está en efecto.
paquetes
para paquetes (p. ej. rpm o instalado Debian paquetes)
parámetros
para nombres de parámetros
directorios de ruta
para los nombres de los directorios encontrados buscando el cdruta matriz al completar
argumentos de cd y comandos integrados relacionados (comparar directorios-locales)
caminos utilizado para buscar los valores de la expandir, ambiguo y directorios-especiales estilos
vainas para perl pods (archivos de documentación)
puertos para puertos de comunicación
prefijos
para prefijos (como los de una URL)
impresoras
para nombres de colas de impresión
en costes
para identificadores de proceso
nombres de procesos
solía buscar el comando estilo al generar los nombres de los procesos para
Mátalos a todos
secuencias
para secuencias (p. ej. mh secuencias)
dirigidas por expertos
para sesiones en el zftp suite de funciones
señales
para nombres de señales
instrumentos de cuerda
para cadenas (por ejemplo, las cadenas de reemplazo para el cd comando incorporado)
estilos para estilos usados por el comando incorporado zstyle
sufijos
para extensiones de nombre de archivo
tags para etiquetas (p. ej. rpm etiquetas)
tiene como objetivo
para objetivos makefile
zonas horarias
para zonas horarias (p. ej., al configurar el TZ parámetro)
tipos para tipos de lo que sea (por ejemplo, tipos de direcciones para el xhost mando)
urls solía buscar el urls y local estilos al completar URL
usuarios para nombres de usuario
valores para uno de un conjunto de valores en ciertas listas
variante
utilizado por _elegir_variante para buscar el comando a ejecutar al determinar qué programa
está instalado para un nombre de comando en particular.
efectos visuales
para imágenes X
advertencias
solía buscar el formato estilo para advertencias
widgets
para nombres de widgets zsh
ventanas
para ID de ventanas X
opciones-zsh
para opciones de shell
Estándar Estilos
Tenga en cuenta que los valores de varios de estos estilos representan valores booleanos. Cualquiera de los
cadenassu verdadero', `on', `si'y'1'se puede usar para el valor' verdadero 'y cualquiera de los
cadenasfalse', `off', `no'y'0'por el valor' falso '. El comportamiento de cualquier otro
el valor no está definido excepto donde se menciona explícitamente. El valor predeterminado puede ser
'verdadero' o 'falso' si el estilo no está establecido.
Algunos de estos estilos se prueban primero para cada etiqueta posible correspondiente a un tipo de
coincidir, y si no se encontró ningún estilo, para el tu préstamo estudiantil etiqueta. Los estilos más notables de este
tipo son menú , colores de lista y estilos que controlan la lista de finalización, como lleno de lista
y último mensaje. Cuando se prueba para el tu préstamo estudiantil etiqueta, solo la función campo del contexto
se establecerá de modo que un estilo que utilice la etiqueta predeterminada normalmente se definirá a lo largo de las líneas
de:
estilo z ': finalización: *: predeterminado' menú ...
aceptar-exacto
Esto se prueba para la etiqueta predeterminada además de las etiquetas válidas para el actual
contexto. Si se establece en 'verdadero' y cualquiera de las coincidencias de prueba es la misma que la
cadena en la línea de comando, esta coincidencia se aceptará inmediatamente (incluso si
de lo contrario se consideraría ambiguo).
Al completar los nombres de ruta (donde la etiqueta utilizada es `caminos') este estilo acepta cualquier
número de patrones como valor además de los valores booleanos. Nombres de ruta
que coincida con uno de estos patrones se aceptará inmediatamente incluso si el comando
La línea contiene algunos componentes de nombre de ruta más parcialmente escritos y estos no coinciden con ningún archivo
bajo el directorio aceptado.
Este estilo también es utilizado por _expandir Completer para decidir si las palabras que comienzan con
se debe expandir una tilde o expansión de parámetro. Por ejemplo, si hay
parámetros foo y Foobar, la cadena `$ foo'solo se expandirá si aceptar-exacto
se establece en "verdadero"; de lo contrario, se permitirá que el sistema de finalización se complete $ foo
a $ foobar. Si el estilo se establece en `continue', _expandir agregará la expansión como un
El partido y el sistema de finalización también podrán continuar.
aceptar-directorios-exactos
Esto se usa para completar el nombre de archivo. diferente a aceptar-exacto es un booleano. Por
Por defecto, la finalización del nombre de archivo examina todos los componentes de una ruta para ver si hay
terminaciones de ese componente, incluso si el componente coincide con un directorio existente.
Por ejemplo, cuando se completa después / usr / bin /, la función examina posibles
terminaciones a / usr.
Cuando este estilo es "verdadero", cualquier prefijo de una ruta que coincida con un directorio existente
se acepta sin ningún intento de completarlo más. Por lo tanto, en el dado
ejemplo, el camino / usr / bin / se acepta inmediatamente y se intenta completar en ese
directorio.
Si desea inhibir este comportamiento por completo, configure el finalización de ruta estilo (ver
a continuación) a 'falso'.
agregar espacio
Este estilo es utilizado por _expandir Completer. Si es 'verdadero' (el predeterminado), un
Se insertará un espacio después de todas las palabras resultantes de la expansión, o una barra en
el caso de los nombres de directorio. Si el valor es 'presentar', el que complete solo agregará un
espacio para nombres de archivos existentes. O un booleano 'verdadero' o el valor 'presentar' mayo
combinarse con 'subst', en cuyo caso el que complete no agregará un espacio a las palabras
generado a partir de la expansión de una sustitución de la forma '$(...)'o'${...}'.
La _prefijo completer usa este estilo como un valor booleano simple para decidir si un
Se debe insertar un espacio antes del sufijo.
ambiguo
Esto se aplica al completar componentes no finales de rutas de nombre de archivo, en otras palabras
aquellos con una barra inclinada al final. Si está configurado, el cursor se deja después de la primera
componente ambiguo, incluso si la finalización del menú está en uso. El estilo siempre se prueba
con el caminos </head>.
lista de asignaciones
Al completar después de un signo igual que se trata como una tarea, el
El sistema de finalización normalmente completa sólo un nombre de archivo. En algunos casos el valor
puede ser una lista de nombres de archivos separados por dos puntos, como con TRAYECTORIA y similar
parámetros. Este estilo se puede establecer en una lista de patrones que coincidan con los nombres de tales
parámetros.
El valor predeterminado es completar listas cuando la palabra en la línea ya contiene un
colon.
autodescripción
Si se establece, el valor de este estilo se utilizará como descripción para las opciones que no son
descrito por las funciones de finalización, pero que tienen exactamente un argumento. los
secuencia '%d'en el valor será reemplazado por la descripción de este argumento.
Dependiendo de las preferencias personales, puede ser útil establecer este estilo en algo
como 'especificar: %d'. Tenga en cuenta que es posible que esto no funcione para algunos comandos.
evitar-completar
Esto es utilizado por el _todos_partidos Completer para decidir si la cadena que consta de
todas las coincidencias deben agregarse a la lista que se está generando actualmente. Su valor es un
lista de nombres de los que completaron. Si alguno de estos es el nombre del completador que
generado las coincidencias en esta finalización, la cadena no se agregará.
El valor predeterminado para este estilo es `_expandir _vieja_lista _correcto _aproximado', es decir
contiene los datos completos para los que casi nunca se encontrará una cadena con todas las coincidencias.
querido.
ruta-caché
Este estilo define la ruta donde se encuentran los archivos de caché que contienen datos de finalización volcados
se almacenan. Su valor predeterminado es '$ ZDOTDIR / .zcompcache', o'$ INICIO / .zcompcache' si
$ ZDOTDIR no está definido. La caché de finalización no se utilizará a menos que
usar-caché el estilo está establecido.
política-caché
Este estilo define la función que se utilizará para determinar si un caché
necesita reconstrucción. Consulte la sección sobre _cache_inválido función a continuación.
comando de llamada
Este estilo se usa en la función para comandos como “piensen de nuevo sobre los incrementos de precio” y hormiga donde llamando
el comando directamente para generar coincidencias sufre problemas como ser lento o, como
En el caso de “piensen de nuevo sobre los incrementos de precio” potencialmente puede hacer que se ejecuten acciones en el archivo MAKE.
Si se establece en "true", se llama al comando para generar coincidencias. El valor predeterminado
de este estilo es "falso".
comando
En muchos lugares, las funciones de finalización necesitan llamar a comandos externos para generar el
lista de terminaciones. Este estilo se puede utilizar para anular el comando que se llama
en algunos de esos casos. Los elementos del valor se unen con espacios para formar una
línea de comando para ejecutar. El valor también puede comenzar con un guión, en cuyo caso el
el comando habitual se agregará al final; esto es más útil para poner 'incorporado'
ocomando'delante para asegurarse de que se llama a la versión adecuada de un comando,
por ejemplo, para evitar llamar a una función de shell con el mismo nombre que un externo
mando.
Como ejemplo, la función de finalización para ID de proceso utiliza este estilo con la
en costes etiqueta para generar los ID a completar y la lista de procesos para mostrar
(Si el verboso el estilo es 'verdadero'). La lista producida por el comando debe verse
como la salida del ps mando. La primera línea no se muestra, pero es
buscó la cadena `PID'(o'pid') para encontrar la posición de los ID de proceso en
las siguientes líneas. Si la línea no contiene 'PID', los primeros números de cada
de las otras líneas se toman como ID de proceso para completar.
Tenga en cuenta que la función de finalización generalmente tiene que llamar al comando especificado para
cada intento de generar la lista de finalización. Por lo tanto, se debe tener cuidado de
especificar sólo los comandos que tardan poco en ejecutarse y, en particular, para evitar cualquier
que puede que nunca termine.
ruta de comando
Esta es una lista de directorios para buscar comandos para completar. El predeterminado para
este estilo es el valor del parámetro especial camino.
comandos
Esto es utilizado por la función que completa subcomandos para la inicialización del sistema.
scripts (que residen en /etc/init.d o en algún lugar no muy lejos de eso). Su
Los valores dan los comandos predeterminados para completar para aquellos comandos para los que el
La función de finalización no puede encontrarlos automáticamente. El predeterminado para
este estilo son las dos cuerdas 'comienzo'y'detener'.
completar
Esto es utilizado por el _expandir_alias función cuando se invoca como un comando enlazable. Si
establecido en 'verdadero' y la palabra en la línea de comando no es el nombre de un alias,
Se completarán los nombres de alias coincidentes.
opciones-completas
Esto es utilizado por el completador para cd, chdir y pushd. Para estos comandos un - is
utilizado para introducir una entrada de pila de directorio y completarlos es mucho más
común que completar opciones. Por lo tanto, a menos que el valor de este estilo sea "verdadero"
las opciones no se completarán, incluso después de una -. Si es "verdadero", las opciones
se completará después de una inicial - a menos que haya un precedente -- en el comando
la línea.
completar
Las cadenas dadas como valor de este estilo proporcionan los nombres del completador
funciones a utilizar. Las funciones completas disponibles se describen en la sección
"Funciones de control" a continuación.
Cada cadena puede ser el nombre de una función completadora o una cadena de la forma
`función:nombre '. En el primer caso el completar El campo del contexto contendrá
el nombre del que completó sin el guión bajo inicial y con todos los demás
guiones bajos reemplazados por guiones. En el segundo caso, el función es el nombre de
el completador para llamar, pero el contexto contendrá el definido por el usuario nombre en la sección de
completar campo del contexto. Si el nombre comienza con un guion, la cadena para
el contexto se construirá a partir del nombre de la función de finalización como en la primera
caso con el nombre adjunto a él. Por ejemplo:
estilo z ':terminación:*' completar _completo _completo: -foo
Aquí, la finalización llamará al _completo Completer dos veces, una vez usando `completar'y
una vez usando `completo-foo' en el completar campo del contexto. Normalmente, usando
el mismo complemento más de una vez solo tiene sentido cuando se usa con el
`funciones:nombre 'formulario, porque de lo contrario el nombre del contexto será el mismo en todos
llamadas al finalizador; posibles excepciones a esta regla son las _ ignorado y
_prefijo finalistas.
El valor predeterminado para este estilo es `_completo _ ignorado': solo se completará
hecho, primero usando el patrones-ignorados estilo y el $ fignore matriz y luego
sin ignorar los partidos.
condición
Este estilo es utilizado por _lista Completer función para decidir si la inserción de
Los partidos deben retrasarse incondicionalmente. El valor predeterminado es "verdadero".
delimitadores
Este estilo se usa al agregar un delimitador para usar con modificadores de historial o glob
calificadores que tienen argumentos delimitados. Es una serie de delimitadores preferidos.
para agregar. Se prefieren los caracteres no especiales ya que el sistema de finalización puede
de lo contrario se confunden. La lista predeterminada es :, +, /, -, %. La lista puede ser
vacío para forzar la escritura de un delimitador.
discapacitados
Si se establece en "true", el _expandir_alias El comando completer y bindable intentará
para expandir los alias deshabilitados también. El valor predeterminado es "falso".
dominios
Una lista de nombres de dominios de red para completar. Si no está configurado, dominio
los nombres se tomarán del archivo / Etc / resolv.conf.
entorno
El estilo del entorno se utiliza al completar para `sudo'. Se establece en una matriz de
`VAR=valor'asignaciones para ser exportadas al entorno local antes de la
se invoca la finalización para el comando de destino.
estilo z ': finalización: *: sudo ::' entorno \
RUTA = "/ sbin:/ usr / sbin: $ PATH " INICIO = "/ Root"
expandir Este estilo se utiliza al completar cadenas que constan de varias partes, como
nombres de ruta.
Si uno de sus valores es la cadena `prefijo', la palabra parcialmente escrita de la línea
se ampliará en la medida de lo posible incluso si las partes posteriores no se pueden completar.
Si uno de sus valores es la cadena `sufijo', nombres coincidentes para componentes después
También se agregará el primero ambiguo. Esto significa que la cadena resultante
es la cadena inequívoca más larga posible. Sin embargo, se puede utilizar la finalización del menú
para recorrer todos los partidos.
falso Este estilo se puede configurar para cualquier contexto de finalización. Especifica cadenas adicionales
que siempre se completará en ese contexto. La forma de cada cuerda es
`valor:description'; los dos puntos y la descripción pueden omitirse, pero cualquier literal
dos puntos en valor se debe citar con una barra invertida. Alguna description siempre se muestra
junto con el valor de las listas de finalización.
Es importante utilizar un contexto suficientemente restrictivo al especificar falsos
instrumentos de cuerda. Tenga en cuenta que los estilos archivos falsos y parámetros-falsos proporcionar adicional
características al completar archivos o parámetros.
falso siempre
Esto funciona de manera idéntica a la falso estilo excepto que el patrones-ignorados el estilo es
no se aplica a él. Esto hace posible anular un conjunto de coincidencias por completo
estableciendo los patrones ignorados en '*'.
A continuación se muestra una forma de complementar cualquier etiqueta con datos arbitrarios, pero teniendo
se comporta a efectos de visualización como una etiqueta separada. En este ejemplo usamos el
características de la orden de etiqueta estilo para dividir el directorios-con-nombre etiqueta en dos cuando
realizar la finalización con el completador estándar completar para argumentos de cd.
La etiqueta directorios-con-nombre-normal se comporta normalmente, pero la etiqueta
directorios-con-nombre-mio contiene un conjunto fijo de directorios. Esto tiene el efecto de
agregando el grupo de coincidencia `trabajo directorios'con las terminaciones dadas.
estilo z ': finalización :: completa: cd: *' orden de etiqueta \
'directorios-con-nombre: -mine: extra \ directorios
directorios-con-nombre: -normal: con nombre \ directorios *'
estilo z ': finalización :: completo: cd: *: directorios-con-nombre-mío' \
falso siempre midir1 midir2
estilo z ': finalización :: completo: cd: *: directorios-con-nombre-mío' \
patrones-ignorados '*'
archivos falsos
Este estilo se usa al completar archivos y se busca sin etiqueta. Sus valores
son de la forma 'dir:nombres ...'. Esto agregará el nombres (cadenas separadas por
espacios) como posibles coincidencias al completar en el directorio dir, incluso si no hay tal
los archivos realmente existen. El directorio puede ser un patrón; patrón de caracteres o dos puntos en dir
debe ser citado con una barra invertida para ser tratado literalmente.
Esto puede resultar útil en sistemas que admiten sistemas de archivos especiales cuyo nivel superior
Los nombres de ruta no se pueden listar ni generar con patrones globales. También se puede utilizar
para directorios para los que no se tiene permiso de lectura.
El formulario de patrón se puede utilizar para agregar una cierta entrada "mágica" a todos los directorios en un
sistema de archivos particular.
parámetros-falsos
Esto lo utiliza la función de finalización para los nombres de los parámetros. Sus valores son nombres
de los parámetros que aún no se pueden configurar pero que deben completarse de todos modos. Cada
El nombre también puede ir seguido de dos puntos y una cadena que especifique el tipo de
parámetro (como `escalar', `matriz'o'entero'). Si se da el tipo, el nombre
sólo se completará si se requieren parámetros de ese tipo en el
contexto. Los nombres para los que no se especifica ningún tipo siempre se completarán.
lista de archivos
Este estilo controla si los archivos se completan utilizando el mecanismo integrado estándar
se enumerarán con una lista larga similar a ls -l. Tenga en cuenta que esta función utiliza
el módulo de shell zsh / stat para información de archivos; esto carga el incorporado stat lo cual
reemplazará cualquier externo stat ejecutable. Para evitar esto, el siguiente código puede ser
incluido en un archivo de inicialización:
zmodcargar -i zsh / stat
inhabilitar stat
El estilo puede establecerse en un valor "verdadero" (o "que todas'), o uno de los valores
`insertar'o'lista', lo que indica que los archivos se enumerarán en formato largo en todos los
circunstancias, o al intentar insertar un nombre de archivo, o al enumerar nombres de archivo
sin intentar insertar uno.
De manera más general, el valor puede ser una matriz de cualquiera de los valores anteriores, opcionalmente
seguido por =número. Si número está presente da el número máximo de coincidencias para
qué estilo de lista larga se utilizará. Por ejemplo,
estilo z ':terminación:*' lista de archivos lista = 20 insertar = 10
especifica que se utilizará formato largo al enumerar hasta 20 archivos o al insertar un
archivo con hasta 10 coincidencias (asumiendo que se va a mostrar una lista, por ejemplo
en una terminación ambigua), de lo contrario se utilizará un formato corto.
estilo z -e ':terminación:*' lista de archivos \
'(( $ {+ NUMERIC} )) && respuesta = (verdadero) '
especifica que se utilizará un formato largo cada vez que se proporcione un argumento numérico,
más formato corto.
patrones de archivo
Esto es utilizado por la función estándar para completar nombres de archivos, _files. Si el
el estilo no está configurado se ofrecen hasta tres etiquetas, `archivos-glob', `directorios'y
`todos los archivos', dependiendo de los tipos de archivos esperados por el llamador de _files.
Los dos primeros (`archivos-glob'y'directorios') normalmente se ofrecen juntos a
facilitan completar archivos en subdirectorios.
La patrones de archivo style proporciona alternativas a las etiquetas predeterminadas, que no son
usó. Su valor consta de elementos de la forma 'patrón:etiqueta'; cada cuerda puede
contener cualquier número de tales especificaciones separadas por espacios.
La patrón es un patrón que se utilizará para generar nombres de archivo. Cualquier ocurrencia
de la secuencia '%p'es reemplazado por cualquier patrón (s) pasado por la función que llama
_files. Los dos puntos en el patrón deben estar precedidos por una barra invertida para hacerlos
distinguible del colon antes de la etiqueta. Si se necesita más de un patrón,
los patrones se pueden dar entre llaves, separados por comas.
La etiquetas de todas las cadenas en el valor serán ofrecidos por _files y se usa cuando
buscando otros estilos. Alguna etiquetas en la misma palabra se ofrecerán al mismo
tiempo y antes de palabras posteriores. Si no:etiqueta'se le da el'archivos'se utilizará la etiqueta.
La etiqueta también puede ir seguido de un segundo dos puntos opcional y una descripción, que
se utilizará para el `%d'en el valor de la formato estilo (si eso está configurado) en su lugar
de la descripción predeterminada proporcionada por la función de finalización. Si la descripcion
dado aquí contiene en sí mismo un%d', que se sustituye por la descripción suministrada
por la función de finalización.
Por ejemplo, para hacer rm comando primero complete solo los nombres de los archivos de objeto y
luego los nombres de todos los archivos si no hay un archivo de objeto coincidente:
estilo z ': finalización: *: *: rm: *: *' patrones de archivo \
'* .o: archivos-objeto' '%p:todos-los-archivos'
Para alterar el comportamiento predeterminado de finalización de archivos: ofrezca archivos que coincidan con un patrón
y directorios en el primer intento, luego todos los archivos, para ofrecer solo coincidencias
archivos en el primer intento, luego directorios y finalmente todos los archivos:
estilo z ':terminación:*' patrones de archivo \
'%p:archivos globales' '*(-/):directorios' '*:todos los archivos'
Esto funciona incluso cuando no hay un patrón especial: _files coincide con todos los archivos usando
el patrón `*' en el primer paso y se detiene cuando ve este patrón. Tenga en cuenta también
nunca probará un patrón más de una vez para un solo intento de finalización.
Durante la ejecución de las funciones de terminación, el EXTENDIDO_GLOB la opción está en
efecto, por lo que los caracteres `#', `~'y'^' tienen significados especiales en los patrones.
clasificación de archivos
La función de finalización de nombre de archivo estándar utiliza este estilo sin una etiqueta para
determinar en qué orden se deben enumerar los nombres; la finalización del menú se ciclará
a través de ellos en el mismo orden. Los valores posibles son: `tamaño' para ordenar por
tamaño del archivo; `enlaces' para ordenar por el número de enlaces al archivo;
`modificación'(o'time'o'datos') para ordenar por la hora de la última modificación;
`de la máquina' para ordenar por la última hora de acceso; y `inode'(o'el cambio') para ordenar por
última hora de cambio de inodo. Si el estilo se establece en cualquier otro valor, o no se establece, los archivos
se ordenarán alfabéticamente por nombre. Si el valor contiene la cadena `marcha atrás',
la clasificación se realiza en el orden inverso. Si el valor contiene la cadena `seguir',
las marcas de tiempo están asociadas con los objetivos de los enlaces simbólicos; el valor predeterminado es usar
las marcas de tiempo de los propios enlaces.
filtrar Esto es utilizado por el complemento LDAP para completar la dirección de correo electrónico para especificar el
atributos con los que comparar al filtrar entradas. Entonces, por ejemplo, si el estilo
está configurado en 'sn', el cotejo se realiza contra apellidos. Se utiliza el filtrado LDAP estándar
por lo que se omite la coincidencia de finalización normal. Si no se establece este estilo, el LDAP
se salta el complemento. Es posible que también deba configurar el comando estilo para especificar cómo
conectarse a su servidor LDAP.
lista forzada
Esto obliga a que se muestre una lista de finalizaciones en cualquier punto donde se realiza la lista,
incluso en los casos en que la lista normalmente se suprimiría. Por ejemplo, normalmente
la lista solo se muestra si hay al menos dos coincidencias diferentes. Configurando
este estilo a ` ', la lista siempre se mostrará, incluso si solo hay un
partido único que será inmediatamente aceptado. El estilo también se puede establecer en un
número. En este caso, la lista se mostrará si hay al menos tantos
coincidencias, incluso si todos insertaran la misma cadena.
Este estilo se prueba para la etiqueta predeterminada, así como para cada etiqueta válida para el
finalización actual. Por lo tanto, la cotización solo puede ser forzada para ciertos tipos de
partido.
formato Si esto está configurado para el descripciones etiqueta, su valor se utiliza como una cadena para mostrar
coincidencias anteriores en las listas de finalización. La secuencia `%d' en esta cadena será
reemplazado con una breve descripción de lo que son estos partidos. Esta cadena también puede
contener las siguientes secuencias para especificar los atributos de salida como se describe en el
sección EXPANSIÓN DE SECUENCIAS PROMPT en zshmisc(1): `%B', `%S', `%U', `%F', `%K'
y sus equivalentes en minúsculas, así como `%{...%}'. `%F', `%K'y'%{...%}'
tomar argumentos en la misma forma que la expansión rápida. Tenga en cuenta que la secuencia `%G'
no está disponible; un argumento para `%{' debería usarse en su lugar.
El estilo se prueba con cada etiqueta válida para la terminación actual antes de que sea
probado para el descripciones etiqueta. Por lo tanto, se pueden definir diferentes cadenas de formato para
diferentes tipos de partido.
Tenga en cuenta también que algunas funciones completadoras definen ` adicionales%'-secuencias. Estos son
descritas para las funciones más completas que hacen uso de ellas.
Algunas funciones de finalización muestran mensajes que se pueden personalizar configurando este
estilo para el la vida etiqueta. Aquí, el `%d' se reemplaza con un mensaje dado por el
función de finalización.
Finalmente, la cadena de formato se busca con el advertencias etiqueta, para usar cuando no
se podrían generar coincidencias en absoluto. En este caso el `%d' se sustituye por el
descripciones de las coincidencias que se esperaban separadas por espacios. La secuencia
`%D' se reemplaza con las mismas descripciones separadas por saltos de línea.
Es posible usar especificadores de ancho de campo de estilo printf con `%d' y similares
secuencias de escape. Esto es manejado por el formato z comando integrado desde el
zsh / zutil módulo, ver módulos zsh(1).
glob Esto es utilizado por el _expandir completador Si se establece en 'verdadero' (el valor predeterminado),
se intentará englobar las palabras resultantes de una sustitución anterior (ver
el sustitutas estilo) o bien la cadena original de la línea.
global Si se establece en `true' (el valor predeterminado), el _expandir_alias completa y enlazable
El comando intentará expandir los alias globales.
Nombre del grupo
El sistema de finalización puede agrupar diferentes tipos de partidos, que aparecen en
listas separadas. Este estilo se puede utilizar para dar los nombres de grupos para determinados
etiquetas Por ejemplo, en la posición de mando, el sistema de finalización genera nombres de
comandos incorporados y externos, nombres de alias, funciones y parámetros de shell y
palabras reservadas como posibles terminaciones. Para tener los comandos externos y shell
funciones enumeradas por separado:
estilo z ':finalización:*:*:-comando-:*:comandos' \
Nombre del grupo comandos
estilo z ':finalización:*:*:-comando-:*:funciones' \
Nombre del grupo funciones
Como consecuencia, cualquier coincidencia con la misma etiqueta se mostrará en el mismo grupo.
Si el nombre dado es la cadena vacía, el nombre de la etiqueta para las coincidencias será
utilizado como el nombre del grupo. Entonces, para tener todos los diferentes tipos de coincidencias
se muestra por separado, uno puede simplemente configurar:
estilo z ':terminación:*' Nombre del grupo ''
Todas las coincidencias para las que no se haya definido un nombre de grupo se pondrán en un grupo llamado
-defecto-.
orden de grupo
Este estilo es adicional al Nombre del grupo estilo para especificar el orden de visualización
de los grupos definidos por ese estilo (comparar orden de etiqueta, que determina qué
terminaciones aparecen en absoluto). Los grupos nombrados se muestran en el orden dado; ningún
otros grupos se muestran en el orden definido por la función de finalización.
Por ejemplo, para tener nombres de comandos integrados, funciones de shell y
los comandos aparecen en ese orden cuando se completan en la posición de comando:
estilo z ':finalización:*:*:-comando-:*:*' orden de grupo \
construidos funciones comandos
grupos Una lista de nombres de grupos UNIX. Si esto no está establecido, los nombres de grupo se toman de la
Base de datos YP o el archivo `/ etc / group'.
hidden Si se establece en 'verdadero', no se mostrarán las coincidencias para el contexto dado,
aunque cualquier descripción de los partidos establecidos con el formato se mostrará el estilo.
Si se establece en `que todas', ni siquiera se mostrará la descripción.
Tenga en cuenta que los partidos aún se completarán; simplemente no se muestran en la lista.
Para evitar que los partidos se consideren como posibles pases completos, el orden de etiqueta
El estilo se puede modificar como se describe a continuación.
anfitriones Una lista de nombres de hosts que deben completarse. Si esto no está configurado, los nombres de host
se toman del archivo `/ etc / hosts'.
puertos-hosts
Este estilo lo utilizan los comandos que necesitan o aceptan nombres de host y puertos de red.
Las cadenas en el valor deben tener la forma `host:Puerto'. Los puertos válidos son
determinado por la presencia de nombres de host; varios puertos para el mismo host pueden
Aparecer.
ignorar-línea
Esto se prueba para cada etiqueta válida para la finalización actual. Si está configurado para
`verdadero', ninguna de las palabras que ya están en la línea se considerará como
posibles terminaciones. Si se establece en `corriente', la palabra sobre la que se encuentra el cursor
no se considerará como una posible terminación. El valor `actual-mostrado' es similar
pero solo se aplica si la lista de finalizaciones se muestra actualmente en la pantalla.
Finalmente, si el estilo se establece en `Otros', todas las palabras en la línea excepto por el
el actual quedará excluido de las posibles terminaciones.
Los valores `corriente'y'actual-mostrado' son un poco como lo contrario de la
aceptar-exacto estilo: solo se completarán las cadenas a las que les falten caracteres.
Tenga en cuenta que es casi seguro que no desea establecer esto en `verdadero' o `Otros' para
contexto general como `:terminación:*'. Esto se debe a que no permitiría
completar, por ejemplo, opciones varias veces incluso si el comando en cuestión
acepta la opción más de una vez.
ignorar a los padres
El estilo se prueba sin una etiqueta mediante la función que completa los nombres de ruta para
determinar si ignorar los nombres de directorios ya mencionados en el
palabra actual, o el nombre del directorio de trabajo actual. El valor debe incluir
una o ambas de las siguientes cadenas:
con el futuro bebé El nombre de cualquier directorio cuya ruta ya esté contenida en la palabra en el
la línea es ignorada. Por ejemplo, al completar después de foo/../, El directorio
foo no se considerará una finalización válida.
pwd El nombre del directorio de trabajo actual no se completará; por lo tanto, para
ejemplo, finalización después .. / no usará el nombre del actual
directorio.
Además, el valor puede incluir uno o ambos de:
.. Ignore los directorios especificados solo cuando la palabra en la línea contenga el
subcadena `.. /'.
directorio
Ignore los directorios especificados solo cuando los nombres de los directorios son
completado, no al completar los nombres de los archivos.
Los valores excluidos actúan de manera similar a los valores de la patrones-ignorados estilo,
para que puedan ser restituidos a consideración por el _ ignorado completador
extra detallado
Si se establece, la lista de finalización es más detallada a costa de una probable disminución
en la velocidad de finalización. El rendimiento de finalización se verá afectado si este estilo se establece en
'cierto'.
patrones-ignorados
Una lista de patrones; cualquier finalización de prueba que coincida con uno de los patrones será
excluidos de la consideración. El _ ignorado completer puede aparecer en la lista de
completers para restaurar las coincidencias ignoradas. Esta es una versión más configurable de
el parámetro de la cáscara $ fignore.
Tenga en cuenta que EXTENDIDO_GLOB la opción se establece durante la ejecución de finalización
funciones, por lo que los caracteres `#', `~'y'^' tienen significados especiales en el
.
insertar Este estilo es utilizado por _todos_partidos completador para decidir si insertar el
lista de todas las coincidencias incondicionalmente en lugar de agregar la lista como otra coincidencia.
ID de inserción
Al completar los ID de proceso, por ejemplo, como argumentos para el matar y esperar construidos
el nombre de un comando se puede convertir al ID de proceso adecuado. Un problema
surge cuando el nombre del proceso escrito no es único. Por defecto (o si este estilo es
establecer explícitamente en `menú ') el nombre se convertirá inmediatamente en un conjunto de
posibles identificaciones, y se iniciará la finalización del menú para recorrerlos.
Si el valor del estilo es `soltero', el shell esperará hasta que el usuario haya escrito
suficiente para hacer que el comando sea único antes de convertir el nombre en una ID; intentos de
la finalización no tendrá éxito hasta ese punto. Si el valor es cualquier otro
cadena, la finalización del menú se iniciará cuando la cadena escrita por el usuario sea más larga
que el prefijo común a los ID correspondientes.
insert-tab
Si esto se establece en 'verdadero', el sistema de finalización insertará un carácter TAB
(asumiendo que se usó para iniciar la finalización) en lugar de realizar la finalización cuando
no hay ningún carácter que no esté en blanco a la izquierda del cursor. Si está configurado para
'falso', la finalización se realizará incluso allí.
El valor también puede contener las subcadenas `pendiente'o'pendiente=val'. En esto
caso, el carácter escrito se insertará en lugar de iniciar la finalización cuando
hay una entrada sin procesar pendiente. si un val se da, no se completará
si hay al menos esa cantidad de caracteres de entrada sin procesar. esto es a menudo
útil al pegar caracteres en una terminal. Tenga en cuenta, sin embargo, que se basa en
el $PENDIENTE parámetro especial de la zsh / zle el módulo está configurado correctamente, lo cual es
no garantizado en todas las plataformas.
El valor predeterminado de este estilo es 'verdadero' excepto para completarse dentro de variado
comando incorporado donde es 'falso'.
insertar-no ambiguo
Esto es utilizado por el _coincidir y _aproximado completadores Estos completadores son a menudo
utilizado con la finalización del menú, ya que la palabra escrita puede tener poca semejanza con la
finalización definitiva. Sin embargo, si este estilo es `verdadero', el completador iniciará el menú
completarse solo si no pudiera encontrar una cadena inicial inequívoca al menos tan larga como
la cadena original escrita por el usuario.
En el caso de la _aproximado completador, el campo de completador en el contexto será
ya se han establecido en uno de correcto-número or aproximado-número, donde el número son los
número de errores que fueron aceptados.
En el caso de la _coincidir completer, el estilo también se puede establecer en la cadena
`patrón'. Luego, el patrón en la línea se deja sin cambios si no coincide
inequívocamente
mantener el prefijo
Este estilo es utilizado por _expandir completador Si es 'verdadero', el completador
intente mantener un prefijo que contenga una tilde o una expansión de parámetro. Por lo tanto, para
ejemplo, la cadena `~/f*' se expandiría a `~ / foo' en lugar de
`/inicio/usuario/foo'. Si el estilo se establece en `cambiado' (predeterminado), el prefijo
solo se dejará sin cambios si hubo otros cambios entre las palabras expandidas y
la palabra original de la línea de comando. Cualquier otro valor obliga al prefijo a ser
expandido incondicionalmente.
El comportamiento de _expandir cuando este estilo es 'verdadero' es causar _expandir rendirse
cuando una sola expansión con el prefijo restaurado es igual al original; por eso
cualquier completadores restantes pueden ser llamados.
último mensaje
Esta es una forma más flexible de la ALWAYS_LAST_PROMPT opción. Si es 'verdadero',
el sistema de finalización intentará devolver el cursor a la línea de comando anterior
después de mostrar una lista de finalización. Se prueba para todas las etiquetas válidas para el
finalización actual, entonces el tu préstamo estudiantil etiqueta. El cursor se moverá de nuevo a la
línea anterior si este estilo es `verdadero' para todos los tipos de coincidencia. Tenga en cuenta que a diferencia de la
ALWAYS_LAST_PROMPT opción esto es independiente del argumento numérico.
archivos de hosts conocidos
Este estilo debe contener una lista de archivos para buscar nombres de host y (si el
IP de uso estilo está configurado) Direcciones IP en un formato compatible con ssh hosts_conocidos
archivos Si no está configurado, los archivos / etc / ssh / ssh_known_hosts y ~ / .ssh / hosts_conocidos
son usados.
lista Este estilo es utilizado por _historia_completa_palabra comando enlazable. Si está configurado para
`verdadero' no tiene ningún efecto. Si se establece en 'falso', no se mostrarán las coincidencias. Esta
anula la configuración de las opciones que controlan el comportamiento de cotización, en particular
AUTO_LISTA. El contexto siempre comienza con `:completion:historia-palabras'.
colores de lista
Si zsh / complist el módulo está cargado, este estilo se puede usar para establecer el color
especificaciones. Este mecanismo reemplaza el uso del ZLS_COLORS y ZLS_COLORES
parámetros descritos en la sección 'El módulo zsh/complist' en módulos zsh(1), pero
la sintaxis es la misma.
Si este estilo se configura para el tu préstamo estudiantil etiqueta, las cadenas en el valor se toman como
especificaciones que se van a utilizar en todas partes. Si está configurado para otras etiquetas, el
las especificaciones se usan solo para coincidencias del tipo descrito por la etiqueta. Para
esto para que funcione mejor, el Nombre del grupo el estilo debe establecerse en una cadena vacía.
Además de establecer estilos para etiquetas específicas, también es posible usar grupos
nombres especificados explícitamente por el Nombre del grupo etiqueta junto con `(grupo)'sintaxis
permitido por el ZLS_COLORS y ZLS_COLORES parámetros y simplemente usando el tu préstamo estudiantil
</head>.
Es posible utilizar cualquier especificación de color ya configurada para la versión GNU
del ls mando:
estilo z ': finalización: *: predeterminado' colores de lista \
${(s.:.)LS_COLORS}
Los colores predeterminados son los mismos que para GNU. ls comando y se puede obtener por
establecer el estilo en una cadena vacía (es decir, '').
lista-directorios-primero
Esto se utiliza para completar el archivo. Si se establece, se enumeran los directorios que se completarán
por separado y antes de la finalización de otros archivos, independientemente del orden de las etiquetas.
Además, la etiqueta otros archivos se usa en lugar de todos los archivos para los restantes
archivos, para indicar que no se presentan directorios con esa etiqueta.
lista agrupada
Si este estilo es 'verdadero' (el valor predeterminado), el sistema de finalización intentará hacer
ciertos listados de finalización más compactos al agrupar coincidencias. Por ejemplo, opciones
para comandos que tienen la misma descripción (que se muestra cuando el verboso el estilo está configurado para
`true') aparecerá como una sola entrada. Sin embargo, la selección de menú se puede utilizar para
recorrer todos los partidos.
lleno de lista
Esto se prueba para cada etiqueta válida en el contexto actual, así como el tu préstamo estudiantil
etiqueta. Si se establece en 'verdadero', las coincidencias correspondientes aparecen en los listados como si
el LISTA_PACKED se estableció la opción. Si se establece en 'falso', se enumeran
normalmente.
indicador de lista
Si este estilo se configura para el tu préstamo estudiantil etiqueta, listas de finalización que no caben en la
La pantalla se puede desplazar (ver la descripción de la zsh / complist módulo en
módulos zsh(1)). El valor, si no la cadena vacía, se mostrará después de cada
screenful y el shell solicitará que se presione una tecla; si el estilo se establece en el
cadena vacía, se utilizará un indicador predeterminado.
El valor puede contener las secuencias de escape: `%l'o'%L', que será reemplazado por
el número de la última línea visualizada y el número total de líneas; `%m'o'%M',
el número del último partido mostrado y el número total de partidos; y `%p'y
`%P', `Top' cuando al principio de la lista, `Inferior' cuando al final y al
de lo contrario, la posición se muestra como un porcentaje de la longitud total. En cada caso el
el formulario con la letra mayúscula será reemplazado por una cadena de ancho fijo, rellenada
a la derecha con espacios, mientras que la forma minúscula será reemplazada por una variable
cadena de ancho. Como en otras cadenas de solicitud, las secuencias de escape `%S', `%s', `%B',
`%b', `%U', `%u' para entrar y salir de los modos de visualización destacado, negrita y
subrayar y `%F', `%f', `%K', `%k' para cambiar el fondo de primer plano
color, también están disponibles, al igual que la forma `%{...%}' para encerrar secuencias de escape
que se muestran con cero (o, con un argumento numérico, algún otro) ancho.
Después de eliminar este aviso, la variable PROMPT DE LISTA debe estar desarmado para la eliminación
para tomar efecto.
lista-filas-primero
Este estilo se prueba de la misma manera que el lleno de lista estilo y determina
si las coincidencias deben enumerarse en filas primero como si el LIST_ROWS_FIRST
se estableció la opción.
lista-sufijos
Este estilo es utilizado por la función que completa los nombres de archivo. Si es 'verdadero', y
se intenta completar en una cadena que contiene varios nombres de ruta parcialmente escritos
componentes, se mostrarán todos los componentes ambiguos. De lo contrario, la finalización se detiene en
el primer componente ambiguo.
separador de lista
El valor de este estilo se usa en la lista de finalización para separar la cadena para
completar a partir de una descripción cuando sea posible (por ejemplo, al completar las opciones). Eso
por defecto es `--' (dos guiones).
local Esto es para usar con funciones que completan URLs para las cuales los archivos correspondientes
están disponibles directamente desde el sistema de archivos. Su valor debe constar de tres
cadenas: un nombre de host, la ruta a las páginas web predeterminadas para el servidor y el
nombre de directorio utilizado por un usuario que coloca páginas web dentro de su área de inicio.
Por ejemplo:
estilo z ':terminación:*' local acabado \
/var/http/publico/brindis public_html
Finalización después de `http://toast/stuff/' buscará archivos en el directorio
/var/http/public/brindis/cosas, mientras que la finalización después de `http://toast/~yousir/' voluntad
buscar archivos en el directorio ~ustedeseñor/public_html.
directorio de correo
Si se establece, zsh supondrá que los archivos del buzón se pueden encontrar en el directorio especificado.
Por defecto es `~ / Correo'.
partido-original
Esto es utilizado por el _coincidir completador Si está configurado para only, _coincidir tratará de
generar coincidencias sin insertar un `*' en la posición del cursor. Si se establece en cualquier
otro valor no vacío, primero intentará generar coincidencias sin insertar el
`*' y si eso no produce coincidencias, lo intentará de nuevo con el `*' insertado. Si se
no se establece o se establece en la cadena vacía, la coincidencia solo se realizará con `*'
insertado.
matcher
Este estilo se prueba por separado para cada etiqueta válida en el contexto actual. Su
valor se prueba antes de cualquier especificación de coincidencia dada por el lista de coincidencias estilo. Eso
debe estar en la forma descrita en la sección 'Control de coincidencia de finalización' en
zshcompwid(1). Para ver ejemplos de esto, consulte la descripción del orden de etiqueta estilo.
lista de coincidencias
Este estilo se puede establecer en una lista de especificaciones de coincidencia que se aplicarán
En todas partes. Las especificaciones de coincidencia se describen en la sección `Coincidencia de finalización
Control' en zshcompwid(1). El sistema de finalización los probará uno tras otro.
para cada completador seleccionado. Por ejemplo, para probar la primera terminación simple y, si
que no genera coincidencias, terminación que no distingue entre mayúsculas y minúsculas:
estilo z ':terminación:*' lista de coincidencias '' 'm: {a-zA-Z} = {A-Za-z}'
Por defecto, cada especificación reemplaza a la anterior; sin embargo, si un
especificación tiene el prefijo +, se añade a la lista existente. Por lo tanto, es
posible crear especificaciones cada vez más generales sin repetición:
estilo z ':terminación:*' lista de coincidencias \
'' '+m:{az}={AZ}' '+m:{AZ}={az}'
Es posible crear especificaciones de coincidencia válidas para finalistas particulares al
utilizando el tercer campo del contexto. Esto se aplica sólo a los completadores que
anular la lista global de coincidencias, que a partir de este escrito incluye solo _prefijo
y _ ignorado. Por ejemplo, para usar los completadores _completo y _prefijo pero permite
finalización que no distingue entre mayúsculas y minúsculas solo con _completo:
estilo z ':terminación:*' completar _completo _prefijo
estilo z ':finalización:*:completa:*:*:*' lista de coincidencias \
'' 'm: {a-zA-Z} = {A-Za-z}'
Nombres definidos por el usuario, como se explica para el completar estilo, están disponibles. Esta
hace posible probar el mismo completador más de una vez con diferentes coincidencias
especificaciones cada vez. Por ejemplo, para intentar la finalización normal sin coincidencia
especificación, luego finalización normal con coincidencia insensible a mayúsculas y minúsculas, luego
corrección y, finalmente, finalización parcial de palabras:
estilo z ':terminación:*' completar \
_completo _correcto _completo:foo
estilo z ':finalización:*:completa:*:*:*' lista de coincidencias \
'' 'm: {a-zA-Z} = {A-Za-z}'
estilo z ':finalización:*:foo:*:*:*' lista de coincidencias \
'm:{a-zA-Z}={A-Za-z} r:|[-_./]=* r: | = * '
Si el estilo no está definido en ningún contexto, no se aplica ninguna especificación de coincidencia. Tenga en cuenta también
que algunos completadores como _correcto y _aproximado no uses el fósforo
especificaciones en absoluto, aunque estos completadores solo se llamarán una vez, incluso
si el lista de coincidencias contiene más de un elemento.
Cuando varias especificaciones sean útiles, tenga en cuenta que el toda la finalización está hecha
para cada elemento de lista de coincidencias, que puede reducir rápidamente el rendimiento del shell.
Como regla general aproximada, de una a tres cuerdas darán un rendimiento aceptable.
Por otro lado, poner múltiples valores separados por espacios en la misma cadena
no tiene un impacto apreciable en el rendimiento.
Si no hay un comparador actual o está vacío, y la opción NO_CASE_GLOB será en
efecto, la comparación de archivos se realiza sin distinción entre mayúsculas y minúsculas en cualquier caso.
Sin embargo, cualquier comparador debe especificar explícitamente la coincidencia que no distingue entre mayúsculas y minúsculas si eso es
requerida.
max-errores
Esto es utilizado por el _aproximado y _correcto funciones completadoras para determinar la
número máximo de errores a permitir. El completador intentará generar finalizaciones.
permitiendo primero un error, luego dos errores, y así sucesivamente, hasta que se produzca una coincidencia o
se encontraron coincidencias o el número máximo de errores dado por este estilo ha sido
alcanzado.
Si el valor de este estilo contiene la cadena `numérico', la función completa
tomará cualquier argumento numérico como el número máximo de errores permitido. Para
ejemplo, con
estilo z ':completado:*:aproximado:::' max-errores 2 numérico
se permiten dos errores si no se da un argumento numérico, pero con un argumento numérico
de seis (como en `ESC-6 TAB'), se aceptan hasta seis errores. Por lo tanto con un valor de
`0 numérico', no se intentará completar la corrección a menos que un argumento numérico
es dado.
Si el valor contiene la cadena `no numérico', el completador No tratar
generar terminaciones corregidas cuando se les da un argumento numérico, por lo que en este caso el
número dado debe ser mayor que cero. Por ejemplo, `2 no numérico'especifica
que normalmente se realizará la corrección de la finalización con dos errores, pero si se
se proporciona un argumento numérico, no se realizará la corrección de la finalización.
El valor predeterminado para este estilo es `2 numérico'.
ancho máximo de coincidencias
Este estilo se utiliza para determinar el compromiso entre el ancho de la pantalla utilizada
para las coincidencias y el ancho utilizado para sus descripciones cuando el verboso el estilo esta de moda
efecto. El valor da el número de columnas de visualización para reservar para los partidos.
El valor predeterminado es la mitad del ancho de la pantalla.
Esto tiene el mayor impacto cuando varias coincidencias tienen la misma descripción y también
ser agrupados. Aumentar el estilo permitirá agrupar más coincidencias
juntos; disminuirlo permitirá que se vea más parte de la descripción.
menú Si esto es `verdadero' en el contexto de cualquiera de las etiquetas definidas para el actual
se utilizará la finalización del menú de finalización. El valor de una etiqueta específica tomará
precedencia sobre eso para el `tu préstamo estudiantil' etiqueta.
Si ninguno de los valores encontrados de esta manera es "verdadero", pero al menos uno está establecido en
`auto', el shell se comporta como si el AUTO_MENÚ La opción está configurada.
Si uno de los valores se establece explícitamente en 'falso', la finalización del menú será
desactivada explícitamente, anulando la MENÚ_COMPLETO opción y otras configuraciones.
En la forma `si =número', donde'si' puede ser cualquiera de los valores 'verdaderos' ('si', `su verdadero',
`on'y'1'), la finalización del menú se activará si hay al menos número partidos.
En la forma `si = largo', la finalización del menú se activará si la lista no cabe
en la pantalla. Esto no activa la finalización del menú si el widget normalmente solo
enumera las finalizaciones, pero la finalización del menú se puede activar en ese caso con el valor
`sí = lista larga' (Normalmente, el valor `seleccionar = lista largadescrito más adelante es más
útil ya que proporciona control sobre el desplazamiento).
De manera similar, con cualquiera de los valores 'falsos' (como en 'no=10'), la finalización del menú No
usarse si hay número o más coincidencias.
El valor de este widget también controla la selección del menú, tal como lo implementa el
zsh / complist módulo. Los siguientes valores pueden aparecer al lado o en su lugar
de los valores anteriores.
Si el valor contiene la cadena `selecciona', se iniciará la selección del menú
incondicionalmente.
En la forma `seleccionar =número', la selección del menú solo se iniciará si hay al menos
número partidos. Si los valores de más de una etiqueta proporcionan un número, el más pequeño
se toma el número.
La selección de menú se puede desactivar explícitamente definiendo un valor que contenga el
cadena`no-seleccionar'.
También es posible iniciar la selección del menú solo si la lista de coincidencias no
ajuste en la pantalla usando el valor `seleccionar = largo'. Para iniciar la selección de menú incluso
si el widget actual solo realiza una lista, use el valor `seleccionar = lista larga'.
Para activar la finalización del menú o la selección del menú cuando hay un cierto número de
cerillas or la lista de coincidencias no cabe en la pantalla, tanto de `si ='y
`seleccionar =' se puede dar dos veces, una con un número y otra con `long'o
`Larga lista'.
Finalmente, es posible activar dos modos especiales de selección de menú. La palabra
`interactivo' en el valor hace que el modo interactivo se ingrese inmediatamente cuando
se inicia la selección del menú; ver la descripción del zsh / complist módulo en
módulos zsh(1) para una descripción del modo interactivo. Incluyendo la cadena `Buscar'
hace lo mismo para el modo de búsqueda incremental. Para seleccionar la búsqueda incremental hacia atrás,
incluir la cadena `búsqueda hacia atrás'.
muttrc Si se establece, proporciona la ubicación del archivo de configuración mutt. Por defecto es
`~ / .muttrc'.
números
Esto se usa con el recibas nuevas vacantes en tu correo etiqueta. Si es 'verdadero', el shell completará el trabajo
números en lugar del prefijo inequívoco más corto del texto del comando de trabajo. Si el
el valor es un número, los números de trabajo solo se usarán si esa cantidad de palabras del trabajo
se requieren descripciones para resolver ambigüedades. Por ejemplo, si el valor es
`1', las cadenas solo se utilizarán si todos los trabajos difieren en la primera palabra de su
líneas de comando.
lista antigua
Esto es utilizado por el _listavieja completador Si se establece en ` ', entonces estándar
Los widgets que realizan listados conservarán la lista actual de coincidencias, sin embargo,
fueron generados; esto se puede desactivar explícitamente con el valor `nunca', donación
el comportamiento sin _listavieja completador Si el estilo no está configurado, o cualquier otro
valor, entonces se muestra la lista existente de finalizaciones si aún no lo está;
de lo contrario, se genera la lista de finalización estándar; Este es el comportamiento estándar
of _listavieja. Sin embargo, si hay una lista antigua y este estilo contiene el nombre de
la función completa que generó la lista, entonces la lista anterior se usará incluso
si fue generado por un widget que no hace listado.
Por ejemplo, suponga que escribe ^Xc utilizar el _palabra correcta widget, que genera
una lista de correcciones para la palabra bajo el cursor. Por lo general, escribir ^D would
generar una lista estándar de terminaciones para la palabra en la línea de comando y mostrar
ese. Con _listavieja, en su lugar, mostrará la lista de correcciones ya
generado.
Como otro ejemplo considere el _coincidir completa: con el insertar-no ambiguo style
establecido en 'verdadero' inserta solo una cadena de prefijo común, si hay alguna. Sin embargo,
esto puede eliminar partes del patrón original, por lo que una mayor finalización podría
producir más coincidencias que en el primer intento. Al usar el _listavieja completar
y configurando este estilo para _coincidir, la lista de coincidencias generada en el primer
intento se utilizará de nuevo.
viejas cerillas
Esto es utilizado por el _todos_partidos completer para decidir si una lista antigua de coincidencias
debe usarse si existe. Esto es seleccionado por uno de los valores 'verdaderos' o por
la cadena `only'. Si el valor es `only', _todos_partidos solo usará una lista antigua
y no tendrá ningún efecto en la lista de coincidencias que se están generando actualmente.
Si se establece este estilo, generalmente no es aconsejable llamar al _todos_partidos completar
incondicionalmente Un uso posible es para este estilo o para el completar style
a definir con el -e opción de estilo z para hacer el estilo condicional.
menú antiguo
Esto es utilizado por el _listavieja completador Controla cómo se comporta la finalización del menú.
cuando ya se ha insertado una finalización y el usuario escribe un estándar
clave de finalización como TAB. El comportamiento predeterminado de _listavieja es ese menú
la terminación siempre continúa con la lista existente de terminaciones. Si este estilo
se establece en 'falso', sin embargo, se inicia una nueva finalización si la lista anterior fue
generado por un comando de finalización diferente; este es el comportamiento sin el
_listavieja completador
Por ejemplo, suponga que escribe ^Xc para generar una lista de correcciones y menú
la finalización se inicia de una de las formas habituales. Por lo general, o con este estilo establecido en
'falso', escribiendo TAB en este punto comenzaría a tratar de completar la línea como ahora
aparece Con _listavieja, en su lugar continúa recorriendo la lista de
correcciones.
mas originales
Esto es utilizado por el _aproximado y _correcto completadores para decidir si el original
la cadena debe agregarse como una posible finalización. Normalmente, esto se hace sólo si
hay al menos dos correcciones posibles, pero si este estilo se establece en "verdadero",
siempre se agrega. Tenga en cuenta que el estilo se examinará con el campo de completador en
el nombre de contexto establecido en correcto-número or aproximado-número, donde el número es la cantidad de
errores que fueron aceptados.
conjunto de paquetes
Este estilo se usa cuando se completan los argumentos de Debian `dpkgprograma Eso
contiene una anulación del conjunto de paquetes predeterminado para un contexto determinado. Por ejemplo,
estilo z ':finalización:*:completa:dpkg:opción--estado-1:*' \
conjunto de paquetes aprovechar
hace que los paquetes disponibles, en lugar de solo los paquetes instalados, se completen para
`dpkg --estado'.
camino La función que completa los nombres de los colores utiliza este estilo con el colores tag. La
El valor debe ser el nombre de ruta de un archivo que contiene nombres de colores en el formato de un
X11 rgb.txt Archivo. Si el estilo no está establecido pero este archivo se encuentra en uno de varios
ubicaciones estándar se utilizará como predeterminado.
finalización de ruta
Esto se utiliza para completar el nombre del archivo. De forma predeterminada, la finalización del nombre de archivo examina todos
componentes de una ruta para ver si hay terminaciones de ese componente. Para
ejemplo, /u/b/z se puede completar para /usr/bin/zsh. Establecer explícitamente este estilo en
'falso' inhibe este comportamiento para los componentes de la ruta hasta el / antes del cursor;
esto anula la configuración de aceptar-directorios-exactos.
Incluso con el estilo establecido en 'falso', aún es posible completar múltiples rutas
configurando la opción COMPLETE_EN_PALABRA y moviendo el cursor de nuevo a la primera
componente en la ruta a completar. Por ejemplo, /u/b/z se puede completar para
/usr/bin/zsh si el cursor está después del /u.
pino-directorio
Si se establece, especifica el directorio que contiene los archivos de buzón PINE. No hay
por defecto, ya que la búsqueda recursiva en este directorio es un inconveniente para cualquiera que
no usa PINE.
puertos Una lista de nombres de servicios de Internet (puertos de red) para completar. Si esto no está configurado,
los nombres de los servicios se toman del archivo `/ etc / services'.
prefijo-oculto
Esto se usa para ciertas terminaciones que comparten un prefijo común, por ejemplo
opciones de comando que comienzan con guiones. Si es `verdadero', el prefijo no será
que se muestra en la lista de coincidencias.
El valor predeterminado para este estilo es `falso'.
prefijo necesario
Este estilo también es relevante para coincidencias con un prefijo común. Si está configurado para
`verdadero', el usuario debe escribir este prefijo común para generar las coincidencias.
El estilo es aplicable a la opciones, señales, recibas nuevas vacantes en tu correo, funciones y parámetros
etiquetas de finalización.
Para las opciones de comando, esto significa que el ` inicial-', `+', o'--' debe escribirse
explícitamente antes de que se completen los nombres de las opciones.
Para señales, un ` inicial-' es necesario antes de que se completen los nombres de las señales.
Para trabajos, un ` inicial%' es necesario antes de que se completen los nombres de los trabajos.
Para nombres de funciones y parámetros, un ` inicial_'o'.' es requerido antes de la función
o se completarán los nombres de parámetros que comiencen con esos caracteres.
El valor predeterminado para este estilo es `falso' para función y parámetro terminaciones,
y 'verdadero' en caso contrario.
preservar-prefijo
Este estilo se utiliza al completar los nombres de las rutas. Su valor debe ser un patrón.
hacer coincidir un prefijo inicial de la palabra para completar que debe dejarse sin cambios
bajo todas las circunstancias. Por ejemplo, en algunos Unices una inicial `//' (doble
barra oblicua) tiene un significado especial; estableciendo este estilo en la cadena `//' preservará
eso. Como otro ejemplo, establecer este estilo en `?:/' bajo Cygwin permitiría
finalización después de `un:/...' etcétera.
distancia Esto es utilizado por el _historia completor y el _historia_completa_palabra enlazable
comando para decidir qué palabras deben completarse.
Si es un solo número, sólo el último N se completarán las palabras de la historia.
Si es un rango de la forma `max:rebanada', el último rebanada las palabras se completarán;
entonces si eso no produce coincidencias, el rebanada palabras antes de que esas sean juzgadas y así
sobre. Este proceso se detiene cuando se encuentra al menos una coincidencia o max palabras
han sido juzgados
El valor predeterminado es completar todas las palabras del historial a la vez.
archivos recursivos
Si se establece este estilo, su valor es una matriz de patrones contra los que se probará
`$PWD/': tenga en cuenta la barra inclinada final, que permite que los directorios en el patrón sean
delimitado inequívocamente mediante la inclusión de barras en ambos lados. Si un archivo ordinario
la finalización falla y la palabra en la línea de comando aún no tiene un directorio
parte a su nombre, el estilo se recupera utilizando la misma etiqueta que para la finalización
acaba de intentar, entonces los elementos probados contra $PWD/ en turno. Si uno coincide,
luego, el shell vuelve a intentar completarlo anteponiendo la palabra en la línea de comando
con cada directorio en la expansión de **/*(/) en turno. Normalmente los elementos de
el estilo se configurará para restringir el número de directorios debajo del actual
a un número manejable, por ejemplo `*/.git/*'.
Por ejemplo,
estilo z ':terminación:*' archivos recursivos '*/zsh/*'
Si el directorio actual es /inicio/pws/zsh/Src, entonces zle_trTAB se puede completar para
Zle/zle_tricky.c.
regular
Este estilo es utilizado por _expandir_alias Comando completo y enlazable. Si se establece en
`true' (el valor predeterminado), los alias regulares se expandirán pero solo en comando
posición. Si se establece en 'falso', los alias regulares nunca se expandirán. Si se
está configurado en ' ', los alias regulares se expandirán incluso si no están al mando
.
refrito Si se configura al completar comandos externos, la lista interna (hash) de
Los comandos se actualizarán para cada búsqueda emitiendo el refrito mando. Hay un
penalización de velocidad por esto, que probablemente solo se notará cuando los directorios en
la ruta tiene un acceso lento a los archivos.
acceso remoto
Si se establece en 'falso', se evitará que ciertos comandos realicen búsquedas en Internet.
conexiones para recuperar información remota. Esto incluye la finalización de la
CVS mando.
No siempre es posible saber si las conexiones son de hecho a un sitio remoto, por lo que
algunos pueden prevenirse innecesariamente.
eliminar todos los duplicados
La _historia_completa_palabra comando enlazable y el _historia completer use esto para
decidir si se deben eliminar todas las coincidencias duplicadas, en lugar de solo consecutivas
duplicados
solicitud de selección
Si esto está configurado para el tu préstamo estudiantil etiqueta, su valor se mostrará durante el menú
selección (ver la menú estilo anterior) cuando la lista de finalización no cabe en el
pantalla como un todo. Los mismos escapes que para el indicador de lista se entiende el estilo,
excepto que los números se refieren al partido o la línea en la que está la marca. un valor predeterminado
prompt se utiliza cuando el valor es la cadena vacía.
seleccionar-desplazarse
Este estilo se prueba para el tu préstamo estudiantil etiqueta y determina cómo se completa una lista
desplazado durante una selección de menú (consulte la menú estilo anterior) cuando la finalización
lista no cabe en la pantalla como un todo. Si el valor es `0' (cero), la lista
se desplaza a medias pantallas; si es un entero positivo, la lista se desplaza
por el número dado de líneas; si es un número negativo, la lista se desplaza por un
screenful menos el valor absoluto del número dado de líneas. El valor predeterminado es
desplazarse por líneas individuales.
secciones separadas
Este estilo se usa con el manuales etiqueta al completar los nombres de las páginas del manual. Si
es 'verdadero', las entradas para diferentes secciones se agregan por separado usando nombres de etiquetas
de la forma `manual.X', dónde X es el número de sección. Cuando el Nombre del grupo style
también está en vigor, las páginas de las diferentes secciones aparecerán por separado. Esta
El estilo también se usa de manera similar con el palabras estilo al completar palabras para el
dictar comando. Permite agregar palabras de diferentes bases de datos de diccionarios
por separado. El valor predeterminado para este estilo es `falso'.
Mostrar ambigüedad
Si zsh / complist el módulo está cargado, este estilo se puede usar para resaltar el primero
carácter ambiguo en las listas de finalización. El valor es una indicación de color
como los apoyados por el colores de lista estilo o, con un valor de 'true', un
se selecciona el subrayado predeterminado. El resaltado sólo se aplica si el
las cadenas de visualización de finalización corresponden a las coincidencias reales.
mostrar-completar
Probado cada vez que se prueba un nuevo completador. Si es 'verdadero', el sistema de finalización
genera un mensaje de progreso en el área de listado que muestra qué completador está siendo
intentado. El mensaje será sobrescrito por cualquier salida cuando se encuentren finalizaciones.
y se elimina una vez finalizada la finalización.
solo ignorado
Esto es utilizado por el _ ignorado completer cuando sólo hay una coincidencia. si su valor
esshow', la coincidencia única se mostrará pero no se insertará. Si el valor es
`menú ', entonces la coincidencia única y la cadena original se agregan como coincidencias y
se inicia la finalización del menú, lo que facilita la selección de cualquiera de ellos.
sort Muchos widgets de finalización llaman _descripción en algún punto que decide si el
las coincidencias se agregan ordenadas o no (a menudo indirectamente a través de _querido or _solicitado).
Este estilo se puede establecer explícitamente en uno de los valores habituales `verdadero' o `falso' como un
anular. Si no está configurado para el contexto, el comportamiento estándar de la llamada
se utiliza el widget.
El estilo se prueba primero con el contexto completo, incluida la etiqueta, y si eso
no produce un valor en el contexto sin la etiqueta.
Si el widget de llamada solicita explícitamente coincidencias no ordenadas, esto suele ser
honrado. Sin embargo, el comportamiento predeterminado (sin clasificar) de finalización del comando
el historial puede anularse configurando el estilo en 'verdadero'.
En la _expandir completer, si se establece en `true', las expansiones generadas
estar siempre ordenado. Si se establece en `menú ', entonces las expansiones solo se ordenan cuando
se ofrecen como cadenas individuales pero no en la cadena que contiene todos los posibles
expansiones.
directorios-especiales
Normalmente, el código de finalización no producirá los nombres de directorio `.'y'..' como
posibles terminaciones. Si este estilo se establece en 'true', agregará tanto '.'y
`..' como posibles terminaciones; si se establece en `..', solo `..' será añadido.
El siguiente ejemplo establece directorios-especiales a '..' cuando el prefijo actual está vacío,
es un solo `.', o consiste solo en una ruta que comienza con `.. /'. De lo contrario, el
el valor es 'falso'.
estilo z -e ':terminación:*' directorios-especiales \
'[[ $ PREFIX = (../)#(|.|..) ]] && respuesta=(..)'
apretar-barras
Si se establece en `true', las secuencias de barras en las rutas de los nombres de archivo (por ejemplo, en
`comida//bar') se tratará como una sola barra. Este es el comportamiento habitual de UNIX
caminos. Sin embargo, por defecto, la función de finalización de archivos se comporta como si hubiera un
`*' entre las barras.
detener Si se establece en 'verdadero', el _historia_completa_palabra El comando enlazable se detendrá una vez cuando
llegar al principio o al final de la historia. invocando _historia_completa_palabra will
luego envuélvalo hacia el extremo opuesto de la historia. Si este estilo se establece en
`falso' (por defecto), _historia_completa_palabra se repetirá inmediatamente como en un menú
terminación.
tira-comentarios
Si se establece en `true', este estilo hace que el texto de comentario no esencial se elimine de
partidos de finalización. Actualmente solo se usa al completar direcciones de correo electrónico
donde elimina cualquier nombre para mostrar de las direcciones, reduciéndolas a simples
usuario @ host .
solo subst-globs
Esto es utilizado por el _expandir completador Si se establece en `true', la expansión
solo debe usarse si resultó de un englobamiento; por lo tanto, si las expansiones resultaron de la
el uso de la sustitutas estilo descrito a continuación, pero estos no fueron cambiados más por
globbing, las expansiones serán rechazadas.
El valor predeterminado para este estilo es `falso'.
sustitutas
Este estilo booleano controla si el _expandir completer primero intentará expandir
todas las sustituciones en la cadena (como `$(...)'y'${...}').
El valor predeterminado es 'verdadero'.
sufijo Esto es utilizado por el _expandir completer si la palabra comienza con una tilde o contiene un
expansión de parámetros. Si se establece en 'verdadero', la palabra solo se expandirá si
no tiene sufijo, es decir, si es algo como `~ foo'o'$ foo' en vez de
`~foo/'o'$foo/barra', a menos que ese sufijo contenga caracteres aptos para
expansión. El valor predeterminado para este estilo es `verdadero'.
orden de etiqueta
Esto proporciona un mecanismo para ordenar cómo las etiquetas disponibles en un determinado
se utilizará el contexto.
Los valores para el estilo son conjuntos de listas de etiquetas separadas por espacios. las etiquetas en
cada valor se probará al mismo tiempo; si no se encuentra ninguna coincidencia, el siguiente valor es
usado. (Ver el patrones de archivo estilo para una excepción a este comportamiento).
Por ejemplo:
estilo z ':finalización:*:completar:-comando-:*:*' orden de etiqueta \
'comandos funciones'
especifica que la finalización en la posición de mando primero ofrece comandos externos y
funciones de caparazón. Se probarán las etiquetas restantes si no se encuentran finalizaciones.
Además de los nombres de etiqueta, cada cadena en el valor puede tomar uno de los siguientes
formas:
- Si algún valor consta solo de un guión, entonces only las etiquetas especificadas en el
se generan otros valores. Normalmente, todas las etiquetas no seleccionadas explícitamente son
se intentó en último lugar si las etiquetas especificadas no generan coincidencias. Esto significa
que un solo valor que consiste solo en un solo guión desactiva la finalización.
! tags...
Una cadena que comienza con un signo de exclamación especifica nombres de etiquetas que son
No para ser utilizado. El efecto es el mismo que si todas las demás etiquetas posibles para
el contexto había sido enumerado.
etiqueta:Etiqueta ...
Aquí, etiqueta es una de las etiquetas estándar y Etiqueta es un nombre arbitrario.
Las coincidencias se generan normalmente, pero el nombre Etiqueta se usa en contextos
en lugar de etiqueta. Esto no es útil en palabras que comienzan con !.
Si Etiqueta comienza con un guión, el etiqueta se antepone a la Etiqueta para formar
el nombre utilizado para la búsqueda. Esto se puede usar para hacer que el sistema de finalización
pruebe una determinada etiqueta más de una vez, proporcionando diferentes configuraciones de estilo para
cada intento; vea a continuación un ejemplo.
etiqueta:Etiqueta:description
Como antes, pero description reemplazará el `%d'en el valor de la formato
estilo en lugar de la descripción predeterminada proporcionada por la finalización
función. Los espacios en la descripción deben citarse con una barra invertida. A
`%d'apareciendo en description se reemplaza con la descripción dada por el
función de finalización.
En cualquiera de las formas anteriores la etiqueta puede ser un patrón o varios patrones en la forma
`{pat1,pat2...}'. En este caso, se utilizarán todas las etiquetas coincidentes, excepto alguna determinada.
explícitamente en la misma cadena.
Un uso de estas funciones es probar una etiqueta más de una vez, configurando otros estilos
de manera diferente en cada intento, pero aun así usar todas las otras etiquetas sin tener que
repetirlos todos. Por ejemplo, para completar los nombres de las funciones en el comando
posición ignora todas las funciones de finalización que comienzan con un guión bajo la primera
se intenta completar el tiempo:
estilo z ':finalización:*:*:-comando-:*:*' orden de etiqueta \
'funciones:-no comp *' funciones
estilo z ':finalización:*:funciones-no-comp' \
patrones-ignorados '_*'
En el primer intento, se ofrecerán todas las etiquetas, pero la funciones la etiqueta será
reemplazado por funciones no complementarias. patrones-ignorados El estilo está configurado para esta etiqueta para
excluir funciones que comienzan con un guión bajo. Si no hay coincidencias, el segundo
valor de la orden de etiqueta se usa el estilo que completa las funciones usando el valor predeterminado
etiqueta, esta vez presumiblemente incluyendo todos los nombres de funciones.
Las coincidencias para una etiqueta se pueden dividir en diferentes grupos. Por ejemplo:
estilo z ':terminación:*' orden de etiqueta \
'opciones:-largo:largo\ opciones
opciones:-corto:corto\ opciones
opciones:-single-letter:single\ carta\ opciones '
estilo z ':finalización:*:opciones-largo' \
patrones-ignorados '[-+](|-|[^-]*)'
estilo z ':finalización:*:opciones-breve' \
patrones-ignorados '--*' '[-+]?'
estilo z ':finalización:*:opciones-una-letra' \
patrones-ignorados '???*'
Con el nombres de grupo conjunto de estilos, opciones que comienzan con `--', opciones que comienzan con
un solo `-'o'+' pero que contiene varios caracteres y opciones de una sola letra
se mostrarán en grupos separados con diferentes descripciones.
Otro uso de los patrones es probar varias especificaciones de coincidencia una tras otra.
La lista de coincidencias El estilo ofrece algo similar, pero se prueba muy temprano en el
sistema de finalización y, por lo tanto, no se puede configurar para comandos individuales ni para más específicos
contextos. Aquí se explica cómo intentar la finalización normal sin ninguna especificación de coincidencia
y, si eso no genera coincidencias, inténtelo de nuevo con una coincidencia que no distinga entre mayúsculas y minúsculas,
restringir el efecto a los argumentos del comando foo:
estilo z ':finalización:*:*:foo:*:*' orden de etiqueta '*' '*:-caso'
estilo z ':finalización:*-caso' matcher 'm:{az}={AZ}'
Primero, todas las etiquetas ofrecidas al completar después foo se intentan usando el normal
nombre de la etiqueta Si eso no genera coincidencias, el segundo valor de orden de etiqueta es usado
que prueba todas las etiquetas de nuevo excepto que esta vez cada una tiene -caso adjunto a su
nombre para la búsqueda de estilos. De ahí que esta vez el valor de la matcher estilo de
la segunda llamada a estilo z en el ejemplo se usa para completar
no distingue entre mayúsculas y minúsculas.
Es posible utilizar el -e opción del estilo z comando incorporado para especificar
condiciones para el uso de etiquetas particulares. Por ejemplo:
estilo z -e '*:-mando-:*' orden de etiqueta '
if [[ -n $PREFIJO$SUFIJO ]]; y luego
respuesta = ( )
más
respuesta = ( - )
fi '
Se intentará completar en la posición de comando solo si la cadena escrita hasta ahora es
no vacío. Esto se prueba usando el PREFIJO parámetro especial; ver zshcompwid para un
descripción de los parámetros que son especiales dentro de los widgets de finalización. Ajuste
responder a una matriz vacía proporciona el comportamiento predeterminado de probar todas las etiquetas a la vez;
configurarlo en una matriz que contiene solo un guión deshabilita el uso de todas las etiquetas y
por lo tanto de todas las terminaciones.
Si no es correcto orden de etiqueta style ha sido definido para un contexto, las cadenas `(|*-)argumento-*
(|*-)opción-* valores'y'opciones' más todas las etiquetas que ofrece la finalización
La función se utilizará para proporcionar un comportamiento predeterminado sensible que provoque argumentos.
(ya sean argumentos de comando normales o argumentos de opciones) para ser completado antes
nombres de opciones para la mayoría de los comandos.
urls Esto se usa junto con el urls etiquetar por funciones que completan las URL.
Si el valor consta de más de una cadena, o si la única cadena no tiene nombre
un archivo o directorio, las cadenas se utilizan como URL para completar.
Si el valor contiene solo una cadena que es el nombre de un archivo normal, las URL
se toman de ese archivo (donde las URL pueden estar separadas por espacios en blanco o
nuevas líneas).
Finalmente, si la única cadena en el valor nombra un directorio, la jerarquía de directorios
rooteado en este directorio da las terminaciones. El directorio de nivel superior debe ser
el método de acceso al archivo, como `http', `ftp', `marcador' y así. En muchos casos
el siguiente nivel de directorios será un nombre de archivo. La jerarquía de directorios puede
descender tan profundo como sea necesario.
Por ejemplo,
estilo z ':terminación:*' urls ~/.urls
mkdir -p ~/.urls/ftp/ftp.zsh.org/pub
permite completar todos los componentes de la URL ftp://ftp.zsh.org/pub después
comandos adecuados como `netscape'o'lince'. Tenga en cuenta, sin embargo, que los métodos de acceso
y los archivos se completan por separado, por lo que si el anfitriones el estilo está establecido, los anfitriones pueden ser
completado sin referencia a la urls estilo.
Ver la descripción en la función. _urls mismo para obtener más información (por ejemplo, `Saber más
$^fruta/_urls(N)').
usar-caché
Si se configura, la capa de caché de finalización se activa para cualquier finalización que
usarlo (a través de la _store_cache, _retrieve_cache y _cache_inválido funciones). El
El directorio que contiene los archivos de caché se puede cambiar con el ruta-caché estilo.
uso-compctl
Si este estilo se establece en una cadena No igual a false, 0, no y off, la finalización
El sistema puede usar cualquier especificación de terminación definida con el compacto incorporado
mando. Si el estilo no está configurado, esto se hace solo si el zsh / compctl el módulo es
cargado. La cadena también puede contener la subcadena `first' para usar terminaciones
definido con `compacto -T', y la subcadena `tu préstamo estudiantil' para usar la terminación
definido con `compacto -D'.
Tenga en cuenta que esto solo pretende suavizar la transición de compacto al nuevo
sistema de finalización y puede desaparecer en el futuro.
Nótese también que las definiciones de compacto sólo se utilizará si no hay
función de finalización específica para el comando en cuestión. Por ejemplo, si hay
Una función _foo para completar los argumentos del comando foo, compacto nunca sera
invocado para foo. Sin embargo, las compacto se probará la versión si foo solo usa
finalización por defecto.
IP de uso Por defecto, la función _Hospedadores que completa los nombres de host quita las direcciones IP de
Entradas leídas de bases de datos host como archivos NIS y ssh. Si este estilo es
`true', también se pueden completar las direcciones IP correspondientes. Este estilo no es
uso en cualquier contexto donde el anfitriones se establece el estilo; tenga en cuenta que también debe establecerse antes
se genera la caché de nombres de host (normalmente el primer intento de finalización).
usuarios Esto se puede configurar para que se complete una lista de nombres de usuario. Si no está configurado todo
se completarán los nombres de usuario. Tenga en cuenta que si se configura solo esa lista de usuarios
ser completado; esto se debe a que, en algunos sistemas, la consulta de todos los usuarios puede tomar una
tiempo prohibitivo.
usuarios-hosts
Los valores de este estilo deben tener la forma `usuario@host'o'usuario:host'. Está
se usa para comandos que necesitan pares de nombres de usuario y de host. Estos comandos se
nombres de usuario completos de este estilo (solo) y restringirá el nombre de host posterior
finalización a hosts emparejados con ese usuario en uno de los valores del estilo.
Es posible agrupar valores para conjuntos de comandos que permiten un inicio de sesión remoto,
como iniciar sesión y ssh, Mediante el uso de la mis cuentas etiqueta. De manera similar, los valores para conjuntos
de comandos que generalmente se refieren a las cuentas de otras personas, como hablar y
dedo, se pueden agrupar utilizando el otras-cuentas etiqueta. Comandos más ambivalentes
puede usar el cuentas </head>.
usuarios-hosts-puertos
Como usuarios-hosts pero se usa para comandos como telnet y que contiene cadenas de
forma 'usuario@host:Puerto'.
verboso
Si se establece, como lo es de forma predeterminada, la lista de finalización es más detallada. En particular
muchos comandos muestran descripciones de opciones si este estilo es `verdadero'.
palabra clave Esto es utilizado por el _lista completer, que impide la inserción de terminaciones
hasta un segundo intento de finalización cuando la línea no ha cambiado. La forma normal de
averiguar si la línea ha cambiado es comparar todo su contenido entre los
dos ocasiones. Si este estilo es `verdadero', la comparación se realiza solo
en la palabra actual. Por lo tanto, si la terminación se realiza en otra palabra con el
mismos contenidos, la finalización no se retrasará.
CONTROL Las funciones
El script de inicialización compintar redefine todos los widgets que realizan la finalización para
llamar a la función de widget proporcionada _principal_completo. Esta función actúa como un envoltorio que llama
las llamadas funciones 'completadoras' que generan coincidencias. Si _principal_completo se llama
con argumentos, estos se toman como los nombres de las funciones completadoras que se llamarán en el
orden dada. Si no se dan argumentos, el conjunto de funciones a intentar se toma del
completar estilo. Por ejemplo, para usar la finalización y corrección normales si eso no
generar coincidencias:
estilo z ':terminación:*' completar _completo _correcto
después de llamar compintar. El valor predeterminado para este estilo es `_completo _ ignorado', es decir
normalmente sólo se intenta la terminación ordinaria, primero con el efecto de la patrones-ignorados
estilo y luego sin él. los _principal_completo función utiliza el estado de retorno de la
funciones de completador para decidir si se deben llamar otros completadores. Si el estado de retorno
es cero, no se prueban otros completadores y el _principal_completo devuelve la función.
Si el primer argumento de _principal_completo es un solo guión, los argumentos no serán
tomados como nombres de completadores. En cambio, el segundo argumento da un nombre para usar en el
completar campo del contexto y los otros argumentos dan un nombre de comando y argumentos
llamar para generar los partidos.
Las siguientes funciones completadoras están contenidas en la distribución, aunque los usuarios pueden
escribir los suyos. Tenga en cuenta que en contextos se elimina el guión bajo inicial, por ejemplo
la finalización básica se realiza en el contexto `:finalización::completa:...'.
_todos_partidos
Este completador se puede usar para agregar una cadena que consta de todas las demás coincidencias. Como lo
influye en los que completan más tarde, debe aparecer como el primero en completarse en la lista. los
lista de todas las coincidencias se ve afectada por la evitar-completar y viejas cerillas estilos
descrito arriba.
Puede ser útil usar el _genérico función descrita a continuación para enlazar _todos_partidos
a su propia pulsación de tecla, por ejemplo:
ver -C todos los partidos palabra-completa _genérico
llave de encuadernación '^ Xa' todos los partidos
estilo z ':finalización:todas las coincidencias:*' viejas cerillas only
estilo z ':finalización:todas las coincidencias::::' completar _todos_partidos
Tenga en cuenta que esto no genera completaciones por sí mismo: primero use cualquiera de los
formas estándar de generar una lista de finalizaciones, luego use ^ Xa para mostrar todo
partidos. En cambio, es posible agregar un completador estándar a la lista y
solicitar que la lista de todas las coincidencias se inserte directamente:
estilo z ':finalización:todas las coincidencias::::' completar \
_todos_partidos _completo
estilo z ':finalización:todas las coincidencias:*' insertar su verdadero
En este caso el viejas cerillas No se debe establecer el estilo.
_aproximado
Esto es similar a la base _completo completer pero permite que las terminaciones
someterse a correcciones. El número máximo de errores puede ser especificado por el
max-errores estilo; consulte la descripción de coincidencia aproximada en zshexn(1) de cómo
se cuentan los errores. Normalmente, este completador solo se intentará después de lo normal.
_completo completador:
estilo z ':terminación:*' completar _completo _aproximado
Esto dará la terminación correctora si y sólo si la terminación normal no produce
posibles terminaciones. Cuando se encuentran completaciones corregidas, el completador
normalmente inicia la finalización del menú, lo que le permite recorrer estas cadenas.
Este completador utiliza las etiquetas correcciones y mas originales al generar lo posible
correcciones y la cadena original. los formato estilo para el primero puede contener
las secuencias adicionales `%e'y'%o' que será reemplazado por el número de
errores aceptados para generar las correcciones y la cadena original, respectivamente.
El completador aumenta progresivamente el número de errores permitidos hasta el límite
según el max-errores estilo, por lo tanto, si se encuentra una finalización con un error, no
se mostrarán las finalizaciones con dos errores, y así sucesivamente. Modifica el completador
nombre en el contexto para indicar el número de errores que se intentan: en el primer intento
el campo completo contiene `aproximado-1', en el segundo intento `aproximado-2',
y así sucesivamente.
¿Cuándo? _aproximado se llama desde otra función, el número de errores a aceptar
se puede pasar con el -a opción. El argumento tiene el mismo formato que el
max-errores estilo, todo en una cuerda.
Tenga en cuenta que este completador (y el _correcto completador mencionado a continuación) puede ser bastante
costoso llamar, especialmente cuando se permite una gran cantidad de errores. De una sola mano
para evitar esto es configurar el completar estilo usando el -e opción para zstyle así que
que algunos completadores solo se usan cuando se intenta completar por segunda vez en
la misma cadena, por ejemplo:
estilo z -e ':terminación:*' completar '
if [[ $_último_intento != "$HISTNO$BUFER$CURSOR" ]]; y luego
_last_try="$HISTNO$BUFFER$CURSOR"
respuesta=(_completa _coincidir _prefijo)
más
respuesta=(_ignorado _correcto _aproximado)
fi '
Esto usa el HISTORIAL parámetro y el BUFFER y El cursor parámetros especiales que
están disponibles dentro de zle y widgets de finalización para averiguar si la línea de comando
no ha cambiado desde la última vez que se intentó completar. Sólo entonces son los
_ ignorado, _correcto y _aproximado completadores llamados.
_completo
Este completador genera todas las terminaciones posibles de una manera sensible al contexto,
es decir, utilizando los ajustes definidos con el compilación función explicada anteriormente y la
ajustes actuales de todos los parámetros especiales. Esto da la terminación normal
comportamiento.
Para completar los argumentos de los comandos, _completo utiliza la función de utilidad _normal,
que a su vez es responsable de encontrar la función particular; se describe
debajo. Varios contextos de la forma -contexto- se manejan específicamente. Estos son
todos los mencionados anteriormente como posibles argumentos para la #compdef </head>.
Antes de intentar encontrar una función para un contexto específico, _completo comprueba si el
parámetro `contexto comp' Está establecido. Ajuste `contexto comp'permite la finalización habitual
despachar para ser anulado, lo cual es útil en lugares como una función que usa
variado para entrada Si se establece en una matriz, los elementos se toman como el
posibles coincidencias que se completarán usando la etiqueta `valores' y la descripción
`valor'. Si se establece en una matriz asociativa, las claves se utilizan como posibles
las finalizaciones y los valores (si no están vacíos) se utilizan como descripciones para las coincidencias.
Sicontexto comp' se establece en una cadena que contiene dos puntos, debe tener la forma
`etiqueta:descripción:action'. En este caso el etiqueta y descripción dar la etiqueta y la descripción a
uso y el action indica lo que se debe completar en uno de los formularios aceptados
según el _argumentos función de utilidad que se describe a continuación.
Finalmente, si `contexto comp' se establece en una cadena sin dos puntos, el valor se toma como
el nombre del contexto a usar y la función definida para ese contexto será
llamado. Para este propósito, hay un contexto especial llamado -línea de comando- que
completa líneas de comando completas (comandos y sus argumentos). Esto no es usado por
el propio sistema de finalización, pero no obstante se maneja cuando se llama explícitamente.
_correcto
Genera correcciones, pero no completaciones, para la palabra actual; esto es parecido a
_aproximado pero no permitirá ningún número de caracteres adicionales en el cursor como
ese completor lo hace. El efecto es similar al corrector ortográfico. Está basado en
_aproximado, pero el campo completo en el nombre del contexto es correcta.
Por ejemplo, con:
estilo z ':terminación:::::' completar \
_completo _correcto _aproximado
estilo z ':finalización:*:correcto:::' max-errores 2 no numérico
estilo z ':completado:*:aproximado:::' max-errores 3 numérico
la corrección aceptará hasta dos errores. Si se da un argumento numérico,
no se realizará la corrección, pero se realizará la corrección de la finalización, y se
aceptar tantos errores como los dados por el argumento numérico. sin numero
argumento, se intentará primero la corrección y luego la corrección de la compleción, con el
el primero aceptando dos errores y el segundo aceptando tres errores.
¿Cuándo? _correcto se llama como una función, se puede dar el número de errores a aceptar
después de la -a opción. El argumento tiene la misma forma que valores para el aceptar
estilo, todo en una cuerda.
Esta función de completado está pensada para usarse sin la _aproximado completar
o, como en el ejemplo, justo antes. Utilizándolo después de la _aproximado completar
es inútil ya que _aproximado al menos generará las cadenas corregidas
generado por el _correcto más completo, y probablemente más.
_expandir
Esta función de finalización realmente no realiza la finalización, sino que comprueba si
la palabra en la línea de comando es elegible para expansión y, si lo es, da
control detallado sobre cómo se realiza esta expansión. Para que esto suceda, el
el sistema de finalización necesita ser invocado con palabra-completano, expandir o completar
(el enlace predeterminado para TAB), ya que de lo contrario la cadena se expandirá por el
mecanismo interno de shell antes de que se inicie el sistema de finalización. Tenga en cuenta también esto
se debe llamar al finalizador antes del _completo función completadora.
Las etiquetas utilizadas al generar expansiones son todas-expansiones para la cuerda
que contiene todas las expansiones posibles, expansiones al agregar las posibles expansiones
como partidos individuales y mas originales al agregar la cadena original de la línea. los
el orden en que se generan estas cadenas, si es que se genera, puede ser controlado por el
orden de grupo y orden de etiqueta estilos, como de costumbre.
La cadena de formato para todas-expansiones y expansiones puede contener la secuencia
`%o' que será reemplazada por la cadena original de la línea.
El tipo de expansión a intentar está controlado por el sustitutas, glob y
solo subst-globs estilos
También es posible llamar _expandir como una función, en cuyo caso los diferentes
los modos se pueden seleccionar con opciones: -s para sustitutas, -g para glob y -o para
solo subst-globs.
_expandir_alias
Si la palabra sobre la que se encuentra el cursor es un alias, se expande y no hay otros completadores.
son llamados. Los tipos de alias que se van a expandir se pueden controlar con
los estilos regular, global y discapacitados.
Esta función también es un comando enlazable, consulte la sección `Comandos enlazables'
abajo.
_extensiones
Si el cursor sigue a la cadena `*.', las extensiones de nombre de archivo están completas. los
las extensiones se toman de archivos en el directorio actual o un directorio especificado en
el comienzo de la palabra actual. Para coincidencias exactas, la finalización continúa permitiendo
otros complementos como _expandir para ampliar el patrón. El estandar agregar espacio y
prefijo-oculto Se observan estilos.
_historia
Palabras completas del historial de comandos del shell. Este completador se puede controlar
según el eliminar todos los duplicados y sort estilos en cuanto a la _historia_completa_palabra enlazable
comando, consulte la sección 'Comandos enlazables' a continuación y la sección 'Completar
Configuración del sistema' anterior.
_ ignorado
La patrones-ignorados El estilo se puede establecer en una lista de patrones que se comparan
contra posibles terminaciones; se eliminan los coincidentes. Con este completador esos
los partidos pueden ser reincorporados, como si no patrones-ignorados se estableció el estilo. el completor
en realidad genera su propia lista de coincidencias; qué completadores se invocan es
determinado de la misma manera que para el _prefijo completador los solo ignorado style
también está disponible como se describe anteriormente.
_lista Este completador permite retrasar la inserción de coincidencias hasta que se complete.
intentó una segunda vez sin que se cambiara la palabra en la línea. En la primera
intento, solo se mostrará la lista de coincidencias. Se ve afectado por los estilos.
condición y palabra clave, consulte la sección "Configuración del sistema de finalización" anterior.
_coincidir Este completador está destinado a ser utilizado después de la _completo completador se comporta
de manera similar, pero la cadena en la línea de comando puede ser un patrón para comparar
terminaciones de prueba. Esto da el efecto de la GLOB_COMPLETO .
Normalmente, la finalización se realizará tomando el patrón de la línea,
insertando un `*' en la posición del cursor y comparando el patrón resultante con el
posibles terminaciones generadas. Esto se puede modificar con el partido-original style
descrito arriba.
Los partidos generados se ofrecerán en un menú completo a menos que el
insertar-no ambiguo el estilo se establece en 'verdadero'; ver la descripción anterior para otros
Opciones para este estilo.
Tenga en cuenta que las especificaciones del emparejador definidas globalmente o utilizadas por la finalización
funciones (los estilos lista de coincidencias y matcher) no se utilizará.
_menú Este completador se escribió como una función de ejemplo simple para mostrar cómo completar el menú
se puede habilitar en el código de shell. Sin embargo, tiene el efecto notable de deshabilitar el menú
selección que puede ser útil con _genérico widgets basados Debe ser usado como el
primer completador en la lista. Tenga en cuenta que esto es independiente de la configuración del
MENÚ_COMPLETO opción y no funciona con los otros widgets de finalización de menú como
as menú inverso completo o aceptar-y-menu-completar.
_listavieja
Este completador controla cómo se comportan los widgets de finalización estándar cuando hay un
lista existente de terminaciones que pueden haber sido generadas por una terminación especial
(es decir, un comando de finalización enlazado por separado). Permite la realización ordinaria
teclas para continuar utilizando la lista de finalizaciones así generada, en lugar de
produciendo una nueva lista de completaciones contextuales ordinarias. Debería aparecer en el
lista de completadores antes de cualquiera de los widgets que generan coincidencias. usa dos
Estilos: lista antigua y menú antiguo, consulte la sección `Configuración del sistema de finalización'
anterior.
_prefijo
Este completador se puede usar para intentar completar con el sufijo (todo lo que está después del
cursor) ignorado. En otras palabras, el sufijo no se considerará parte de
la palabra para completar. El efecto es similar al expandir-o-completar-prefijo
mando.
La completar El estilo se usa para decidir a qué otros completadores se llamará.
generar coincidencias. Si este estilo no está configurado, la lista de finalistas configurada para el
se usa el contexto actual -- excepto, por supuesto, el _prefijo completor en sí mismo.
Además, si este completador aparece más de una vez en la lista de completadores
sólo aquellos completadores no probados ya por la última invocación de _prefijo se mantendrá
llamado.
Por ejemplo, considere este global completar estilo:
estilo z ':terminación:*' completar \
_completo _prefijo _correcto _prefijo:foo
Aquí el _prefijo completer intenta la finalización normal pero ignorando el sufijo. Si
que no genera ninguna coincidencia, y tampoco la llamada a la _correcto
más completo después de eso, _prefijo será llamado por segunda vez y, ahora sólo intentando
corrección con el sufijo ignorado. En la segunda invocación la parte completa de
el contexto aparece como `foo'.
Para utilizar _prefijo como último recurso e intente solo la finalización normal cuando sea
invocado:
estilo z ':terminación:*' completar _completo ... _prefijo
estilo z ':finalización::prefijo:*' completar _completo
La agregar espacio también se respeta el estilo. Si se establece en 'verdadero', entonces _prefijo will
inserte un espacio entre las coincidencias generadas (si las hay) y el sufijo.
Tenga en cuenta que este completador solo es útil si el COMPLETE_EN_PALABRA la opción está configurada;
de lo contrario, el cursor se moverá al final de la palabra actual antes de la
se llama el código de finalización y, por lo tanto, no habrá sufijo.
_usuario_expandir
Este completador se comporta de manera similar al _expandir más completo, pero en su lugar realiza
expansiones definidas por los usuarios. los estilos agregar espacio y sort estilos específicos de
_expandir completadores son utilizables con _usuario_expandir además de otros estilos manejados
más generalmente por el sistema de terminación. La etiqueta todas-expansiones también está disponible.
La expansión depende del estilo de la matriz. usuario-expandir definiéndose para la corriente
contexto; Recuerde que el contexto para los que completan es menos específico que el de
finalización contextual ya que aún no se ha determinado el contexto completo. Elementos de
la matriz puede tener una de las siguientes formas:
$hachís
hachís es el nombre de una matriz asociativa. Tenga en cuenta que este no es un parámetro completo
expresión, simplemente una $, debidamente cotizado para evitar una expansión inmediata,
seguido del nombre de una matriz asociativa. Si la palabra de expansión de prueba
coincide con una clave en hachís, la expansión resultante es el valor correspondiente.
_divertida
_divertida es el nombre de una función de shell cuyo nombre debe comenzar con _ pero es
no es especial para el sistema de finalización. La función se llama con
la palabra de prueba como argumento. Si la palabra se va a expandir, la función
debe establecer la matriz responder a una lista de expansiones. Opcionalmente, se puede configurar
RESPUESTA a una palabra que se utilizará como descripción del conjunto de
expansiones El estado de retorno de la función es irrelevante.
ENLACE COMANDOS
Además de las terminaciones proporcionadas según el contexto, que se espera que funcionen en
una manera intuitivamente obvia, hay algunos widgets que implementan un comportamiento especial que
se puede vincular por separado a las claves. La siguiente es una lista de estos y sus valores predeterminados.
fijaciones.
_bash_completions
Esta función es utilizada por dos widgets, _bash_palabra completa y _bash_lista-opciones.
Existe para proporcionar compatibilidad con los enlaces de finalización en bash. El último
el carácter del enlace determina lo que se completa: `!', nombres de comandos; `$',
Variables de entorno; `@', nombres de host; `/', nombres de archivo; `~' nombres de usuario. en bash,
el enlace precedido por `\e' indica finalización y va precedido de `^X' enumera las opciones.
Como algunos de estos enlaces chocan con los enlaces zsh estándar, solo `\e~'y'^X~'
están vinculados por defecto. Para agregar el resto, se debe agregar lo siguiente a .zshrc
después compintar se ha ejecutado:
para clave in '!' PS '@' "/" '~'; do
llave de encuadernación "\e$clave" _bash_palabra completa
llave de encuadernación "^X$clave" _bash_lista-opciones
done
Esto incluye los enlaces para `~' en caso de que ya estuvieran atados a algo
demás; el código de finalización no anula los enlaces de usuario.
_nombre_archivo_correcto (^XC)
Corrija la ruta del nombre de archivo en la posición del cursor. Permite hasta seis errores en el
nombre. También se puede llamar con un argumento para corregir una ruta de nombre de archivo,
independientemente de zle; la corrección se imprime en la salida estándar.
_palabra correcta (^Xc)
Realiza la corrección del argumento actual utilizando las terminaciones contextuales habituales
como opciones posibles. Esto almacena la cadena `palabra correcta' en el función campo de
el nombre del contexto y luego llama al _correcto completador
_expandir_alias (^ Xa)
Esta función se puede utilizar para completar y como comando enlazable. Expande el
palabra en la que se encuentra el cursor si es un alias. Los tipos de alias expandidos pueden ser
controlado con los estilos regular, global y discapacitados.
Cuando se usa como un comando enlazable, hay una función adicional que se puede
seleccionado configurando el completar estilo a 'verdadero'. En este caso, si la palabra no es
el nombre de un alias, _expandir_alias intenta completar la palabra con un alias completo
sin expandirlo. Deja el cursor directamente después de la palabra completa para que
que invocar _expandir_alias una vez más expandirá el nombre de alias ahora completo.
_expandir_palabra (^Xe)
Realiza la expansión en la palabra actual: equivalente al estándar expandir-palabra
comando, pero usando el _expandir completador Antes de llamarlo, el función campo de
el contexto se establece en `expandir-palabra'.
_genérico
Esta función no está definida como un widget y no está vinculada de forma predeterminada. Sin embargo, puede
se usará para definir un widget y luego almacenará el nombre del widget en el
función campo del contexto y llamar al sistema de finalización. Esto permite personalizar
widgets de finalización con su propio conjunto de configuraciones de estilo para definir fácilmente. Para
ejemplo, para definir un widget que realiza la finalización normal y el menú de inicio
selección:
ver -C foo palabra-completa _genérico
llave de encuadernación '...' foo
estilo z ':finalización:foo:*' menú si seleccionar = 1
Nótese en particular que el completar El estilo se puede establecer para el contexto con el fin de
cambiar el conjunto de funciones utilizadas para generar posibles coincidencias. Si _genérico is
llamado con argumentos, estos se pasan a _principal_completo como la lista de
completadores en lugar de los definidos por el completar estilo.
_historia_completa_palabra (\mi/)
Palabras completas del historial de comandos del shell. Esto usa el lista,
eliminar todos los duplicados, sort y detener estilos
_archivo_más_reciente (^Xm)
Complete el nombre del archivo modificado más recientemente que coincida con el patrón en el
línea de comando (que puede estar en blanco). Si se le da un argumento numérico N, completar la Nth
archivo modificado más recientemente. Tenga en cuenta que la finalización, si la hay, siempre es única.
_siguientes_etiquetas (^Xn)
Este comando altera el conjunto de coincidencias utilizado para la siguiente etiqueta, o conjunto de
etiquetas, ya sea dadas por el orden de etiqueta estilo o como se establece por defecto; estos partidos
de lo contrario no estaría disponible. Invocaciones sucesivas del ciclo de mando
a través de todos los conjuntos posibles de etiquetas.
_leer_comp (^X^R)
Solicite al usuario una cadena y utilícela para realizar la finalización en el actual
palabra. Hay dos posibilidades para la cadena. Primero, puede ser un conjunto de palabras.
comienzo `_', por ejemplo `_files -/', en cuyo caso la función con cualquier
Se llamará a los argumentos para generar las terminaciones. Partes inequívocas de la
el nombre de la función se completará automáticamente (la finalización normal no está disponible
en este punto) hasta que se escriba un espacio.
En segundo lugar, cualquier otra cadena se pasará como un conjunto de argumentos a compadre y debe
por lo tanto, sea una expresión que especifique lo que debe completarse.
Un conjunto muy restringido de comandos de edición está disponible al leer la cadena:
`DEL'y'^H' elimina el último carácter; `^U' elimina la línea, y `^C'y'^G'
abortar la función, mientras `RET' acepta la finalización. Tenga en cuenta que la cadena se utiliza
textualmente como una línea de comando, por lo que los argumentos deben citarse de acuerdo con el estándar
reglas de concha
Una vez que se ha leído una cadena, la siguiente llamada a _leer_comp utilizará lo existente
cadena en lugar de leer una nueva. Para forzar la lectura de una nueva cadena, llame
_leer_comp con un argumento numérico.
_completar_depuración (^X?)
Este widget realiza la finalización ordinaria, pero captura en un archivo temporal un seguimiento
de los comandos de shell ejecutados por el sistema de finalización. Cada intento de finalización
obtiene su propio archivo. Un comando para ver cada uno de estos archivos se inserta en el editor
pila de búfer.
_completa_ayuda (^Xh)
Este widget muestra información sobre los nombres de contexto, las etiquetas y el
funciones de finalización utilizadas al completar en la posición actual del cursor. si se da
un argumento numérico que no sea 1 (como en `ESC-2 ^Xh'), luego los estilos usados y el
también se mostrarán los contextos para los que se utilizan.
Tenga en cuenta que la información sobre los estilos puede estar incompleta; depende de
información disponible de las funciones de finalización llamadas, que a su vez es
determinado por los propios estilos del usuario y otras configuraciones.
_completa_ayuda_genérica
A diferencia de otros comandos enumerados aquí, este debe crearse como un widget ZLE normal
en lugar de un widget de finalización (es decir, con ver -N). Se utiliza para generar ayuda.
con un widget vinculado a la _genérico widget que se describe arriba.
Si este widget se crea usando el nombre de la función, como es por defecto, entonces
cuando se ejecuta, leerá una secuencia de teclas. Se espera que esto esté vinculado a una llamada.
a una función de finalización que utiliza el _genérico artilugio. Ese widget será
ejecutado, y la información proporcionada en el mismo formato que el _completa_ayuda
pantallas de widgets para finalización contextual.
Si el nombre del widget contiene depurar, por ejemplo, si se crea como `ver -N
_complete_debug_generic _completa_ayuda_genérica', leerá y ejecutará el
cadena de claves para un widget genérico como antes, pero luego generar información de depuración
hecho por _completar_depuración para completar contextualmente.
Si el nombre del widget contiene no leer, no leerá una cadena de claves sino que en su lugar
haga arreglos para que el próximo uso de un widget genérico que se ejecute en el mismo shell tenga el
efecto como se describe anteriormente.
El widget funciona configurando el parámetro de shell ZSH_TRACE_GENERIC_WIDGET cual es
Leído por _genérico. Al desarmar el parámetro se cancela cualquier efecto pendiente del no leer
.
Por ejemplo, después de ejecutar lo siguiente:
ver -N _complete_debug_generic _completa_ayuda_genérica
llave de encuadernación '^x:' _complete_debug_generic
escribiendo `Cx :' seguido de la secuencia de teclas de un widget genérico provocará un seguimiento
salida para que ese widget se guarde en un archivo.
_completa_etiqueta (^ Xt)
Este widget completa las etiquetas de símbolos creadas por el etiquetas or etiquetas programas (nota
no hay conexión con las etiquetas del sistema de finalización) almacenadas en un archivo TAGSen
el formato utilizado por etiquetas o tags, en el formato creado por etiquetas. Se verá
haga una copia de seguridad de la jerarquía de rutas para la primera aparición de cualquiera de los archivos; si ambos existen,
el archivo TAGS se prefiere. Puede especificar la ruta completa a un TAGS or tags presentar
configurando el parámetro $TAGSFILE or $archivodeetiquetas respectivamente. El correspondiente
las etiquetas de finalización utilizadas son etiquetas y etiquetas v, después de emacs y vi respectivamente.
DE SERVICIOS PÚBLICOS Las funciones
A continuación se describen las funciones de utilidad que pueden ser útiles al escribir la finalización
funciones Si las funciones se instalan en subdirectorios, la mayoría de estas residen en el de Clientes
subdirectorio. Al igual que las funciones de ejemplo para comandos en la distribución, la utilidad
todas las funciones que generan coincidencias siguen la convención de devolver el estado cero si
finalizaciones generadas y distinto de cero si no se pueden agregar finalizaciones coincidentes.
Dos características más son ofrecidas por el _principal_completo función. las matrices compprefuncs y
comppostfunciones puede contener nombres de funciones que se llamarán inmediatamente antes o
después de que se haya probado la finalización. Una función solo se llamará una vez a menos que explícitamente
se vuelve a insertar en la matriz.
_todas_las_etiquetas [ -x ] [ -12VJ ] etiqueta nombre descripción [ comando arg ...]
Esta es una interfaz conveniente para el _siguiente_etiqueta función a continuación, implementando el
bucle que se muestra en el _siguiente_etiqueta ejemplo. los comando y sus argumentos están llamados a
generar las coincidencias. Las opciones almacenadas en el parámetro. nombre automáticamente
ser insertado en el argha pasado a la comando. Normalmente, se ponen directamente
después de la comando, pero si uno de los args es un solo guión, se insertan
directamente antes de eso. Si el guión es el último argumento, se eliminará de
la lista de argumentos antes del comando se llama. Esto permite _todas_las_etiquetas para ser utilizado
en casi todos los casos donde las coincidencias pueden ser generadas por una sola llamada al
compadre comando incorporado o por una llamada a una de las funciones de utilidad.
Por ejemplo:
local expl
...
if _solicitado foo; y luego
...
_todas_las_etiquetas foo expl '...' compadre ... - $ partidos
fi
Completará las cadenas de la cerillas parámetro, usando compadre con adicional
opciones que prevalecerán sobre las generadas por _todas_las_etiquetas.
_alternativa [ -O nombre ] [ -C nombre ] especulación ...
Esta función es útil en casos simples donde hay varias etiquetas disponibles.
Esencialmente implementa un ciclo como el descrito para el _etiquetas función
abajo.
Las etiquetas a usar y la acción a realizar si se solicita una etiqueta se describen usando
el especulacións que son de la forma: `etiqueta:descripción:action'. los etiquetas se ofrecen utilizando
_etiquetas y si se solicita la etiqueta, el action se ejecuta con el dado
description descripción. actions son los aceptados por el _argumentos función
(descrito a continuación), excluyendo el `->estado'y'=...' formularios.
Por ejemplo, la directriz action puede ser una llamada de función simple:
_alternativa \
'usuarios:usuario:_usuarios' \
'hosts:host:_hosts'
ofrece nombres de usuario y nombres de host como posibles coincidencias, generados por el _users y
_Hospedadores funciones respectivamente.
Como _argumentos, esta función utiliza _todas_las_etiquetas para ejecutar las acciones, que
bucle sobre todos los conjuntos de etiquetas. Sólo se requiere un manejo especial si hay un
etiqueta válida adicional, por ejemplo dentro de una función llamada desde _alternativa.
La opción `-O nombre ' se usa de la misma manera que por el _argumentos función. En
En otras palabras, los elementos de la nombre la matriz se pasará a compadre when
ejecutando una acción.
Como _etiquetas esta función apoya la -C opción para dar un nombre diferente para el
campo de contexto del argumento.
_argumentos [ -nswWCRS ] [ -A palmadita ] [ -O nombre ] [ -M coincidencia ]
[ : ] especulación ...
_argumentos [ optar ...] -- [ -i palmaditas ] [ -s par ] [ especificaciones de ayuda ...]
Esta función se puede utilizar para dar una especificación completa para completar un
comando cuyos argumentos siguen las convenciones estándar de opciones y argumentos de UNIX.
visión de conjunto
Opciones para _argumentos debe estar en palabras separadas, es decir -s -wno, -SO.
las opciones van seguidas de especulacións que describen opciones y argumentos de lo analizado
mando. especulacións que describen banderas de opción deben preceder especulacións que describen
argumentos sin opción ("posicionales" o "normales") de la línea analizada. Para evitar
ambigüedad, todas las opciones para _argumentos en sí mismo puede estar separado del especulación formularios por
un solo colon.
El '--' forma se usa para intuir especulación formularios de la salida de ayuda del comando
siendo analizado, y se describe en detalle a continuación. los opta para el `--' forma son
de lo contrario, las mismas opciones que el primer formulario. Tenga en cuenta que `-s' siguiente `--' tiene un
significado distinto de `-s' anterior `--', y ambos pueden aparecer.
La opción cambia -s, -S, -A, -w y -W afectar cómo _argumentos analiza el
opciones de línea de comando analizadas. Estos interruptores son útiles para comandos con
análisis de argumentos estándar.
Las opciones de _argumentos tienen los siguientes significados:
-n Con esta opción _argumentos establece el parámetro NORMARG A la posición de
el primer argumento normal en el $palabras matriz, es decir, la posición después de la
final de las opciones. Si no se ha llegado a ese argumento, NORMARG está ajustado
a -1. La persona que llama debe declarar `entero NORMARG' Si el -n opción es
aprobado; de lo contrario, el parámetro no se utiliza.
-s Habilitar opción apilado para opciones de una sola letra, en las que múltiples
las opciones de una sola letra se pueden combinar en una sola palabra. por ejemplo, el
dos opciones `-x'y'-y' puede combinarse en una sola palabra `-xy'. Por
por defecto, cada palabra corresponde a un solo nombre de opción (`-xy' es un solo
opción llamada `xy').
Las opciones que comienzan con un solo guión o un signo más son elegibles para
apilado; las palabras que comienzan con dos guiones no lo son.
Tenga en cuenta que -s después -- tiene un significado diferente, que está documentado en el
segmento titulado `Derivar especulación formularios de la salida de ayuda'.
-w En combinación con -s, permitir el apilamiento de opciones incluso si uno o más de los
Las opciones toman argumentos. Por ejemplo, si -x toma un argumento, sin -s,
`-xy' se considera como una opción única (no controlada); con -s, -xy es un
opción con el argumento `y'; con ambos -s y -w, -xy puede ser la opción -x
y la opcion -y con argumentos aún por venir.
-W Esta opción toma -w un paso más: es posible completar
opciones de una sola letra incluso después de un argumento que aparece en la misma palabra.
Sin embargo, depende de la acción realizada si las opciones realmente serán
completado en este punto. Para más control, use una función de utilidad como
_Guardia como parte de la acción.
-C Modificar el contexto actual parámetro para una acción de la forma `->estado'. Esta
se discute en detalle a continuación.
-R Estado de retorno 300 en lugar de cero cuando un $ estado se va a manejar, en el
`->cadena'sintaxis.
-S No complete las opciones después de `--' que aparece en la línea, e ignore el
`--'. Por ejemplo, con -S, En la linea
Foobar -x -- -y
el '-x' se considera una opción, el `-y' se considera un argumento, y
el '--' no se considera ninguno de los dos.
-A palmadita No complete las opciones después del primer argumento que no es una opción en la línea.
palmadita es un patrón que coincide con todas las cadenas que no deben tomarse como
argumentos Por ejemplo, para hacer _argumentos dejar de completar las opciones después
el primer argumento normal, pero ignorando todas las cadenas que comienzan con un guión
incluso si no están descritos por uno de los especificación opts, la forma es `-A
"-*"'.
-O nombre
Pasar los elementos de la matriz. nombre como argumentos a las funciones llamadas a
ejecutar actions. Esto se discute en detalle a continuación.
-M coincidencia
Usar la especificación de coincidencia coincidencia para completar nombres de opciones y
valores. El valor por defecto coincidencia permite la finalización parcial de palabras después de `_'y
`-', como completar `-pensión completa'a'-foo-bar'. El valor por defecto coincidencia :
r:|[_-]=* r:|=*
especificaciones: visión de conjunto
Cada una de las siguientes formas es una especulación describir conjuntos individuales de opciones o
argumentos en la línea de comando que se está analizando.
n:mensaje:action
n::mensaje:action
Esto describe el nEl argumento normal. los mensaje se imprimirá arriba
los partidos generados y los action indica lo que se puede completar en este
posición (ver abajo). Si hay dos dos puntos antes del mensaje el
argumento es opcional. Si el mensaje contiene solo espacios en blanco, nada
se imprimirá encima de las coincidencias a menos que la acción agregue una explicación
cadena en sí.
:mensaje:action
::mensaje:action
Similar, pero describe el Next argumento, cualquiera que sea el número que le suceda
ser. Si todos los argumentos se especifican en este formulario en el orden correcto, el
los números son innecesarios.
*:mensaje:action
*::mensaje:action
*:::mensaje:action
Esto describe cómo los argumentos (generalmente argumentos que no son de opción, aquellos que no
empezando con - or +) deben completarse cuando ninguno de los dos primeros
se proporcionaron formularios. Cualquier número de argumentos se puede completar en este
la moda.
Con dos dos puntos antes del mensaje, palabras matriz especial y la CORRIENTE
parámetro especial se modifican para hacer referencia sólo a los argumentos normales cuando
el action es ejecutado o evaluado. Con tres dos puntos antes de la mensaje
se modifican para referirse únicamente a los argumentos normales cubiertos por este
descripción.
especificación opt
especificación opt:...
Esto describe una opción. Los dos puntos indican el manejo de uno o más
argumentos a la opción; si no está presente, se asume que la opción tomará
sin argumentos.
Los siguientes formularios están disponibles para la primera especificación opt, ya sea o no
la opción tiene argumentos.
*especificación opt
Aquí especificación opt es una de las formas restantes a continuación. Esto indica el
siguiendo especificación opt se puede repetir. De lo contrario si el correspondiente
La opción ya está presente en la línea de comando a la izquierda de la
cursor no se volverá a ofrecer.
-nombreopción
+nombreopción
En la forma más simple el especificación opt es solo el nombre de la opción que comienza
con un signo menos o más, como `-foo'. El primer argumento a favor
la opción (si la hay) debe seguir como separado palabra inmediatamente después de la
.
Cualquiera de `-+nombreopción'y'+-nombreopción' se puede utilizar para especificar que
-nombreopción y +nombreopción ambos son válidos.
En todas las formas restantes, el ` inicial-' puede ser reemplazado por o
emparejado con `+' De este modo.
-nombreopción-
El primer argumento de la opción debe venir directamente después de la opción.
nombre in el mismo palabra clave. Por ejemplo, `-foo-:...' especifica que el
la opción completada y el argumento se verán como `-fooarg'.
-nombreopción+
El primer argumento puede aparecer inmediatamente después nombreopción en el mismo
palabra, o puede aparecer como una palabra separada después de la opción. Para
ejemplo, `-foo+:...' especifica que la opción y el argumento completados
se verá como `-fooarg'o'-foo arg'.
-nombreopción=
El argumento puede aparecer como la siguiente palabra, o en la misma palabra que el
nombre de la opción siempre que esté separado de ella por un signo igual,
por ejemplo-foo=arg'o'-foo arg'.
-nombreopción=-
El argumento de la opción debe aparecer después de un signo igual en el
misma palabra, y no se puede dar en el siguiente argumento.
especificación opt[explicación]
Se puede agregar una cadena de explicación a cualquiera de las formas anteriores
of especificación opt encerrándolo entre corchetes, como en `-q[consulta operación]'.
La verboso El estilo se usa para decidir si la explicación se encadena.
se muestran con la opción en una lista de finalización.
Si no se da una cadena de explicación entre paréntesis pero el autodescripción
se establece el estilo y solo se describe un argumento para este especificación opt,
se muestra el valor del estilo, con cualquier aspecto de la secuencia
`%d' en él reemplazado por el mensaje de la primera optar que sigue
el especificación opt; vea abajo.
Es posible para opciones con un ` literal+'o'=' para aparecer, pero eso
el carácter debe estar entrecomillado, por ejemplo `-\+'.
Cada optar después de una especificación opt debe tomar una de las siguientes formas:
:mensaje:action
::mensaje:action
Un argumento a la opción; mensaje y action son tratados como para
argumentos ordinarios. En la primera forma, el argumento es obligatorio,
y en la segunda forma es opcional.
Este grupo puede repetirse para opciones que toman múltiples argumentos.
En otras palabras, :mensaje1:action1:mensaje2:action2 especifica que el
La opción toma dos argumentos.
:*patrón:mensaje:action
:*patrón::mensaje:action
:*patrón:::mensaje:action
Esto describe múltiples argumentos. solo el ultimo optar para ver la
La opción que toma múltiples argumentos se puede dar en este formulario. Si el
patrón está vacío (es decir :*:), todas las palabras restantes en la línea son
para ser completado como se describe en el action; de lo contrario, todas las palabras
hasta e incluyendo una palabra que coincida con el patrón deben ser completados
utilizando el action.
Los dos puntos múltiples se tratan como para `*:...' formularios para ordinario
Argumentos: cuando el mensaje está precedido por dos dos puntos, el palabras
matriz especial y la CORRIENTE parámetros especiales se modifican durante
la ejecución o evaluación de la action para referirse sólo a las palabras
después de la opción. Cuando van precedidos de tres dos puntos, se modifican
referirse únicamente a las palabras cubiertas por esta descripción.
Cualquier punto literal en un nombreopción, mensaje o action debe ir precedida de un
barra invertida, `\:'.
Cada uno de los formularios anteriores puede estar precedido por una lista entre paréntesis de nombres de opciones
y números de argumento. Si la opción dada está en la línea de comando, las opciones y
no se ofrecerán los argumentos indicados entre paréntesis. Por ejemplo, `(-dos -Tres
1 uno:...' completa la opción '-uno'; si esto aparece en la línea de comando, el
opciones -dos y -Tres y el primer argumento ordinario no se completará después
eso. `(-fu):...' especifica una finalización de argumento ordinaria; -foo no será
completado si ese argumento ya está presente.
Otros elementos pueden aparecer en la lista de opciones excluidas para indicar varios otros
Elementos que no deben aplicarse cuando la especificación actual coincide: a
sola estrella (*) para el resto de argumentos (es decir, una especificación de la forma `*:...');
dos puntos (:) para todos los argumentos normales (sin opción); y un guión (-) para todos
opciones Por ejemplo, si `(*)' aparece antes de una opción y la opción aparece en
la línea de comando, la lista de argumentos restantes (los que se muestran en la tabla anterior
comenzando con '*:') no se completará.
Para ayudar en la reutilización de las especificaciones, es posible anteponer cualquiera de los formularios anteriores
con '!'; entonces ya no se completará el formulario, aunque si la opción o
aparece un argumento en la línea de comando, se omitirán normalmente. el uso principal
porque esto es cuando los argumentos son dados por una matriz, y _argumentos se llama
repetidamente para contextos más específicos: en la primera llamada `_argumentos
$opciones_globales' se utiliza, y en llamadas posteriores `_argumentos !$^opciones_globales'.
especificaciones: acciones
En cada uno de los formularios anteriores action determina cómo deben ser las terminaciones
generado. Excepto por el `->cadena' formulario a continuación, el action será ejecutado por
llamando al _todas_las_etiquetas Función para procesar todas las etiquetas de etiquetas. Sin manejo especial de
Se necesitan etiquetas a menos que una llamada de función introduzca una nueva.
Las funciones llamadas a ejecutar actions se llamará con los elementos de la
matriz nombrada por `-O nombre ' opción como argumentos. Esto se puede utilizar, por ejemplo,
para pasar el mismo conjunto de opciones para el compadre incorporado a todos actions.
Los formularios para action son como sigue.
(espacio único sin comillas)
Esto es útil cuando se requiere un argumento pero no es posible o
deseable generar coincidencias para ello. los mensaje se mostrará pero no
terminaciones enumeradas. Tenga en cuenta que, incluso en este caso, los dos puntos al final de la
mensaje se necesita; sólo puede omitirse cuando ni un mensaje ni un
action es dado.
(item1 item2 ...)
Uno de una lista de posibles coincidencias, por ejemplo:
:Foo Foo de caramelos baz)
((item1\:desc1 ...))
Similar al anterior, pero con descripciones para cada posible coincidencia. Nota
la barra invertida antes de los dos puntos. Por ejemplo,
:foo:((una\:barra b\:baz))
Los partidos se enumerarán junto con sus descripciones si el
description El estilo se establece con el valores etiqueta en el contexto.
->cadena
Ene sta forma, _argumentos procesa los argumentos y opciones y luego
devuelve el control a la función de llamada con parámetros establecidos para indicar el
estado de procesamiento; la función de llamada entonces hace sus propios arreglos
para generar terminaciones. Por ejemplo, funciones que implementan un estado
máquina puede utilizar este tipo de acción.
¿Dónde? _argumentos encuentros action en el `->cadena'formato, se quitará
todos los espacios en blanco iniciales y finales de cadena y configura la matriz estado a
el conjunto de todos cadenas para los que se va a realizar una acción. Los elementos
de la matriz descripción_estado se asignan los correspondientes mensaje campo de
cada una optar que contiene tal action.
Por defecto y en común con todas las demás funciones de finalización de buen comportamiento,
_arguments devuelve el estado cero si pudo agregar coincidencias y no cero
de lo contrario. Sin embargo, si el -R se da la opción, _argumentos en su lugar
devolver un estado de 300 para indicar que $ estado se va a manejar.
Además de nuestras localidaded en $ estado y $estado_descr, _argumentos también establece el global
parámetros `contexto', `línea'y'argumentos_opt' como se describe a continuación, y no
restablecer cualquier cambio realizado en los parámetros especiales, como PREFIJO y palabras.
Esto le da a la función de llamada la opción de restablecer estos parámetros o
propagando cambios en ellos.
Una función llamando _argumentos con al menos una acción que contiene un
`->cadena' por lo tanto, debe declarar los parámetros locales apropiados:
local contexto estado descripción_estado línea
compilado -A argumentos_opt
para prevenir _argumentos de alterar el medio ambiente mundial.
{cadena de evaluación}
Una cadena entre llaves se evalúa como código de shell para generar coincidencias. Si el
cadena de evaluación en sí mismo no comienza con un paréntesis de apertura o una llave, es
dividir en palabras separadas antes de la ejecución.
= action
Si action comienza con '= ' (un signo igual seguido de un espacio),
_argumentos insertará el contenido del argumento campo de la corriente
contexto como el nuevo primer elemento en el palabras matriz especial e incremento
el valor de la CORRIENTE parámetro especial. Esto tiene el efecto de
insertar una palabra ficticia en la línea de comando de finalización sin cambiar
el punto en el que se lleva a cabo la terminación.
Esto es más útil con uno de los especificadores que restringen las palabras en
la línea de comando en la que action es operar (los dos y tres puntos
formularios anteriores). Un uso particular es cuando un action en sí mismo causa _argumentos
en un rango restringido; es necesario usar este truco para insertar un
nombre de comando apropiado en el rango para la segunda llamada a _argumentos a
ser capaz de analizar la línea.
palabra ...
palabra ...
Esto cubre todas las formas que no sean las anteriores. Si el action comienza con un
espacio, la lista restante de palabras se invocará sin cambios.
De lo contrario, se invocará con algunas cadenas adicionales colocadas después de la primera
palabra; estos deben ser transmitidos como opciones para el compadre incorporado. Ellos
asegurarse de que el estado especificado por _argumentos, En particular el
descripciones de opciones y argumentos, se pasa correctamente a la finalización
mando. Estos argumentos adicionales se toman del parámetro de matriz
`expl'; esto se configurará antes de ejecutar el action y por lo tanto puede ser
al que se hace referencia en su interior, típicamente en una expansión de la forma `$expl[@]'
que conserva elementos vacíos de la matriz.
Durante la realización de la acción, la matriz `línea' se establecerá en la normalidad
argumentos de la línea de comando, es decir, las palabras de la línea de comando después de la
nombre del comando excluyendo todas las opciones y sus argumentos. Las opciones se almacenan en el
matriz asociativa `argumentos_opt' con los nombres de las opciones como claves y sus argumentos como
valores. Para las opciones que tienen más de un argumento, estos se dan como uno solo.
cadena, separados por dos puntos. Todos los dos puntos en los argumentos originales van precedidos
con barras invertidas.
El parámetro `contexto' se establece al volver a la función de llamada para realizar una
acción de la forma `->cadena'. Se establece en una matriz de elementos correspondientes a
los elementos de $ estado. Cada elemento es un nombre adecuado para el campo de argumento de
el contexto: ya sea una cadena de la forma `opción-optar-n' Para el nel argumento de
la opción -optar, o una cadena de la forma `argumento-n' Para el n'th argumento. Para
Argumentos 'rest', es decir, aquellos en la lista al final no manejados por posición, n
es la cadena `resto'. Por ejemplo, al completar el argumento de la -o opción,
el nombre es `opción-o-1', mientras que para el segundo argumento normal (sin opción) es
`argumento-2'.
Además, durante la evaluación de la action el nombre de contexto en el contexto actual
El parámetro se modifica para agregar la misma cadena que se almacena en el contexto
parámetro.
La opción -C decirles _argumentos Para modificar el contexto actual parámetro para una acción de
la forma `->estado'. Este es el parámetro estándar utilizado para realizar un seguimiento de la
contexto actual. Aquí está (y no el contexto matriz) debe hacerse local para el
función de llamada para evitar devolver el valor modificado y debe inicializarse
al valor actual al comienzo de la función:
local curcontext="$curcontexto"
Esto es útil cuando no es posible que varios estados sean válidos juntos.
Especificación una variedad conjuntos of opciones
Es posible especificar varios conjuntos de opciones y argumentos con los conjuntos
separados por guiones simples. Las especificaciones antes del primer guión (si las hay)
son compartidos por todos los conjuntos restantes. La primera palabra en cualquier otro conjunto proporciona una
nombre del conjunto que puede aparecer en las listas de exclusión en las especificaciones, ya sea
solo o antes de uno de los posibles valores descritos anteriormente. En el segundo caso un
`-' debe aparecer entre este nombre y el resto.
Por ejemplo:
_argumentos \
-a \
- set1 \
-c \
- set2 \
-d \
':argumento:(x2 y2)'
Esto define dos conjuntos. Cuando la línea de comando contiene la opción `-c', el `-d'
opción y el argumento no se considerarán posibles terminaciones. Cuando
contiene '-d' o un argumento, la opción `-c' no será considerado. Sin embargo,
después de `-a' ambos conjuntos se seguirán considerando válidos.
Si el nombre dado a uno de los conjuntos mutuamente excluyentes es de la forma `(nombre )'
entonces solo se completará un valor de cada conjunto; más formalmente, todo
Las especificaciones se excluyen mutuamente de todas las demás especificaciones del mismo conjunto.
Esto es útil para definir múltiples conjuntos de opciones que son mutuamente excluyentes.
y en el que las opciones son alias entre sí. Por ejemplo:
_argumentos \
-a -b \
- '(comprimir)' \
{-c,--comprimir}'[comprimir]' \
- '(descomprimir)' \
{-d,--descomprimir}'[descomprimir]'
Como el código de finalización tiene que analizar la línea de comando por separado para cada conjunto, esto
La forma de argumentación es lenta y solo debe usarse cuando sea necesario. Un útil
alternativa es a menudo una especificación de opción con argumentos de descanso (como en
`-fu:*:...'); aquí la opción -foo se traga todos los argumentos restantes como
descrito por el optar definiciones.
Derivando especulación Formularios Desde el ayuda salida
La opción `--'permite _argumentos para calcular los nombres de las opciones largas que
apoyar el `--ayuda' opción que es estándar en muchos comandos GNU. El comando
palabra se llama con el argumento `--ayuda' y la salida examinada para los nombres de las opciones.
Claramente, puede ser peligroso pasar esto a comandos que pueden no ser compatibles con esto.
opción ya que el comportamiento del comando no está especificado.
Además de las opciones, `_argumentos --' intentará deducir los tipos de argumentos
disponible para las opciones cuando el formulario `--optar=val' es válida. También es posible
proporcione sugerencias examinando el texto de ayuda del comando y agregando especificaciones de ayuda del
forma 'patrón:mensaje:action'; tenga en cuenta que otros _argumentos especulación No se utilizan formularios.
La patrón se compara con el texto de ayuda para una opción, y si coincide con el
mensaje y action se utilizan como para otros especificadores de argumentos. El caso especial de
`*:' significa ambos mensaje y action están vacíos, lo que tiene el efecto de causar
opciones que no tienen descripción en la salida de ayuda que se ordenarán en listados antes de
opciones que tienen una descripción.
Por ejemplo:
_argumentos -- '*\*:alternar:(sí no)' \
'*=ARCHIVO*:archivo:_archivos' \
'*=DIR*:directorio:_archivos -/' \
'*=RUTA*:directorio:_archivos -/'
Aquí, `si'y'no' se completará como argumento de las opciones cuya descripción
termina en estrella; los nombres de los archivos se completarán para las opciones que contengan la subcadena
`= ARCHIVO' en la descripción; y se completarán directorios de opciones cuyas
descripción contiene `= DIR'o'= RUTA'. Los últimos tres son de hecho los predeterminados y
por lo que no es necesario que se proporcione explícitamente, aunque es posible anular el uso de
estos patrones. Un texto de ayuda típico que utiliza esta característica es:
-VS, --directorio = DIR el cambio a directorio DIR
por lo que las especificaciones anteriores harán que los directorios se completen después
`--directorio', aunque no después de `-C'.
Tenga en cuenta también que _argumentos trata de averiguar automáticamente si el argumento a favor de una
opción es opcional. Esto se puede especificar explícitamente duplicando los dos puntos antes
el mensaje.
Si patrón termina en `(-)', esto será eliminado del patrón y el action
se usará solo directamente después de `=', no en la siguiente palabra. Este es el
comportamiento de una especificación normal definida con la forma `=-'.
El '_argumentos --' puede ir seguido de la opción `-i .' para dar patrones
para las opciones que no deben completarse. Los patrones se pueden dar como el nombre
de un parámetro de matriz o como una lista literal entre paréntesis. Por ejemplo,
_argumentos -- -i \
"(--(en|dis)able-FEATURE*)"
hará que la finalización ignore las opciones `--habilitar-CARACTERÍSTICA'y
`--disable-CARACTERÍSTICA' (este ejemplo es útil con GNU configurar).
El '_argumentos --El formulario ' también puede ir seguido de la opción `-s par' para describir
alias de opción. los par consiste en una lista de patrones alternos y
reemplazos correspondientes, entre paréntesis y citado de manera que forme un solo
palabra argumento en el _argumentos llamada.
Por ejemplo, algunos configurar-La salida de ayuda del script describe las opciones solo como
`--enable-foo', pero el script también acepta la forma negada `--disable-foo'. Para
Permitir completar el segundo formulario:
_argumentos -- -s "((#s)--habilitar- --desactivar-)"
Misceláneos reconoce
Finalmente, tenga en cuenta que _argumentos generalmente espera ser la función principal de manejo
cualquier terminación para la que se utilice. Puede tener efectos secundarios que cambien la
tratamiento de cualquier coincidencia añadida por otras funciones llamadas después. Combinar
_argumentos con otras funciones, esas funciones deben llamarse antes
_argumentoscomo un action dentro de un especulación, o en controladores para `->estado' acciones.
He aquí un ejemplo más general del uso de _argumentos:
_argumentos '-l+:izquierda frontera:' \
'-formato: papel tamaño:(letra A4)' \
'*-copiar:salida archivo:_archivos::resolución:(300 600) ' \
':posdata archivo:_archivos -g \*.\(ps\|eps\)' \
'*:página número:'
Esto describe tres opciones: `-l', `-formato'y'-dupdo'. El primero toma uno
argumento descrito como `Izquierdo frontera' para el cual no se ofrecerá finalización porque
de la acción vacía. Su argumento puede venir directamente después de `-l' o puede ser
dado como la siguiente palabra en la línea.
El '-formatoLa opción ' toma un argumento en la siguiente palabra, descrita como ` tamaño'
para el cual solo las cadenas `carta'y'A4' será completado.
El '-dupdoLa opción ' puede aparecer más de una vez en la línea de comando y toma dos
argumentos El primero es obligatorio y se completará como un nombre de archivo. El segundo
es opcional (debido a los dos puntos antes de la descripción `Resolución') y
se completará a partir de las cadenas `300'y'600'.
Las dos últimas descripciones dicen lo que se debe completar como argumentos. El primero
describe el primer argumento como `posdata presentar' y crea archivos que terminan en `ps'
oeps' ser completado. La última descripción da a todos los demás argumentos la
descripción `página números' pero no ofrece terminaciones.
_cache_inválido identificador_caché
Esta función devuelve el estado cero si la caché de finalizaciones correspondiente al
el identificador de caché dado necesita reconstrucción. Lo determina consultando el
política-caché estilo para el contexto actual. Esto debería proporcionar un nombre de función.
que se ejecuta con la ruta completa al archivo de caché relevante como único argumento.
Ejemplo:
_example_caching_policy () {
# reconstruir if cache is Saber más than a semana los ancianos
local -a viejo
viejop=( "$1"(Nm+7) )
(( $#viejo ))
}
_llamar_función volvemos nombre [ arg ...]
Si una función nombre existe, se llama con los argumentos args. La volvemos
argumento da el nombre de un parámetro en el que el estado de retorno de la función
nombre debe almacenarse; Si volvemos está vacío o un solo guión se ignora.
El estado de devolución de _llamar_función es cero si la función nombre existe y
fue llamado y distinto de cero en caso contrario.
_llamada_programa etiqueta cadena ...
Esta función proporciona un mecanismo para que el usuario anule el uso de un dispositivo externo.
dominio. mira hacia arriba comando estilo con el suministrado etiqueta. Si el estilo es
establecido, su valor se utiliza como el comando a ejecutar. Él cadenas de la llamada a
_llamada_programa, o del estilo si se establece, se concatenan con espacios entre ellos
y se evalúa la cadena resultante. El estado de retorno es el estado de retorno de
llamó el comando.
_combinación [ -s patrón ] etiqueta style especulación ... campo opta ...
Esta función se utiliza para completar combinaciones de valores, por ejemplo pares de
nombres de host y nombres de usuario. Él style argumento da el estilo que define el
pares; se busca en un contexto con el etiqueta especificado.
El nombre de estilo consta de nombres de campo separados por guiones, por ejemplo
`usuarios-hosts-puertos'. Para cada campo para un valor ya conocido, un especulación del
forma 'campo=patrón' es dado. Por ejemplo, si la línea de comando hasta ahora especifica un
usuario `Pws', el argumento `usuarios=pws' debería aparecer.
El siguiente argumento sin signo igual se toma como el nombre del campo para el cual
se deben generar finalizaciones (presumiblemente no uno de los campos para el cual el
se conoce el valor).
Las coincidencias generadas se tomarán del valor del estilo. Estos deberían
contienen los valores posibles para las combinaciones en el orden apropiado (usuarios,
hosts, puertos en el ejemplo anterior). Los diferentes campos los valores para el
los diferentes campos están separados por dos puntos. Esto se puede modificar con la opción -s
a _combinación que especifica un patrón. Típicamente esta es una clase de carácter, como
por ejemplo-s "[:@]"' en el caso de la usuarios-hosts estilo. Cada
`campo=patrónLa especificación restringe las terminaciones que se aplican a los elementos de
el estilo con los campos correspondientes.
Si no se define ningún estilo con el nombre dado para la etiqueta dada, o si ninguno de los
cadenas en la coincidencia de valor de estilo, pero un nombre de función del campo requerido precedido
por un guión bajo, se llamará a esa función para generar las coincidencias.
Por ejemplo, si no hay `usuarios-hosts-puertos' o ningún nombre de host coincidente cuando un host
se requiere, la función `_Hospedadores' se llamará automáticamente.
Si se usa el mismo nombre para más de un campo, tanto en `campo=patrón'y
el argumento que da el nombre del campo a completar, el número del
El campo (comenzando con uno) se puede dar después del nombre del campo, separado de él por un
colon.
Todos los argumentos después del nombre de campo requerido se pasan a compadre al generar
coincide con el valor de estilo, o con las funciones de los campos si son
llamado.
_describir [-12JVx] [ -oO | -t etiqueta ] descripción name1 [ name2 ] [ optar ...]
[ -- name1 [ name2 ] [ optar ...] ...]
Esta función asocia terminaciones con descripciones. Múltiples grupos separados
by -- se puede suministrar, potencialmente con diferentes opciones de terminación optars.
La descripción se toma como una cadena para mostrar encima de las coincidencias si el formato estilo para
el descripciones se establece la etiqueta. Esto es seguido por uno o dos nombres de matrices
seguido de opciones para pasar a compadre. La primera matriz contiene los posibles
terminaciones con sus descripciones en la forma `terminación:description'. Ninguna
dos puntos literales en terminación debe citarse con una barra invertida. Si hay una segunda matriz
dado, debe tener el mismo número de elementos que el primero; en este caso el
elementos correspondientes se añaden como posibles terminaciones en lugar de la terminación
cadenas de la primera matriz. La lista de finalización conservará las descripciones
de la primera matriz. Finalmente, puede aparecer un conjunto de opciones de finalización.
Si la opción `-o' aparece antes del primer argumento, las coincidencias agregadas serán
tratados como nombres de opciones de comando (NB, no opciones de shell), normalmente siguiendo un
`-', `--'o'+' en la línea de comando. En este caso _describir utiliza el
prefijo-oculto, prefijo necesario y verboso estilos para averiguar si las cadenas deben
agregarse como terminaciones y si se deben mostrar las descripciones. sin el `-o'
opción, solo la verboso El estilo se utiliza para decidir cómo se muestran las descripciones. Si
`-O' se usa en lugar de `-o', las opciones de comando se completan como arriba pero _describir
no manejará el prefijo necesario estilo.
Con el -t opción a etiqueta se puede especificar El valor predeterminado es `valores' o, si el -o
se da la opción, `opciones'.
Las opciones -1, -2, -J, -V, -x se pasan a _siguiente_etiqueta.
Si es seleccionado por el lista agrupada estilo, las cadenas con la misma descripción
aparecen juntos en la lista.
_describir utiliza el _todas_las_etiquetas función para generar las coincidencias, por lo que no
debe aparecer dentro de un bucle sobre las etiquetas de las etiquetas.
_descripción [ -x ] [ -12VJ ] etiqueta nombre descripción [ especulación ...]
Esta función no debe confundirse con la anterior; se usa como ayudante
función para crear opciones para compadre. Está enterrado dentro de muchos de los más altos
funciones de finalización de nivel y, por lo tanto, a menudo no es necesario llamarlo directamente.
Los estilos enumerados a continuación se prueban en el contexto actual utilizando el etiqueta.
opciones resultantes para compadre se colocan en la matriz denominada nombre (esto es
tradicionalmente `expl', pero esta convención no se aplica). La descripción para
el conjunto correspondiente de coincidencias se pasa a la función en descripción.
Los estilos probados son: formato, hidden, matcher, patrones-ignorados y Nombre del grupo.
La formato el estilo se prueba primero para el dado etiqueta y luego para el descripciones
etiqueta si no se encontró ningún valor, mientras que el resto solo se prueba para la etiqueta dada como
el primer argumento. La función también llama _configuración que prueba algunos estilos más.
La cadena devuelta por el formato estilo (si lo hay) se modificará para que el
secuencia '%d' se sustituye por el descripción dado como el tercer argumento sin ninguna
espacio en blanco inicial o final. Si, después de eliminar el espacio en blanco, el descripción is
la cadena vacía, el estilo de formato no se usará y las opciones se pondrán en el
nombre matriz no contendrá una cadena de explicación que se mostrará encima de la
partidos.
If _descripción se llama con más de tres argumentos, el adicional especulacións
debe ser de la forma `tanque:str'. Estos suministran reemplazos de secuencias de escape para
el formato estilo: cada aparición de `%tanque' será reemplazado por cadena.
Si -x se da la opción, la descripción se pasará a compadre utilizando el -x
opción en lugar de la predeterminada -X. Esto significa que la descripción será
se muestra incluso si no hay coincidencias correspondientes.
Las opciones colocadas en la matriz. nombre tener en cuenta la Nombre del grupo estilo, así
los partidos se colocan en un grupo separado cuando sea necesario. El grupo normalmente tiene su
elementos ordenados (pasando la opción -J a compadre), pero si una opción que comienza
con '-V', `-J', `-1', o'-2'se pasa a _descripción, esa opción será
incluido en la matriz. Por lo tanto, es posible que el grupo de terminación sea
sin ordenar dando la opción `-V', `-1V', o'-2V'.
En la mayoría de los casos, la función se utilizará así:
local expl
_descripción archivos expl presentar
compadre "$expl[@]" - "$archivos[@]"
Nótese el uso del parámetro expl, el guión y la lista de coincidencias. Casi
todas las llamadas a compadre dentro del sistema de finalización utilice un formato similar; este
asegura que los estilos especificados por el usuario se transmitan correctamente a los elementos integrados que
implementar las partes internas de la terminación.
_envío contexto cadena ...
Esto establece el contexto actual para contexto y busca funciones de finalización para
manejar este contexto buscando a través de la lista de nombres de comando o especial
contextos (como se describe arriba para compilación) dado como cadenas. La primera terminación
función que se definirá para uno de los contextos en la lista se utiliza para generar
partidos. Normalmente, el último cadena is -defecto- para causar la función por defecto
finalización para ser utilizado como reserva.
La función establece el parámetro. $ servicio En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. cadena siendo probado, y establece el
contexto/comando campo (el cuarto) de la $curcontexto parámetro a la contexto
dado como primer argumento.
_files La función _files llamadas _ruta_archivos con todos los argumentos se pasó excepto
para -g y -/. El uso de estas dos opciones depende de la configuración del
patrones de archivo estilo.
Esta función acepta el conjunto completo de opciones permitidas por _ruta_archivos, descrito
abajo.
_gnu_generico
Esta función es un simple envoltorio alrededor de la _argumentos función descrita anteriormente.
Se puede utilizar para determinar automáticamente las opciones largas comprendidas por los comandos
que producen una lista cuando se les pasa la opción `--ayuda'. Está destinado a ser utilizado como
una función de finalización de nivel superior por derecho propio. Por ejemplo, para habilitar la opción
finalización de los comandos foo y de caramelos, Utilizar
compilación _gnu_generico foo de caramelos
después de la llamada a compintar.
El sistema de terminación como se suministra es conservador en el uso de esta función,
ya que es importante asegurarse de que el comando comprenda la opción `--ayuda'.
_Guardia [ opciones ] patrón descripción
Esta función muestra descripción if patrón coincide con la cadena que se va a completar. Está
destinado a ser utilizado en el action para las especificaciones pasadas a _argumentos y
funciones similares.
El estado de retorno es cero si se mostró el mensaje y la palabra para completar es
no vacío, y distinto de cero en caso contrario.
La patrón puede ir precedida de cualquiera de las opciones entendidas por compadre que se
transmitido de _descripción, a saber -M, -J, -V, -1, -2, -n, -F y -X. Todo
estas opciones serán ignoradas. Esto encaja convenientemente con el paso de argumentos
convenciones de acciones para _argumentos.
Como ejemplo, considere un comando que toma las opciones -n y -ninguna, donde el -n debe ser
seguido de un valor numérico en la misma palabra. Mediante el uso:
_argumentos '-norte-: :_Guardia "[0-9]#" "numérico valor"' '-ninguna'
_argumentos se puede hacer para mostrar el mensaje `numérico valor' y completo
opciones después de `-norte'. Si el `-n' ya va seguido de uno o más dígitos
(el patrón pasó a _Guardia) solo se mostrará el mensaje; si el `-n' es
seguido de otro carácter, solo se completan las opciones.
_mensaje [ -r12 ] [ -VJ grupo de XNUMX ] descripción
_mensaje -e [ etiqueta ] descripción
La descripción se utiliza de la misma manera que el tercer argumento de la _descripción
función, excepto que la cadena resultante siempre se mostrará independientemente de si
se generaron coincidencias. Esto es útil para mostrar un mensaje de ayuda en lugares
donde no se pueden generar finalizaciones.
La formato El estilo se examina con el la vida etiqueta para encontrar un mensaje; lo normal
día, descripciones, se usa solo si el estilo no está configurado con el primero.
Si -r se da la opción, no se usa ningún estilo; la descripción se toma literalmente como el
cadena para mostrar. Esto es más útil cuando el descripción proviene de un preprocesado
lista de argumentos que ya contiene una descripción ampliada.
La -12VJ opciones y el grupo de XNUMX se pasan a compadre y por lo tanto determinar el grupo
se agrega la cadena de mensaje.
El segundo -e el formulario da una descripción para las terminaciones con la etiqueta etiqueta para ser mostrado
incluso si no hay coincidencias para esa etiqueta. Este formulario es llamado por _argumentos in
el caso de que no haya acción para una especificación de opción. La etiqueta puede ser
se omite y, si es así, la etiqueta se toma del parámetro $etiqueta cortada; esto se mantiene
por el sistema de finalización y por lo general es correcto. Tenga en cuenta que si no hay
coincide en el momento en que se llama a esta función, compstate[insertar] se borra, por lo que
las coincidencias adicionales generadas más tarde no se insertan en la línea de comandos.
_multi_partes sep matriz
El argumento sep es un carácter separador. Él matriz puede ser el nombre de un
parámetro de matriz o una matriz literal en la forma `(foo Pub)', una lista entre paréntesis de
palabras separadas por espacios en blanco. Las posibles terminaciones son las cadenas de la
formación. Sin embargo, cada trozo delimitado por sep se completará por separado. Para
ejemplo, el _alquitrán la función usa `_multi_partes / matriz de rutas' para completar archivo parcial
rutas de la matriz dada de rutas de archivo completas.
La -i causas de la opción _multi_partes para insertar una coincidencia única incluso si eso requiere
múltiples separadores para ser insertados. Este no suele ser el comportamiento esperado.
con nombres de archivo, pero ciertos otros tipos de finalización, por ejemplo aquellos con un
conjunto fijo de posibilidades, puede ser más adecuado para esta forma.
Al igual que otras funciones de utilidad, esta función acepta `-V', `-J', `-1', `-2',
`-n', `-f', `-X', `-M', `-P', `-S', `-r', `-R'y'-q'opciones y las pasa a
el compadre incorporado.
_siguiente_etiqueta [ -x ] [ -12VJ ] etiqueta nombre descripción [ opción ...]
Esta función se utiliza para implementar el bucle sobre diferentes etiquetas de etiqueta para un
etiqueta particular como se describe arriba para el orden de etiqueta estilo. En cada llamada comprueba
para ver si hay más etiquetas de etiquetas; si lo hay devuelve el estado cero,
de lo contrario distinto de cero. Como esta función requiere que se configure una etiqueta actual, debe
sigue siempre una llamada a _etiquetas or _solicitado.
La -x12VJ opciones y los tres primeros argumentos se pasan al _descripción
función. En su caso el etiqueta será reemplazado por una etiqueta de etiqueta en esta llamada.
Cualquier descripción dada en el orden de etiqueta Se prefiere el estilo al descripción pasó a
_siguiente_etiqueta.
La opciónse da después de la descripción se establecen en el parámetro dado por nombre , y por lo tanto
se van a pasar a compadre o cualquier función que se llame para agregar las coincidencias.
Aquí hay un uso típico de esta función para la etiqueta foo. La llamada a _solicitado
determina si la etiqueta foo se requiere en absoluto; el bucle sobre _siguiente_etiqueta maneja cualquier
etiquetas definidas para la etiqueta en el orden de etiqueta estilo.
local expl ret = 1
...
if _solicitado foo; y luego
...
mientras _siguiente_etiqueta foo expl '...'; do
compadre "$expl[@]" ... && ret = 0
done
...
fi
volvemos retirado
_normal
Esta es la función estándar llamada para manejar la finalización fuera de cualquier especial
-contexto-. Se llama tanto para completar la palabra de comando como también los argumentos
para un comando. En el segundo caso, _normal busca una terminación especial para eso
comando, y si no hay ninguno, usa la finalización para el -defecto- contexto.
Un segundo uso es volver a examinar la línea de comando especificada por el $palabras matriz y el
$ACTUAL parámetro después de haberlos modificado. Por ejemplo, la función
_precomando, que se completa después de los especificadores de comandos previos como nohup, elimina
la primera palabra de la palabras array, decrementa el CORRIENTE parámetro, luego llama
_normal otra vez. El efecto es que `nohup cmd ...' es tratado de la misma manera que
`cmd ...'.
Si el nombre del comando coincide con uno de los patrones dados por una de las opciones -p or
-P a compilación, se llama a la función de finalización correspondiente y luego a la
parámetro _compskip está chequeado. Si se establece, la finalización finaliza en ese
punto incluso si no se han encontrado coincidencias. Este es el mismo efecto que en el
-primero- contexto.
_options
Esto se puede usar para completar los nombres de las opciones de shell. Proporciona un emparejador
especificación que ignora un ` inicialno', ignora los guiones bajos y permite
mayúsculas para que coincidan con sus equivalentes en minúsculas (por ejemplo, `glob',
`noglob', `NO_GLOB' están todos completados). Todos los argumentos se propagan a la
compadre incorporado.
_opciones_conjunto y _options_unset
Estas funciones completan solo las opciones de armado o desarmado, con la misma coincidencia
especificación utilizada en el _options función.
Tenga en cuenta que debe descomentar algunas líneas en el _principal_completo función para
estas funciones funcionen correctamente. Las líneas en cuestión se utilizan para almacenar el
la configuración de opciones en efecto antes de que el widget de finalización establezca localmente las opciones que
necesidades. Por lo tanto, estas funciones generalmente no son utilizadas por el sistema de finalización.
_parámetros
Esto se usa para completar los nombres de los parámetros de shell.
La opción `-g patrón' limita la finalización a parámetros cuyo tipo coincida con el
patrón. El tipo de un parámetro es el que muestra `Imprimir ${(t)detener}', por lo tanto
uso juicioso de `*'en patrón probablemente sea necesario.
Todos los demás argumentos se pasan al compadre incorporado.
_ruta_archivos
Esta función se utiliza en todo el sistema de finalización para completar nombres de archivos. Eso
permite completar rutas parciales. Por ejemplo, la cadena `/u/i/s/sig' quizás
completado a `/usr/include/sys/signal.h'.
Las opciones aceptadas por ambos _ruta_archivos y _files son:
-f Complete todos los nombres de archivo. Este es el valor predeterminado.
-/ Especifica que solo se deben completar los directorios.
-g patrón
Especifica que solo los archivos que coincidan con el patrón debe ser completado.
-W caminos
Especifica los prefijos de ruta que se antepondrán a la cadena desde el
línea de comando para generar los nombres de archivo, pero eso no debe insertarse como
terminados ni mostrados en listados de terminados. Aquí, caminos puede ser el nombre
de un parámetro de matriz, una lista literal de rutas entre paréntesis o una
nombre de ruta absoluto.
-F archivos ignorados
Esto se comporta como para la opción correspondiente a la compadre incorporado. Eso
da control directo sobre qué nombres de archivo deben ignorarse. Si la opción
no está presente, el patrones-ignorados se utiliza el estilo.
Ambos _ruta_archivos y _files también acepte las siguientes opciones que se pasan a
compadre:`-J', `-V', `-1', `-2', `-n', `-X', `-M', `-P', `-S', `-q', `-r'y
`-R'.
Finalmente, la _ruta_archivos función utiliza los estilos expandir, ambiguo, directorios-especiales,
lista-sufijos y clasificación de archivos descrito arriba.
_elegir_variante [ -b etiqueta incorporada ] [ -c comando ] [ -r nombre ]
Etiqueta=patrón ... Etiqueta [ arg ...]
Esta función se utiliza para resolver situaciones en las que un solo nombre de comando requiere
más de un tipo de manejo, ya sea porque tiene más de una variante o
porque hay un conflicto de nombres entre dos comandos diferentes.
El comando para ejecutar se toma del primer elemento de la matriz palabras a menos que esto
es anulada por la opción -c. Este comando se ejecuta y su salida se compara
con una serie de patrones. Se pueden especificar los argumentos que se pasarán al comando
al final después de todos los otros argumentos. Se dan los patrones para probar en orden
por los argumentos Etiqueta=patrón; si la salida de `comando arg ...' contiene
patrón, entonces Etiqueta se selecciona como etiqueta para la variante de comando. si ninguno de
los patrones coinciden, se selecciona la etiqueta de comando final y se devuelve el estado 1.
Si el '-b etiqueta incorporada' se da, el comando se prueba para ver si se proporciona
como shell incorporado, posiblemente autocargado; si es asi la etiqueta etiqueta incorporada se selecciona
como etiqueta para la variante.
Si el '-r nombre ' se da, el Etiqueta elegido se almacena en el parámetro llamado nombre .
Los resultados también se almacenan en caché en el _cmd_variante matriz asociativa indexada por el
nombre de la ejecución del comando.
_regex_argumentos nombre especulación ...
Esta función genera una función de finalización. nombre que coincide con las especificaciones
especulacións, un conjunto de expresiones regulares como se describe a continuación. despues de correr
_regex_argumentos, la función nombre debe llamarse como una terminación normal
función. El patrón a emparejar viene dado por el contenido de la palabras matriz arriba
a la posición actual del cursor unidos con caracteres nulos; sin cita
Está aplicado.
Los argumentos se agrupan como conjuntos de alternativas separadas por `|', que son juzgados
uno tras otro hasta que uno coincida. Cada alternativa consta de uno o más
especificaciones que se prueban de izquierda a derecha, con cada patrón emparejado siendo
despojado a su vez de la línea de comando que se está probando, hasta que todo el grupo
tiene éxito o hasta que uno falla; en este último caso, se intenta la siguiente alternativa.
Esta estructura se puede repetir hasta una profundidad arbitraria usando paréntesis; pareo
procede de adentro hacia afuera.
Se aplica un procedimiento especial si ninguna prueba tiene éxito pero la línea de comando restante
cadena no contiene ningún carácter nulo (lo que implica que la palabra restante es aquella para la que
se van a generar terminaciones). El objetivo de finalización se limita a la
palabra restante y cualquier actionSe ejecutan s para los patrones correspondientes. En
este caso, no se elimina nada de la cadena de la línea de comandos. El orden de
evaluación de la actions puede ser determinado por el orden de etiqueta estilo; los diversos
formatos soportados por _alternativa puede ser utilizado en action. descripción se utiliza para
configurar el parámetro de matriz expl.
Los argumentos de especificación adoptan una de las siguientes formas, en las que metacaracteres como
como '(', `)', `#'y'|' debe citarse.
/patrón/ [%mirar hacia el futuro%] [- ] [:etiqueta:descripción:action]
Este es un único componente primitivo. La función prueba si el
patrón combinado `(#cama y desayuno)patrón)mirar hacia el futuro*' coincide con la línea de comando
cuerda. Si es así, ` ' se evalúa y su estado de devolución se examina para
determinar si la prueba ha tenido éxito. Él patrón cadena[]' Está garantizado
nunca para coincidir. Él mirar hacia el futuro no se elimina de la línea de comando antes
se examina el siguiente patrón.
El argumento que comienza con : se utiliza de la misma manera como un argumento para
_alternativa.
Un componente se utiliza de la siguiente manera: patrón se prueba para ver si el componente
ya existe en la línea de comandos. Si es así, cualquiera de los siguientes
se examinan las especificaciones para encontrar algo que completar. Si un componente
se alcanza pero aún no existe tal patrón en la línea de comando, la cadena
que contiene el action se utiliza para generar coincidencias para insertar en ese punto.
/patrón/+ [%mirar hacia el futuro%] [- ] [:etiqueta:descripción:action]
Esto es similar a `/patrón/ ...' pero la parte izquierda de la línea de comando
cadena (es decir, la parte ya emparejada por patrones anteriores) también es
considerado parte del objetivo de finalización.
/patrón/- [%mirar hacia el futuro%] [- ] [:etiqueta:descripción:action]
Esto es similar a `/patrón/ ...' pero el actions de la corriente y
los patrones coincidentes previamente se ignoran incluso si el siguiente `patrón'
coincide con la cadena vacía.
( especulación )
Los paréntesis pueden usarse para grupos especulacións; tenga en cuenta que cada paréntesis es un solo
argumento para _regex_argumentos.
especulación # Esto permite cualquier número de repeticiones de especulación.
especulación especulación
Los dos especulaciónLos s deben emparejarse uno tras otro como se describe anteriormente.
especulación | especulación
Cualquiera de los dos especulacións pueden ser emparejados.
La función _regex_palabras puede usarse como una función auxiliar para generar coincidencias para
un conjunto de palabras alternativas posiblemente con sus propios argumentos como una línea de comando
argumento.
Ejemplos:
_regex_argumentos _tst /$'[^\0]#\0'/ \
/$'[^\0]#\0'/ :'compañero aaa'
Esto genera una función _tst que completa aaa como su único argumento. Él etiqueta
y description para la acción se han omitido por brevedad (esto funciona pero no es
recomendado en uso normal). El primer componente coincide con la palabra de comando, que es
arbitrario; el segundo coincide con cualquier argumento. Como el argumento también es arbitrario,
cualquier componente siguiente no dependería de aaa Estar presente.
_regex_argumentos _tst /$'[^\0]#\0'/ \
/$'aaa\0'/ :'compañero aaa'
Este es un uso más típico; es similar, pero los siguientes patrones solo
coincidir si aaa estaba presente como primer argumento.
_regex_argumentos _tst /$'[^\0]#\0'/ \( \
/$'aaa\0'/ :'compañero aaa' \
/$'bbb\0'/ :'compañero bbb' \) \#
En este ejemplo, se puede completar un número indefinido de argumentos de comando. Impar
Los argumentos se completan como aaa e incluso argumentos como bbb. La finalización falla a menos que
el conjunto de aaa y bbb los argumentos anteriores al actual coinciden correctamente.
_regex_argumentos _tst /$'[^\0]#\0'/ \
\( /$'aaa\0'/ :'compañero aaa' \| \
/$'bbb\0'/ :'compañero bbb' \) \#
Esto es similar, pero o aaa or bbb puede completarse para cualquier argumento. En esto
case _regex_palabras podría usarse para generar una expresión adecuada para el
argumentos
_regex_palabras etiqueta description especulación ...
Esta función se puede utilizar para generar argumentos para el _regex_argumentos comando
que puede insertarse en cualquier punto donde se espera un conjunto de reglas. Él etiqueta y
description proporcione una etiqueta estándar y una descripción relacionada con el contexto actual.
Cada especulación contiene dos o tres argumentos separados por dos puntos: tenga en cuenta que hay
sin dos puntos iniciales en este caso.
Cada especulación da una de un conjunto de palabras que se pueden completar en este punto, junto
con argumentos Por lo tanto, es más o menos equivalente a la _argumentos función cuando se usa
en finalización normal (no regex).
La parte de la especulación antes de los primeros dos puntos es la palabra a completar. Esto puede
contener un *; toda la palabra, antes y después de la * está completo, pero sólo el
texto antes del * se requiere para que el contexto coincida, de modo que más
los argumentos pueden completarse después de la forma abreviada.
La segunda parte de especulación es una descripción de la palabra que se está completando.
La tercera parte facultativa del especulación describe cómo las palabras que siguen al uno son
completados son ellos mismos para ser completados. Se evaluará para evitar
problemas con la cotización. Esto significa que normalmente contiene una referencia a un
matriz que contiene argumentos de expresiones regulares generados previamente.
La opción -t término especifica un terminador para la palabra en lugar del espacio habitual.
Esto se maneja como un sufijo auto-removible en la forma de la opción -s sep a
_valores.
El resultado del procesamiento por _regex_palabras se coloca en la matriz responder, cual
debe hacerse local a la función de llamada. Si el conjunto de palabras y argumentos
pueden coincidir repetidamente, un # debe agregarse a la matriz generada en ese
-punto.
Por ejemplo:
local -a responder
_regex_palabras mydb-comandos 'mydb comandos ' \
'agregar:agregar an entrada a midb:$midb_add_cmds' \
'Show entradas in midb'
_regex_argumentos _mydb "$respuesta[@]"
_mydb PS
Esto muestra una función de finalización para un comando. midb que toma dos comandos
argumentos, add y show. show no acepta argumentos, mientras que los argumentos a favor add have
ya ha sido preparado en una matriz mydb_add_cmds, muy posiblemente por una llamada anterior
a _regex_palabras.
_solicitado [ -x ] [ -12VJ ] etiqueta [ nombre descripción [ comando [ arg ...]]
Esta función se llama para decidir si una etiqueta ya registrada por una llamada a
_etiquetas (ver más abajo) ha sido solicitado por el usuario y, por lo tanto, la finalización debe ser
realizado para ello. Devuelve el estado cero si se solicita la etiqueta y no es cero
de lo contrario. La función se usa típicamente como parte de un ciclo sobre diferentes etiquetas como
manera:
_etiquetas foo de caramelos baz
mientras _etiquetas; do
if _solicitado foo; y luego
... # realizar terminación para foo
fi
... # compruébalo el tags de caramelos y baz in el mismo way
... # salida loops if cerillas fueron generado
done
Tenga en cuenta que la prueba de si se generaron coincidencias no se realiza hasta que
fin del _etiquetas círculo. Esto es para que el usuario pueda configurar el orden de etiqueta estilo para
especificar un conjunto de etiquetas para completar al mismo tiempo.
If nombre y descripción son dados, _solicitado llama al _descripción funcionar con estos
argumentos junto con las opciones pasadas a _solicitado.
If comando se da, el _todas_las_etiquetas La función será llamada inmediatamente con el
mismos argumentos. En casos simples esto hace posible realizar la prueba para el
etiqueta y la coincidencia de una sola vez. Por ejemplo:
local expl ret = 1
_etiquetas foo de caramelos baz
mientras _etiquetas; do
_solicitado foo expl 'descripción' \
compadre Foobar foobaz && ret = 0
...
(( retirado )) || romper
done
Si comando no es compadre, sin embargo, debe estar preparado para manejar el mismo
.
_retrieve_cache identificador_caché
Esta función recupera la información de finalización del archivo proporcionado por
identificador_caché, almacenado en un directorio especificado por el ruta-caché estilo que
por defecto es ~/.zcompcache. El estado de retorno es cero si la recuperación fue exitosa.
Solo intentará la recuperación si el usar-caché el estilo está establecido, por lo que puede llamar a esto
funcionar sin preocuparse de si el usuario quería usar la capa de almacenamiento en caché.
See _store_cache a continuación para más detalles.
_sep_partes
Esta función se pasa alternando matrices y separadores como argumentos. las matrices
especificar terminaciones para partes de cadenas que se separarán mediante los separadores. Él
las matrices pueden ser los nombres de los parámetros de la matriz o una lista de palabras entre comillas en
paréntesis. Por ejemplo, con la matriz `hosts=(ftp Noticias)'la llamada'_sep_partes
'(foo bar)' @ anfitriones' completará la cadena `f'a'foo' y la cadena `b@n' a
`bar@noticias'.
Esta función acepta la compadre opciones `-V', `-J', `-1', `-2', `-n', `-X', `-M',
`-P', `-S', `-r', `-R'y'-q' y se los pasa al compadre incorporado utilizado para
agregar los partidos.
_secuencia [ -s sep ] [ -n max ] [ -d ] función [ - ]
Esta función es un envoltorio para otras funciones para completar artículos en un separado
lista. La misma función se utiliza para completar cada elemento de la lista. el separador es
especificado con el -s opción. Si -s se omite usará `,'. Valores duplicados
no coinciden a menos que -d está especificado. Si hay un número fijo o máximo de
elementos de la lista, esto se puede especificar con el -n .
Sus Preguntas compadre Las opciones se pasan a la función. Es posible usar compadre
directamente con _secuencia, aunque _valores puede ser más apropiado en esta situación.
_configuración etiqueta [ grupo de XNUMX ]
Esta función configura los parámetros especiales utilizados por el sistema de finalización.
apropiadamente para el etiqueta dado como primer argumento. Utiliza los estilos
colores de lista, lleno de lista, lista-filas-primero, último mensaje, aceptar-exacto, menú y
lista forzada.
La opción grupo de XNUMX proporciona el nombre del grupo en el que se jugarán los partidos
metido. Si no se da, el etiqueta se utiliza como el nombre del grupo.
Esta función se llama automáticamente desde _descripción y por lo tanto no es normalmente
llamado explícitamente.
_store_cache identificador_caché detener ...
Esta función, junto con _retrieve_cache y _cache_inválidoimplementa un
capa de almacenamiento en caché que se puede utilizar en cualquier función de finalización. Datos obtenidos por
las operaciones costosas se almacenan en parámetros; esta función luego vuelca los valores de
esos parámetros a un archivo. Los datos se pueden recuperar rápidamente de ese archivo.
vía _retrieve_cache, incluso en diferentes instancias del caparazón.
La identificador_caché especifica el archivo en el que se deben volcar los datos. Él
El archivo se almacena en un directorio especificado por el ruta-caché estilo que por defecto es
~/.zcompcache. El restante detenerLos argumentos son los parámetros para volcar al
.
El estado de retorno es cero si el almacenamiento fue exitoso. La función solo será
intente almacenar si el usar-caché el estilo está configurado, por lo que puede llamar a esta función
sin preocuparse de si el usuario quería usar la capa de almacenamiento en caché.
La función de finalización puede evitar llamar _retrieve_cache cuando ya tiene la
datos de finalización disponibles como parámetros. Sin embargo, en ese caso debería llamar
_cache_inválido para verificar si los datos en los parámetros y en el caché son
todavía válido.
Consulte la función de finalización _perl_modules para ver un ejemplo simple del uso de la
capa de almacenamiento en caché.
_etiquetas [[ -C nombre ] etiqueta ...]
Si se llama con argumentos, estos se toman como los nombres de las etiquetas válidas para
terminaciones en el contexto actual. Estas etiquetas se almacenan internamente y se ordenan por
utilizando el orden de etiqueta estilo.
Siguiente, _etiquetas se llama repetidamente sin argumentos desde la misma terminación
función. Esto selecciona sucesivamente el primer, segundo, etc. conjunto de etiquetas solicitadas
por el usuario El estado de devolución es cero si se solicita al menos una de las etiquetas
y distinto de cero en caso contrario. Para probar si se va a probar una etiqueta en particular, el _solicitado
se debe llamar a la función (ver arriba).
Si-C nombre ' es dado, nombre se almacena temporalmente en el campo de argumento (el quinto)
del contexto en el contexto actual parámetro durante la llamada a _etiquetas; el campo es
restaurado a la salida. Esto permite _etiquetas usar un contexto más específico sin tener
para cambiar y restablecer el contexto actual parámetro (que tiene el mismo efecto).
_valores [ -O nombre ] [ -s sep ] [ -S sep ] [ -WC ] desc especulación ...
Esto se usa para completar palabras clave arbitrarias (valores) y sus argumentos, o listas
de tales combinaciones.
Si el primer argumento es la opción `-O nombre ', se usará de la misma manera que
según el _argumentos función. En otras palabras, los elementos de la nombre la matriz será
pasó a compadre al ejecutar una acción.
Si el primer argumento (o el primer argumento después de `-O nombre ') es '-s', el siguiente
argumento se utiliza como el carácter que separa múltiples valores. Este personaje
se agrega automáticamente después de cada valor de manera auto-removible (ver más abajo);
todos los valores completados por `_valores -s' aparecen en la misma palabra en la línea de comando,
a diferencia de la finalización usando _argumentos. Si esta opción no está presente, sólo un único
el valor se completará por palabra.
Normalmente, _valores solo usará la palabra actual para determinar qué valores son
ya están presentes en la línea de comandos y, por lo tanto, no deben volver a completarse. Si
el -w se da la opción, también se examinan otros argumentos.
El primer argumento que no es una opción se usa como una cadena para imprimir como una descripción antes
enumerando los valores.
Todos los demás argumentos describen los valores posibles y sus argumentos en el mismo
formato utilizado para la descripción de las opciones por parte del _argumentos función (ver arriba).
Las únicas diferencias son que no se requiere ningún signo menos o más al principio,
los valores pueden tener un solo argumento, y las formas de acción que comienzan con un igual
signo no son compatibles.
El carácter que separa un valor de su argumento se puede establecer usando la opción -S
(como el -s, seguido del carácter que se usará como separador en el siguiente argumento).
Por defecto, el signo igual se utilizará como separador entre valores y
argumentos
Ejemplo:
_valores -s , 'descripción' \
'*foo[barra]' \
'(dos)*uno[número]:primero contar:' \
'dos [otro numero]::segundo contar:(1 2 3) '
Esto describe tres valores posibles: `foo', `uno'y'two'. El primero es
descrito como `de caramelos', no admite argumentos y puede aparecer más de una vez. el segundo es
descrito como `número', puede aparecer más de una vez y toma un argumento obligatorio
descrito como `first contar'; no se especifica ninguna acción, por lo que no se completará.
El '(dos)' al principio dice que si el valor `uno' está en la línea, el valor
`two' ya no se considerará una posible finalización. Finalmente, el último valor
(`two') se describe como 'una alternativa, número' y toma un argumento opcional descrito
como 'second contar' para los cuales las terminaciones (para aparecer después de un `=') son `1', `2',
y '3'. los _valores La función completará listas de estos valores separados por
comas
Como _argumentos, esta función agrega temporalmente otro componente de nombre de contexto a
el elemento arguments (el quinto) del contexto actual mientras se ejecuta el
action. Aquí este nombre es solo el nombre del valor para el cual el argumento es
completado.
El estilo verboso se utiliza para decidir si las descripciones de los valores (pero no
aquellos para los argumentos) deben ser impresos.
La matriz asociativa val_args se utiliza para informar valores y sus argumentos; este
funciona de manera similar a la argumentos_opt matriz asociativa utilizada por _argumentos. Por lo tanto, la
llamada de función _valores debe declarar los parámetros locales estado, descripción_estado,
línea, contexto y val_args:
local contexto estado descripción_estado línea
compilado -A val_args
cuando se usa una acción de la forma `->cadena'. Con esta función el contexto
El parámetro se establecerá en el nombre del valor cuyo argumento se completará.
Tenga en cuenta que para _valores, estado y descripción_estado son escalares en lugar de arreglos.
Solo se devuelve un único estado coincidente.
Tenga en cuenta también que _valores normalmente añade el carácter utilizado como separador entre
valores como un sufijo auto-removible (similar a un `/' después de un directorio). Sin embargo,
esto no es posible para un `->cadena' acción ya que las coincidencias para el argumento son
generada por la función de llamada. Para obtener el comportamiento habitual, la llamada
la función puede agregar el separador x como sufijo pasando las opciones `-qS x' o
directa o indirectamente a compadre.
La opción -C es tratado de la misma manera que lo es por _argumentos. En ese caso el
parámetro contexto actual debe hacerse local en lugar de contexto (como se describió anteriormente).
_querido [ -x ] [ -C nombre ] [ -12VJ ] etiqueta nombre descripción comando [ arg ...]
En muchos contextos, la finalización solo puede generar un conjunto particular de coincidencias,
generalmente correspondiente a una sola etiqueta. Sin embargo, todavía es necesario decidir
si el usuario requiere coincidencias de este tipo. Esta función es útil en tal
.
Los argumentos para _querido son los mismos que los de _solicitado, es decir, argumentos para ser
pasó a _descripción. Sin embargo, en este caso el comando no es opcional; todos
el procesamiento de etiquetas, incluido el bucle sobre etiquetas y etiquetas de etiquetas y el
generación de coincidencias, se lleva a cabo automáticamente por _querido.
Por lo tanto, ofrecer solo una etiqueta e inmediatamente agregar las coincidencias correspondientes con el
descripción dada:
local expl
_querido etiqueta expl 'descripción' \
compadre partidos...
Tenga en cuenta que, en cuanto a _solicitado, comando debe ser capaz de aceptar opciones para ser
transmitido a compadre.
Como _etiquetas esta función apoya la -C opción para dar un nombre diferente para el
campo de contexto del argumento. Él -x opción tiene el mismo significado que para _descripción.
TERMINACIÓN DIRECTORIOS
En la distribución fuente, los archivos están contenidos en varios subdirectorios del
Cierre directorio. Pueden haber sido instalados en la misma estructura, o en una
directorio de una sola función. La siguiente es una descripción de los archivos que se encuentran en el
estructura de directorio original. Si desea modificar un archivo instalado, deberá
cópielo en algún directorio que aparece anteriormente en su camino f que el directorio estándar
donde aparece.
de Clientes Las funciones principales y los widgets de finalización especiales se vinculan automáticamente a las teclas. Tú
ciertamente necesitará la mayoría de estos, aunque probablemente no necesitará modificarlos.
Muchos de estos están documentados arriba.
Zsh Funciones para completar argumentos de comandos integrados de shell y funciones de utilidad
para esto. Algunos de estos también son utilizados por funciones del Unix directorio.
Unix Funciones para completar argumentos de comandos externos y conjuntos de comandos.
Es posible que necesiten modificarse para su sistema, aunque en muchos casos es necesario algún intento
hecho para decidir qué versión de un comando está presente. Por ejemplo, completar para
el montar comando intenta determinar el sistema en el que se está ejecutando, mientras que la finalización
para muchas otras utilidades intente decidir si la versión GNU del comando está en
uso, y por lo tanto si el --ayuda La opción es compatible.
X, AIX, BSD...
Función de finalización y utilidad para comandos disponible solo en algunos sistemas. Estos
no están ordenados jerárquicamente, por lo que, por ejemplo, tanto los Linux y Debian
directorios, así como los X directorio, puede ser útil en su sistema.
Use zshcompsys en línea usando los servicios de onworks.net