aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/tools/web_config/sample_prompts/classic_vcs.fish
diff options
context:
space:
mode:
Diffstat (limited to 'share/tools/web_config/sample_prompts/classic_vcs.fish')
-rw-r--r--share/tools/web_config/sample_prompts/classic_vcs.fish73
1 files changed, 73 insertions, 0 deletions
diff --git a/share/tools/web_config/sample_prompts/classic_vcs.fish b/share/tools/web_config/sample_prompts/classic_vcs.fish
new file mode 100644
index 00000000..755c9502
--- /dev/null
+++ b/share/tools/web_config/sample_prompts/classic_vcs.fish
@@ -0,0 +1,73 @@
+# name: Classic + Vcs
+# author: Kevin Ballard
+# vim: set noet:
+
+function fish_prompt --description 'Write out the prompt'
+ set -l last_status $status
+
+ # Just calculate this 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
+
+ set -l normal (set_color normal)
+
+ # Hack; fish_config only copies the fish_prompt function (see #736)
+ if not set -q -g __fish_classic_git_functions_defined
+ set -g __fish_classic_git_functions_defined
+
+ function __fish_repaint_user --on-variable fish_color_user --description "Event handler, repaint when fish_color_user changes"
+ if status --is-interactive
+ commandline -f repaint ^/dev/null
+ end
+ end
+
+ function __fish_repaint_host --on-variable fish_color_host --description "Event handler, repaint when fish_color_host changes"
+ if status --is-interactive
+ commandline -f repaint ^/dev/null
+ end
+ end
+
+ function __fish_repaint_status --on-variable fish_color_status --description "Event handler; repaint when fish_color_status changes"
+ if status --is-interactive
+ commandline -f repaint ^/dev/null
+ end
+ end
+
+ function __fish_repaint_bind_mode --on-variable fish_key_bindings --description "Event handler; repaint when fish_key_bindings changes"
+ if status --is-interactive
+ commandline -f repaint ^/dev/null
+ end
+ end
+
+ # initialize our new variables
+ if not set -q __fish_classic_git_prompt_initialized
+ set -qU fish_color_user; or set -U fish_color_user -o green
+ set -qU fish_color_host; or set -U fish_color_host -o cyan
+ set -qU fish_color_status; or set -U fish_color_status red
+ set -U __fish_classic_git_prompt_initialized
+ end
+ end
+
+ set -l color_cwd
+ set -l prefix
+ switch $USER
+ case root toor
+ if set -q fish_color_cwd_root
+ set color_cwd $fish_color_cwd_root
+ else
+ set color_cwd $fish_color_cwd
+ end
+ set suffix '#'
+ case '*'
+ set color_cwd $fish_color_cwd
+ set suffix '>'
+ end
+
+ set -l prompt_status
+ if test $last_status -ne 0
+ set prompt_status ' ' (set_color $fish_color_status) "[$last_status]" "$normal"
+ end
+
+ echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $fish_color_host) "$__fish_prompt_hostname" $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (__fish_vcs_prompt) $normal $prompt_status "> "
+end