From 8551cacf50a4c433369995f5689de75d619afa47 Mon Sep 17 00:00:00 2001 From: Erik Kallen Date: Sun, 23 Jun 2013 13:15:08 +0200 Subject: [PATCH] Added cor theme and emoji clock plugin --- plugins/emoji-clock/emoji-clock.fish | 89 ++++++++++++++++++++++++++++ themes/cor/fish_prompt.fish | 46 ++++++++++++++ themes/cor/fish_right_prompt.fish | 34 +++++++++++ 3 files changed, 169 insertions(+) create mode 100644 plugins/emoji-clock/emoji-clock.fish create mode 100644 themes/cor/fish_prompt.fish create mode 100644 themes/cor/fish_right_prompt.fish diff --git a/plugins/emoji-clock/emoji-clock.fish b/plugins/emoji-clock/emoji-clock.fish new file mode 100644 index 0000000..b41113f --- /dev/null +++ b/plugins/emoji-clock/emoji-clock.fish @@ -0,0 +1,89 @@ +# ------------------------------------------------------------------------------ +# FILE: emoji-clock.plugin.zsh +# DESCRIPTION: The current time with half hour accuracy as an emoji symbol. +# Inspired by Andre Torrez' "Put A Burger In Your Shell" +# http://notes.torrez.org/2013/04/put-a-burger-in-your-shell.html +# AUTHOR: Alexis Hildebrandt (afh[at]surryhill.net) ported to fish by Erik Kallen +# VERSION: 1.0.0 +# ----------------------------------------------------------------------------- + +function emoji-clock + set hour (date '+%I') + set minutes (date '+%M') + switch $hour + case 01 + if test $minutes -ge 30 + set clock "🕜" + else + set clock "🕐" + end + case 02 + if test $minutes -ge 30 + set clock "🕝" + else + set clock "🕑" + end + case 03 + if test $minutes -ge 30 + set clock "🕞" + else + set clock "🕒" + end + case 04 + if test $minutes -ge 30 + set clock "🕟" + else + set clock "🕓" + end + case 05 + if test $minutes -ge 30 + set clock "🕠" + else + set clock "🕔" + end + case 06 + if test $minutes -ge 30 + set clock "🕡" + else + set clock "🕕" + end + case 07 + if test $minutes -ge 30 + set clock "🕢" + else + set clock "🕖" + end + case 08 + if test $minutes -ge 30 + set clock "🕣" + else + set clock "🕗" + end + case 09 + if test $minutes -ge 30 + set clock "🕤" + else + set clock "🕘" + end + case 10 + if test $minutes -ge 30 + set clock "🕥" + else + set clock "🕙" + end + case 11 + if test $minutes -ge 30 + set clock "🕦" + else + set clock "🕚" + end + case 12 + if test $minutes -ge 30 + set clock "🕧" + else + set clock "🕛" + end + case '*' set clock "⌛" + end + echo $clock +end diff --git a/themes/cor/fish_prompt.fish b/themes/cor/fish_prompt.fish new file mode 100644 index 0000000..853ff82 --- /dev/null +++ b/themes/cor/fish_prompt.fish @@ -0,0 +1,46 @@ +# Display the following bits on the left: +# * Virtualenv name (if applicable, see https://github.com/adambrenecki/virtualfish) +# * Current user +# * Current compressed directory name +# * return status if not 0 + +function fish_prompt + set -l last_status $status + set -l yellow (set_color ffff33) + set -l dark_yellow (set_color ffb266) + set -l red (set_color red) + set -l green (set_color 80ff00) + set -l normal (set_color normal) + set -l dark_green (set_color 006600) + + set -l cwd $cyan(basename (prompt_pwd)) + + # Prompt + set -l prompt + if [ "$UID" = "0" ] + set prompt "$red# " + else + set prompt "$normal% " + end + + # output the prompt, left to right + + # Add a newline before prompts + #echo -e "" + + # Display [venvname] if in a virtualenv + if set -q VIRTUAL_ENV + echo -n -s (set_color -b cyan black) '[' (basename "$VIRTUAL_ENV") ']' $normal ' ' + end + if test $last_status -ne 0 + set ret_status $red $last_status '↵' $normal + end + + # Display the current directory name + echo -n -s $green (whoami) $dark_green @ $green (hostname|cut -d . -f 1) $dark_green › $yellow (prompt_pwd) $ret_status $dark_yellow (emoji-clock) ' ⁑' $normal + #echo -n -s $green (whoami) $dark_green @ $green (hostname|cut -d . -f 1) $dark_green › $yellow (prompt_pwd) $ret_status $dark_yellow ⁑ $normal + + # Terminate with a nice prompt char + echo -n -s ' ' $normal + +end diff --git a/themes/cor/fish_right_prompt.fish b/themes/cor/fish_right_prompt.fish new file mode 100644 index 0000000..88ab5c8 --- /dev/null +++ b/themes/cor/fish_right_prompt.fish @@ -0,0 +1,34 @@ +# Display git branch and dirty bit and current time on the right + +function _git_branch_name + echo (git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||') +end + +function _is_git_dirty + echo (git status -s --ignore-submodules=dirty ^/dev/null) +end + +function fish_right_prompt + set -l cyan (set_color cyan) + set -l red (set_color red) + set -l normal (set_color normal) + set -l yellow (set_color cccc00) + set -l green (set_color 80ff00) + set -l pink (set_color ff99ff) + set -l dark_pink (set_color cc99ff) + + + # Show git branch and dirty state + if [ (_git_branch_name) ] + set -l git_branch (_git_branch_name) + + if [ (_is_git_dirty) ] + echo -n -s $cyan '‹' $yellow $git_branch $red '*' $cyan '›' $normal + else + echo -n -s $cyan '‹' $yellow $git_branch $cyan '›' $normal + end + end + + echo -n -s $pink ' [' $dark_pink (date +%H:%M:%S) $pink '] ' + +end