Skip to content

oh-my-fish/theme-es

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

es theme

A Powerline-style, Git-aware theme for Oh My Fish.

MIT License Fish Shell Version Oh My Fish Framework


Install

Make sure you have Oh My Fish installed. Then just

$ omf install es

Requirements

Features

  • Git-aware theme with detailed Git status
    • at the left prompt: added, removed, modified, renamed, unstaged, stashed
    • at the right prompt: sha
  • Node/Python/Ruby@gemset current version (local/global in a git folder, only local elsewhere) at the right prompt if respective virtual environment manager is installed (nodenv/NVM, pyenv, rbenv/RVM)
  • Error status and duration of last command at the right prompt
  • Mac-notifications on completion of long commands (10+ seconds by default) if terminal (iTerm and Terminal) is out of focus
  • Limits path to last two folders for better visibility, with $HOME directory abbreviated to ~

Configuration

  • Set the following variables in your ~/.config/fish/config.fish to define how this theme looks:
#      Variable                  	Default	  Option 	Prompt	Description
set -g theme_es_show_symbols     	'yes'  	# no     	  ←   	Show pre-path symbols, e.g. read-only
set -g theme_es_extra_space      	''     	# ' '    	  ←   	Add an extra symbol before each icon (e.g., an extra space)
set -g theme_es_verbose_git_ahead	'yes'  	# no     	  ←   	Print the ahead/behind state for the current branch	(52 instead of ⇕)
set -g theme_es_show_git_count   	'no'   	# yes    	  ←   	Show git count
set -g theme_es_spacer_count     	''     	# ' '    	  ←   	Add extra symbol before each count (e.g., an extra space)
set -g theme_es_git_sha          	'short'	# long no	  →   	Show git sha (short/long)
set -g theme_es_show_user        	'no'   	# yes    	  →   	Show username
set -g theme_es_show_hostname    	'yes'  	# no     	  →   	Show hostname on SSH connections
set -g theme_es_show_node_v      	'yes'  	# no     	  →   	Show Node.js version
set -g theme_es_show_python_v    	'yes'  	# no     	  →   	Show Python version
set -g theme_es_show_ruby_v      	'yes'  	# no     	  →   	Show Ruby prompt @ gemset
set -g theme_es_notify_duration  	10     	#        	      	Notify if command runs longer than this time (seconds)
  • You can also override every single icon by setting the following variables in your ~/.config/fish/config.fish:
List of icon variable names and default values
#echo A quick test of glyph output: \Uf00a \ue709 \ue791 \ue739 \uF0DD \UF020 \UF01F \UF07B \UF015 \UF00C \UF00B \UF06B \UF06C \UF06E \UF091 \UF02C \UF026 \UF06D \UF0CF \UF03A \UF005 \UF03D \UF081 \UF02A \UE606 \UE73C
set -g theme_es_icon_NODE                	\UE718" "	#  from Devicons or ⬢
set -g theme_es_icon_RUBY                	\UE791" "	# \UE791 from Devicons; \UF047; \UE739; 💎
set -g theme_es_icon_PYTHON              	\UE606" "	# \UE606; \UE73C
set -g theme_es_icon_PERL                	\UE606" "	# \UE606; \UE73C
set -g theme_es_icon_TEST                	\UF091   	#
set -g theme_es_icon_VCS_STAGED          	\UF06B   	#  (added) →
set -g theme_es_icon_VCS_DELETED         	\UF06C   	#
set -g theme_es_icon_VCS_MODIFIED        	\UF06D   	#
set -g theme_es_icon_VCS_RENAMED         	\UF06E   	#
set -g theme_es_icon_VCS_UNMERGED        	\UF026   	#    #═: there are unmerged commits
set -g theme_es_icon_VCS_UNTRACKED       	\UF02C   	#    #●: there are untracked (new) files
set -g theme_es_icon_VCS_DIFF            	\UF06B" "	#
set -g theme_es_icon_VCS_STASH           	\UF0CF" "	#      #✭: there are stashed commits
set -g theme_es_icon_VCS_INCOMING_CHANGES	\UF00B" "	#  or \UE1EB or \UE131
set -g theme_es_icon_VCS_OUTGOING_CHANGES	\UF00C" "	#  or \UE1EC or 
set -g theme_es_icon_VCS_TAG             	\UF015" "	#
set -g theme_es_icon_VCS_BOOKMARK        	\UF07B" "	#
set -g theme_es_icon_VCS_COMMIT          	\UF01F" "	#
set -g theme_es_icon_VCS_BRANCH          	\UE0A0   	# \UE0A0 or \UF020
set -g theme_es_icon_VCS_BRANCH_REMOTE   	\UE804" "	#  not displayed, should be branch icon on a book
set -g theme_es_icon_VCS_BRANCH_DETACHED 	\U27A6" "	#
set -g theme_es_icon_VCS_GIT             	\UF00A" "	#  from Octicons
set -g theme_es_icon_VCS_HG              	\UF0DD" "	# Got cut off from Octicons on patching
set -g theme_es_icon_VCS_CLEAN           	\UF03A   	#
set -g theme_es_icon_VCS_PUSH            	\UF005" "	#
set -g theme_es_icon_VCS_DIRTY           	±        	#
set -g theme_es_icon_ARROW_UP            	\UF03D"" 	#  ↑
set -g theme_es_icon_ARROW_DOWN          	\UF03F"" 	#  ↓
set -g theme_es_icon_OK                  	\UF03A   	#
set -g theme_es_icon_FAIL                	\UF081   	#
set -g theme_es_icon_STAR                	\UF02A   	#
set -g theme_es_icon_JOBS                	\U2699" "	#
set -g theme_es_icon_VIM                 	\UE7C5" "	#
set -g theme_es_icon_LOCK                	        	#

Screenshots

Git folder

Normal folder (no Git)

Normal read-only folder (no Git)

Icons

Icons

License

MIT © eugenesvk et al