Где находятся предустановки приглашений zsh?

Где находятся предустановки приглашений zsh?

Я хотел бы создать свой собственный запрос, но на основе одного из предустановленных, которые можно получить из prompt -l. Я хотел бы знать, где они определены, чтобы я мог скопировать один и прокачать его.

Кроме того, было бы неплохо узнать, как сделать новую подсказку доступной для выбора в списке, prompt -lа не просто определить ее в .zshrc, чтобы ею можно было поделиться с сообществами.

пс: нет, я не хочу использовать oh-my-zsh

решение1

Эта promptкоманда поставляется с zsh и документирована вруководство. К сожалению, его нет виндекс функций, но вы можете найти его с помощью полнотекстового поиска: man zshallзатем выполните поиск по ^ *prompt(слову «prompt» в начале строки) или, чтобы получить меньше нерелевантных результатов, ^ *prompt [^ a-z](исключите места, где за ним следует другое слово). Это частьподскажите темы вклад пользователя.

В руководстве объясняется, какнапишите свою собственную тему подсказки. Тема приглашения определяется функцией настройки, соответствующей шаблону именования , который должен быть автоматически загружен. Код темы приглашения официально не поддерживает динамическую регистрацию темы приглашения, хотя, глядя на исходный код, вы можете сделать это, добавив имя функции настройки (которая должна соответствовать шаблону именования) в массив после запуска .prompt_name_setupprompt_themespromptinit

Чтобы узнать, где находятся доступные темы подсказок, посмотрите, откуда prompt_*_setupзагружаются функции:

echo $^fpath/prompt_*_setup(N)

Каждый из них представляет собой определение функции, которое вы можете прочитать.

решение2

% 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
%

Связанный контент