From 50f1836ba135dd1b486e1bca59bddd6bf2c5b9a3 Mon Sep 17 00:00:00 2001 From: Dawid Kurek Date: Mon, 21 Mar 2016 21:55:04 +0100 Subject: [PATCH] close #115: Allow to specify custom prompt order --- README.md | 35 +++++++++++++++++++++++++++++++++++ bullet-train.zsh-theme | 36 +++++++++++++++++++++++------------- img/tips/prompt_order.png | Bin 0 -> 7607 bytes 3 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 img/tips/prompt_order.png diff --git a/README.md b/README.md index c60b5ec..5e49c8c 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,23 @@ zgen load caiogondim/bullet-train-oh-my-zsh-theme bullet-train Bullet Train is configurable. You can change colors and which segments you want or don't want to see. All options must be overridden in your **.zshrc** file. +### Order +`BULLETTRAIN_PROMPT_ORDER` defines order of prompt segments. Use zsh array +syntax to specify your own order, e.g: + +```bash +BULLETTRAIN_PROMPT_ORDER=( + git + context + dir + time +) +``` + +NOTE: You do not need to specify *end* segment - it will be added automatically. +With this you can also specify custom segments, please see [Tips](#tips) for +more details. + ### Prompt |Variable|Default|Meaning @@ -242,6 +259,24 @@ or don't want to see. All options must be overridden in your **.zshrc** file. ## Tips +### BULLETTRAIN_PROMPT_ORDER + +This gives ability to customize order and put user-defined segment on prompt. + +```bash +prompt_say_hello() { + prompt_segment yellow blue "hello" +} + +BULLETTRAIN_PROMPT_ORDER=( + git + dir + say_hello +) +``` + +![Prompt_Order](./img/tips/prompt_order.png) + ### BULLETTRAIN_GIT_PROMPT_CMD Allows you to specify custom git prompt command. This makes it possible to diff --git a/bullet-train.zsh-theme b/bullet-train.zsh-theme index c3102a5..36e653c 100644 --- a/bullet-train.zsh-theme +++ b/bullet-train.zsh-theme @@ -15,6 +15,25 @@ VIRTUAL_ENV_DISABLE_PROMPT=true +# Define order and content of prompt +if [ ! -n "${BULLETTRAIN_PROMPT_ORDER+1}" ]; then + BULLETTRAIN_PROMPT_ORDER=( + time + status + custom + context + dir + perl + ruby + virtualenv + nvm + go + git + hg + cmd_exec_time + ) +fi + # PROMPT if [ ! -n "${BULLETTRAIN_PROMPT_CHAR+1}" ]; then BULLETTRAIN_PROMPT_CHAR="\$" @@ -592,19 +611,10 @@ prompt_line_sep() { build_prompt() { RETVAL=$? - prompt_time - prompt_status - prompt_custom - prompt_context - prompt_dir - prompt_perl - prompt_ruby - prompt_virtualenv - prompt_nvm - prompt_go - prompt_git - prompt_hg - prompt_cmd_exec_time + for segment in $BULLETTRAIN_PROMPT_ORDER + do + prompt_$segment + done prompt_end } diff --git a/img/tips/prompt_order.png b/img/tips/prompt_order.png new file mode 100644 index 0000000000000000000000000000000000000000..daae6b269b798c77fc945469639082bf1058a38a GIT binary patch literal 7607 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 literal 0 HcmV?d00001