From dcf4abd87ec75167a11b7a6dc07ef3b2d3bbd0e6 Mon Sep 17 00:00:00 2001 From: aznashwan Date: Tue, 21 Apr 2015 00:24:33 +0300 Subject: [PATCH] Added godfather theme. --- themes/godfather/README.md | 22 ++++++++++ themes/godfather/fish_prompt.fish | 54 +++++++++++++++++++++++++ themes/godfather/fish_right_prompt.fish | 18 +++++++++ 3 files changed, 94 insertions(+) create mode 100644 themes/godfather/README.md create mode 100644 themes/godfather/fish_prompt.fish create mode 100644 themes/godfather/fish_right_prompt.fish diff --git a/themes/godfather/README.md b/themes/godfather/README.md new file mode 100644 index 0000000..efccbd4 --- /dev/null +++ b/themes/godfather/README.md @@ -0,0 +1,22 @@ +## godfather fish theme + +Clean git theme with homey feel and git-centric features. + +![screenshot](http://i.imgur.com/mh7a39d.png) + +#### Prompt structure: + +* Left-hand side: + * user@host: + * truncated cwd (just the current folder name) + * git branch with state info (if applicable) + +* Right-hand side: + * last error code (if applicable) + * [timestamp] + +#### Credits: + +Colors and git functions taken from [amio](https://github.com/amio)'s +[edan](https://github.com/bpinto/oh-my-fish/tree/master/themes/edan) theme. + diff --git a/themes/godfather/fish_prompt.fish b/themes/godfather/fish_prompt.fish new file mode 100644 index 0000000..20daa00 --- /dev/null +++ b/themes/godfather/fish_prompt.fish @@ -0,0 +1,54 @@ +# fish theme: goddy + +function _git_branch_name + echo (command git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||') +end + +function _is_git_dirty + echo (command git status -s --ignore-submodules=dirty ^/dev/null) +end + +# change color depending on the user. +function _user_host + if [ (id -u) = "0" ]; + echo -n (set_color -o red) + else + echo -n (set_color -o blue) + end + echo -n (hostname|cut -d . -f 1)ˇ$USER (set color normal) +end + +function fish_prompt + set fish_greeting + 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) + + set -l cwd $cyan(basename (prompt_pwd)) + + # output the prompt, left to right: + # display 'user@host:' + echo -n -s $green (whoami) $dark_green @ $green (hostname|cut -d . -f 1) ": " + + # display the current directory name: + echo -n -s $cwd $normal + + # show git branch and dirty state, if applicable: + if [ (_git_branch_name) ] + set -l git_branch '[' (_git_branch_name) ']' + + if [ (_is_git_dirty) ] + set git_info $red $git_branch "×" + else + set git_info $green $git_branch + end + echo -n -s ' ' $git_info $normal + end + + # terminate with a nice prompt char: + echo -n -s ' » ' $normal + +end diff --git a/themes/godfather/fish_right_prompt.fish b/themes/godfather/fish_right_prompt.fish new file mode 100644 index 0000000..e2ccd34 --- /dev/null +++ b/themes/godfather/fish_right_prompt.fish @@ -0,0 +1,18 @@ +# fish theme: godfather + +function fish_right_prompt + set -l last_status $status + set -l cyan (set_color -o cyan) + set -l red (set_color -o red) + set -l normal (set_color normal) + + # print last exit code if nonzero: + if test $last_status -ne 0 + set_color red + printf '%d' $last_status + set_color normal + end + + # display the timestamp on the utmost right. + echo -n -s $normal ' [' (date +%H:%M:%S) ']' +end