zshのプロンプトプリセットはどこにありますか?

zshのプロンプトプリセットはどこにありますか?

独自のプロンプトを作成したかったのですが、取得できるプリセットの1つから始めましたprompt -l。コピーして編集できるように定義された場所を知りたいです。

prompt -lまた、コミュニティと共有するために.zshrcで定義するのではなく、新しいプロンプトをリストのオプションとして使用できるようにする方法を知ることをお勧めします。

ps:いいえ、oh-my-zshを使用したくありません。

答え1

このpromptコマンドは zsh で提供され、次の文書で説明されています。手動。残念ながら機能指数しかし、フルテキスト検索を使用して見つけることができます。その後、行の先頭に「ヒント」という単語をman zshall検索するか、関連性のない視聴回数を減らすには(次に他の単語が来る場所を除く)を検索してください。それの一部です^ *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
%

関連情報