From f8848e709ba999d0f98a0ec68fb3fa61e225911e Mon Sep 17 00:00:00 2001 From: Vasil Zlatanov Date: Sat, 27 Feb 2016 15:06:14 +0000 Subject: add fish --- Shell/fish/fish_prompt.fish | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Shell/fish/fish_prompt.fish (limited to 'Shell/fish/fish_prompt.fish') diff --git a/Shell/fish/fish_prompt.fish b/Shell/fish/fish_prompt.fish new file mode 100644 index 0000000..5078671 --- /dev/null +++ b/Shell/fish/fish_prompt.fish @@ -0,0 +1,46 @@ +# name: RobbyRussel +# +# You can override some default options in your config.fish: +# set -g theme_display_git_untracked no + +function _git_branch_name + echo (command git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||') +end + +function _is_git_dirty + set -l show_untracked (git config --bool bash.showUntrackedFiles) + set untracked '' + if [ "$theme_display_git_untracked" = 'no' -o "$show_untracked" = 'false' ] + set untracked '--untracked-files=no' + end + echo (command git status -s --ignore-submodules=dirty $untracked ^/dev/null) +end + +function fish_prompt + set -l last_status $status + set -l cyan (set_color -o cyan) + set -l yellow (set_color -o yellow) + set -l red (set_color -o red) + set -l blue (set_color -o blue) + set -l green (set_color -o green) + set -l normal (set_color normal) + + if test $last_status = 0 + set arrow "$green➜ " + else + set arrow "$red➜ " + end + set -l cwd $cyan(basename (prompt_pwd)) + + if [ (_git_branch_name) ] + set -l git_branch $red(_git_branch_name) + set git_info "$blue git:($git_branch$blue)" + + if [ (_is_git_dirty) ] + set -l dirty "$yellow ✗" + set git_info "$git_info$dirty" + end + end + + echo -n -s $arrow ' ' $cwd $git_info $normal ' ' +end -- cgit v1.2.3-54-g00ecf