Compare commits

..

No commits in common. "75549ce64044336ed14e502f1c1ab8bf98184990" and "8540ec87b320f54354fdba3e1684fb2c780086e8" have entirely different histories.

4 changed files with 56 additions and 61 deletions

Binary file not shown.

View File

@ -6,15 +6,15 @@ A fish (shell) theme with a Slavic cat and a rainbow that signifies git status.
[![Oh My Fish](https://img.shields.io/badge/Framework-Oh_My_Fish-blue.svg?style=flat)](https://github.com/oh-my-fish/oh-my-fish) [![Oh My Fish](https://img.shields.io/badge/Framework-Oh_My_Fish-blue.svg?style=flat)](https://github.com/oh-my-fish/oh-my-fish)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](/LICENSE) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](/LICENSE)
![Slavic cat in action](https://github.com/yangwao/omf-theme-slavic-cat/blob/master/screenshot.png?raw=true) ![Slavic cat in action](https://github.com/yangwao/theme-slavic-cat/raw/master/screenshot.png)
## Instalation ## Instalation
#### Requirements #### Requirements
* [Fish shell](https://github.com/fish-shell/fish-shell) - a smart and user-friendly command line * [Fish shell][fish] - a smart and user-friendly command line
shell for OS X, Linux, and the rest of the family shell for OS X, Linux, and the rest of the family
* [Oh My Fish](https://github.com/oh-my-fish/oh-my-fish) - The Fishshell Framework * [Oh My Fish][omf] - The Fishshell Framework
Once Oh My Fish is installed: Once Oh My Fish is installed:
@ -24,10 +24,8 @@ Once Oh My Fish is installed:
## Features ## Features
* Minimal Look & Prompt * Minimal look
* Current short version pwd
* Display branch for Git projects * Display branch for Git projects
* Git project dirty status indicator *meow* **(R,C,A,U,M,?)** *meow* * Git project dirty status indicator *meow* **(R,C,A,U,M,?)** *meow*
* Fish shell vi mode indicator * Fish shell vi mode indicator
* Next line prompt * Next line prompt
* Two unicodes included!

View File

@ -11,85 +11,82 @@ set __slavic_color_purple 9458FF
set __slavic_color_lilac AE81FF set __slavic_color_lilac AE81FF
function __slavic_color_echo function __slavic_color_echo
set_color $argv[1] set_color $argv[1]
if test (count $argv) -eq 2 if test (count $argv) -eq 2
echo -n $argv[2] echo -n $argv[2]
end end
end end
function __slavic_current_folder function __slavic_current_folder
if test $PWD = / if test $PWD = '/'
echo -n / echo -n '/'
else else
echo -n $PWD | grep -o -E '[^\/]+$' echo -n $PWD | grep -o -E '[^\/]+$'
end end
end end
function __slavic_git_status_codes function __slavic_git_status_codes
echo (git status --porcelain 2>/dev/null | sed -E 's/(^.{3}).*/\1/' | tr -d ' \n') echo (git status --porcelain ^/dev/null | sed -E 's/(^.{3}).*/\1/' | tr -d ' \n')
end end
function __slavic_git_branch_name function __slavic_git_branch_name
echo (git rev-parse --abbrev-ref HEAD 2>/dev/null) echo (git rev-parse --abbrev-ref HEAD ^/dev/null)
end end
function __slavic_rainbow function __slavic_rainbow
if echo $argv[1] | grep -q -e $argv[3] if echo $argv[1] | grep -q -e $argv[3]
__slavic_color_echo $argv[2] 彡ミ __slavic_color_echo $argv[2] "彡ミ"
end end
end end
function __slavic_git_status_icons function __slavic_git_status_icons
set -l git_status (__slavic_git_status_codes) set -l git_status (__slavic_git_status_codes)
__slavic_rainbow $git_status $__slavic_color_pink D __slavic_rainbow $git_status $__slavic_color_pink 'D'
__slavic_rainbow $git_status $__slavic_color_orange R __slavic_rainbow $git_status $__slavic_color_orange 'R'
__slavic_rainbow $git_status $__slavic_color_white C __slavic_rainbow $git_status $__slavic_color_white 'C'
__slavic_rainbow $git_status $__slavic_color_green A __slavic_rainbow $git_status $__slavic_color_green 'A'
__slavic_rainbow $git_status $__slavic_color_blue U __slavic_rainbow $git_status $__slavic_color_blue 'U'
__slavic_rainbow $git_status $__slavic_color_lilac M __slavic_rainbow $git_status $__slavic_color_lilac 'M'
__slavic_rainbow $git_status $__slavic_color_grey '?' __slavic_rainbow $git_status $__slavic_color_grey '?'
end end
function __slavic_git_status function __slavic_git_status
# In git # In git
if test -n (__slavic_git_branch_name) if test -n (__slavic_git_branch_name)
__slavic_color_echo $__slavic_color_blue " ☭ " __slavic_color_echo $__slavic_color_blue " ☭ "
__slavic_color_echo $__slavic_color_white (__slavic_git_branch_name) __slavic_color_echo $__slavic_color_white (__slavic_git_branch_name)
if test -n (__slavic_git_status_codes) if test -n (__slavic_git_status_codes)
__slavic_color_echo $__slavic_color_pink ' ●' __slavic_color_echo $__slavic_color_pink ' ●'
__slavic_color_echo $__slavic_color_white ' (^._.^)ノ' __slavic_color_echo $__slavic_color_white ' (^._.^)ノ'
__slavic_git_status_icons __slavic_git_status_icons
else else
__slavic_color_echo $__slavic_color_green ' ○' __slavic_color_echo $__slavic_color_green ' ○'
end
end end
end end
function fish_mode_prompt
set_color $__slavic_color_lilac
printf '['
switch $fish_bind_mode
case default
set_color red
printf n
case insert
set_color green
printf i
case visual
set_color magenta
printf v
end
set_color $__slavic_color_lilac
printf '] '
end end
function fish_prompt function fish_prompt
__slavic_color_echo $__slavic_color_purple (prompt_pwd) set_color $__slavic_color_lilac
__slavic_git_status printf '['
switch $fish_bind_mode
case default
set_color red
printf 'n'
case insert
set_color green
printf 'i'
case visual
set_color magenta
printf 'v'
end
set_color $__slavic_color_lilac
printf '] '
__slavic_color_echo $__slavic_color_purple (prompt_pwd)
__slavic_git_status
echo echo
__slavic_color_echo $__slavic_color_pink "▶ " __slavic_color_echo $__slavic_color_pink " "
end end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 72 KiB