¿Dónde se encuentran los ajustes preestablecidos de aviso de zsh?

¿Dónde se encuentran los ajustes preestablecidos de aviso de zsh?

Me gustaría crear mi propio mensaje, pero a partir de uno de los ajustes preestablecidos que se pueden obtener en prompt -l. Me gustaría saber dónde están definidos para poder duplicar uno y mejorarlo.

Además, sería bueno saber cómo hacer que el nuevo mensaje esté disponible como una opción en la lista en prompt -llugar de simplemente definirlo en .zshrc para que pueda compartirse con las comunidades.

PD: no, no quiero usar oh-my-zsh

Respuesta1

Este promptcomando viene con zsh y está documentado en elmanual. Desafortunadamente falta en elíndice de funciones, pero puede encontrarlo con una búsqueda de texto completo: man zshallluego busque ^ *prompt(la palabra “mensaje” al principio de una línea) o, para obtener menos resultados irrelevantes, ^ *prompt [^ a-z](excluya los lugares donde va seguida de otra palabra). es parte deltemas rápidos contribución del usuario.

El manual explica cómoescribe tu propio tema rápido. Un tema de aviso se define mediante una función de configuración que coincide con el patrón de nomenclatura que debe cargarse automáticamente. El código del tema de aviso no admite oficialmente el registro dinámico de un tema de aviso, aunque al observar el código fuente puede hacerlo agregando el nombre de la función de configuración (que debe coincidir con el patrón de nomenclatura) a la matriz después de ejecutar .prompt_name_setupprompt_themespromptinit

Para ver dónde están los temas de avisos disponibles, vea prompt_*_setupdesde dónde se cargan las funciones:

echo $^fpath/prompt_*_setup(N)

Cada uno de estos es una definición de función que puede leer.

Respuesta2

% autoload -Uz promptinit && promptinit  # Initialize the prompt system
% prompt -p                              # Preview the included prompts
...
% # Get the source file of a particular prompt:
% zmodload zsh/parameter
% print $functions_source[prompt_fade_setup]
/usr/share/zsh/5.8/functions/prompt_fade_setup
%

información relacionada