aboutsummaryrefslogtreecommitdiff
path: root/Shell/fish/fish_prompt.fish
diff options
context:
space:
mode:
authorVasil Zlatanov <vasil.zlatanov@gmail.com>2016-02-27 15:06:14 +0000
committerVasil Zlatanov <vasil.zlatanov@gmail.com>2016-02-27 15:06:14 +0000
commitf8848e709ba999d0f98a0ec68fb3fa61e225911e (patch)
treee585b964db1e0382eadb7cf3dd4e730467f3ac05 /Shell/fish/fish_prompt.fish
parent1f3076784ed72c71c21ca884acd039d2dcddac7c (diff)
downloaddotfiles-f8848e709ba999d0f98a0ec68fb3fa61e225911e.tar.gz
dotfiles-f8848e709ba999d0f98a0ec68fb3fa61e225911e.tar.bz2
dotfiles-f8848e709ba999d0f98a0ec68fb3fa61e225911e.zip
add fish
Diffstat (limited to 'Shell/fish/fish_prompt.fish')
-rw-r--r--Shell/fish/fish_prompt.fish46
1 files changed, 46 insertions, 0 deletions
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