From f501e30353150133c7a9804f62700d45712496df Mon Sep 17 00:00:00 2001 From: Julian Aron Prenner Date: Tue, 31 Dec 2013 14:56:12 +0100 Subject: [PATCH] Add sample prompt for vi mode --- share/functions/fish_vi_prompt.fish | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 share/functions/fish_vi_prompt.fish diff --git a/share/functions/fish_vi_prompt.fish b/share/functions/fish_vi_prompt.fish new file mode 100644 index 000000000..8a3fecd1c --- /dev/null +++ b/share/functions/fish_vi_prompt.fish @@ -0,0 +1,48 @@ +function fish_vi_prompt_cm --description "Displays the current mode" + echo -n " " + switch (bind_mode) + case default + set_color --bold --background green white + echo "[C]" + case insert + set_color --bold --background red white + echo "[I]" + end + set_color normal +end + +function fish_vi_prompt --description "Simple vi prompt" + + # Just calculate these once, to save a few cycles when displaying the prompt + if not set -q __fish_prompt_hostname + set -g __fish_prompt_hostname (hostname|cut -d . -f 1) + end + + if not set -q __fish_prompt_normal + set -g __fish_prompt_normal (set_color normal) + end + + switch $USER + + case root + + if not set -q __fish_prompt_cwd + if set -q fish_color_cwd_root + set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) + else + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + end + + echo -n -s "$USER" @ "$__fish_prompt_hostname" ' ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" (fish_vi_prompt_cm) '# ' + + case '*' + + if not set -q __fish_prompt_cwd + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + + echo -n -s "$USER" @ "$__fish_prompt_hostname" ' ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" (fish_vi_prompt_cm) '> ' + + end +end