From 48c60eb6d4d171882d5a346a520c5a92105d18e6 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 20 Sep 2018 15:13:23 -0400 Subject: [PATCH] a couple nice git things in the right_prompt --- .../fish/functions/fish_right_prompt.fish | 20 +++++++++++++++++++ fish/.config/fish/functions/git_branch.fish | 5 +++++ fish/.config/fish/functions/is_git.fish | 3 +++ fish/.config/fish/functions/is_git_ahead.fish | 4 ++++ fish/.config/fish/functions/is_git_dirty.fish | 3 +++ 5 files changed, 35 insertions(+) create mode 100644 fish/.config/fish/functions/fish_right_prompt.fish create mode 100644 fish/.config/fish/functions/git_branch.fish create mode 100644 fish/.config/fish/functions/is_git.fish create mode 100644 fish/.config/fish/functions/is_git_ahead.fish create mode 100644 fish/.config/fish/functions/is_git_dirty.fish diff --git a/fish/.config/fish/functions/fish_right_prompt.fish b/fish/.config/fish/functions/fish_right_prompt.fish new file mode 100644 index 0000000..50a5f13 --- /dev/null +++ b/fish/.config/fish/functions/fish_right_prompt.fish @@ -0,0 +1,20 @@ +function fish_right_prompt + if is_git + if is_git_dirty + set_color --underline + end + + set_color yellow + + if is_git_ahead + echo -n '^' + else + echo -n '=' + end + echo -n ' ' + + echo -n (git_branch) + set_color normal + end +end + diff --git a/fish/.config/fish/functions/git_branch.fish b/fish/.config/fish/functions/git_branch.fish new file mode 100644 index 0000000..e3507d0 --- /dev/null +++ b/fish/.config/fish/functions/git_branch.fish @@ -0,0 +1,5 @@ +function git_branch + if is_git +echo (git rev-parse --abbrev-ref HEAD ^/dev/null) +end +end diff --git a/fish/.config/fish/functions/is_git.fish b/fish/.config/fish/functions/is_git.fish new file mode 100644 index 0000000..8bc6dd2 --- /dev/null +++ b/fish/.config/fish/functions/is_git.fish @@ -0,0 +1,3 @@ +function is_git + git symbolic-ref HEAD > /dev/null ^&1 +end diff --git a/fish/.config/fish/functions/is_git_ahead.fish b/fish/.config/fish/functions/is_git_ahead.fish new file mode 100644 index 0000000..31b9ce7 --- /dev/null +++ b/fish/.config/fish/functions/is_git_ahead.fish @@ -0,0 +1,4 @@ +function is_git_ahead + set -l revs (git rev-list origin/(git_branch)..HEAD ^/dev/null) +[ "$revs" != "" ] +end diff --git a/fish/.config/fish/functions/is_git_dirty.fish b/fish/.config/fish/functions/is_git_dirty.fish new file mode 100644 index 0000000..8511943 --- /dev/null +++ b/fish/.config/fish/functions/is_git_dirty.fish @@ -0,0 +1,3 @@ +function is_git_dirty + is_git; and [ (git status | tail -n1) != "nothing to commit, working tree clean" ] +end