diff --git a/themes/eclm/README.md b/themes/eclm/README.md new file mode 100644 index 0000000..86bf102 --- /dev/null +++ b/themes/eclm/README.md @@ -0,0 +1,11 @@ +## robbyrussell +Based on the robbyrussell theme. + +![robbyrussell theme](https://bachue.github.io/oh-my-fish/images/robbyrussell-screenshot.png) + + +#### Characteristics + +* Displays git information in the command prompt when available. +* Indicates 'master' branch with a distinctive color, encouraging the use of feature-branches (useful when development is done using pull requests) +* If the last command was failed, the indicator would be red, otherwise it's green diff --git a/themes/eclm/fish_prompt.fish b/themes/eclm/fish_prompt.fish new file mode 100644 index 0000000..66f83f1 --- /dev/null +++ b/themes/eclm/fish_prompt.fish @@ -0,0 +1,44 @@ +# name: eclm +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 + +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) ] + + if test (_git_branch_name) = 'master' + set -l git_branch (_git_branch_name) + set git_info "$blue ($yellow$git_branch$blue)" + else + set -l git_branch (_git_branch_name) + set git_info "$blue ($git_branch)$blue" + end + + 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 +