Compare commits
No commits in common. "75549ce64044336ed14e502f1c1ab8bf98184990" and "8540ec87b320f54354fdba3e1684fb2c780086e8" have entirely different histories.
75549ce640
...
8540ec87b3
4 changed files with 56 additions and 61 deletions
Binary file not shown.
10
README.md
10
README.md
|
@ -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)
|
||||
[![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
|
||||
|
||||
#### 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
|
||||
* [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:
|
||||
|
||||
|
@ -24,10 +24,8 @@ Once Oh My Fish is installed:
|
|||
|
||||
## Features
|
||||
|
||||
* Minimal Look & Prompt
|
||||
* Current short version pwd
|
||||
* Minimal look
|
||||
* Display branch for Git projects
|
||||
* Git project dirty status indicator *meow* **(R,C,A,U,M,?)** *meow*
|
||||
* Fish shell vi mode indicator
|
||||
* Next line prompt
|
||||
* Two unicodes included!
|
||||
|
|
107
fish_prompt.fish
107
fish_prompt.fish
|
@ -11,85 +11,82 @@ set __slavic_color_purple 9458FF
|
|||
set __slavic_color_lilac AE81FF
|
||||
|
||||
function __slavic_color_echo
|
||||
set_color $argv[1]
|
||||
if test (count $argv) -eq 2
|
||||
echo -n $argv[2]
|
||||
end
|
||||
set_color $argv[1]
|
||||
if test (count $argv) -eq 2
|
||||
echo -n $argv[2]
|
||||
end
|
||||
end
|
||||
|
||||
function __slavic_current_folder
|
||||
if test $PWD = /
|
||||
echo -n /
|
||||
else
|
||||
echo -n $PWD | grep -o -E '[^\/]+$'
|
||||
end
|
||||
if test $PWD = '/'
|
||||
echo -n '/'
|
||||
else
|
||||
echo -n $PWD | grep -o -E '[^\/]+$'
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
function __slavic_rainbow
|
||||
if echo $argv[1] | grep -q -e $argv[3]
|
||||
__slavic_color_echo $argv[2] 彡ミ
|
||||
end
|
||||
if echo $argv[1] | grep -q -e $argv[3]
|
||||
__slavic_color_echo $argv[2] "彡ミ"
|
||||
end
|
||||
end
|
||||
|
||||
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_orange R
|
||||
__slavic_rainbow $git_status $__slavic_color_white C
|
||||
__slavic_rainbow $git_status $__slavic_color_green A
|
||||
__slavic_rainbow $git_status $__slavic_color_blue U
|
||||
__slavic_rainbow $git_status $__slavic_color_lilac M
|
||||
__slavic_rainbow $git_status $__slavic_color_grey '?'
|
||||
__slavic_rainbow $git_status $__slavic_color_pink 'D'
|
||||
__slavic_rainbow $git_status $__slavic_color_orange 'R'
|
||||
__slavic_rainbow $git_status $__slavic_color_white 'C'
|
||||
__slavic_rainbow $git_status $__slavic_color_green 'A'
|
||||
__slavic_rainbow $git_status $__slavic_color_blue 'U'
|
||||
__slavic_rainbow $git_status $__slavic_color_lilac 'M'
|
||||
__slavic_rainbow $git_status $__slavic_color_grey '?'
|
||||
end
|
||||
|
||||
function __slavic_git_status
|
||||
# In git
|
||||
if test -n (__slavic_git_branch_name)
|
||||
# In git
|
||||
if test -n (__slavic_git_branch_name)
|
||||
|
||||
__slavic_color_echo $__slavic_color_blue " ☭ "
|
||||
__slavic_color_echo $__slavic_color_white (__slavic_git_branch_name)
|
||||
__slavic_color_echo $__slavic_color_blue " ☭ "
|
||||
__slavic_color_echo $__slavic_color_white (__slavic_git_branch_name)
|
||||
|
||||
if test -n (__slavic_git_status_codes)
|
||||
__slavic_color_echo $__slavic_color_pink ' ●'
|
||||
__slavic_color_echo $__slavic_color_white ' (^._.^)ノ'
|
||||
__slavic_git_status_icons
|
||||
else
|
||||
__slavic_color_echo $__slavic_color_green ' ○'
|
||||
end
|
||||
if test -n (__slavic_git_status_codes)
|
||||
__slavic_color_echo $__slavic_color_pink ' ●'
|
||||
__slavic_color_echo $__slavic_color_white ' (^._.^)ノ'
|
||||
__slavic_git_status_icons
|
||||
else
|
||||
__slavic_color_echo $__slavic_color_green ' ○'
|
||||
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
|
||||
__slavic_color_echo $__slavic_color_purple (prompt_pwd)
|
||||
__slavic_git_status
|
||||
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 '] '
|
||||
__slavic_color_echo $__slavic_color_purple (prompt_pwd)
|
||||
__slavic_git_status
|
||||
|
||||
echo
|
||||
__slavic_color_echo $__slavic_color_pink "▶ "
|
||||
echo
|
||||
__slavic_color_echo $__slavic_color_pink "⫸ "
|
||||
end
|
||||
|
|
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 72 KiB |
Loading…
Reference in a new issue