Skip to content

An zsh-theme with informative git status, anaconda environment info and command execution time.

License

Notifications You must be signed in to change notification settings

philip82148/simplerich-zsh-theme

 
 

Repository files navigation

simplerich-zsh-theme

Overview

This is an oh-my-zsh theme with informative git status, venv/Anaconda environment info and command execution time.

demo.png

Features

You can see the followings at once:

  • Real time
  • Login user
  • Working directory
  • Venv/Anaconda's environment name
  • Rich git status

After command execution, you can see also:

  • Command execution time
  • Success/Error hint

Git Status Symbols

The git status is updated immediately after a command is finished or every 10 seconds after the terminal is started.

Symbol Meaning
[main] The repository is clean.
[main +n] There are n staged files.
[main ●n] There are n changed but unstaged files.
[main …n] There are n untracked files.
[main xn] There are n conflicting files.
[main n|m] The local branch is m commits ahead and n commits behind the remote branch.
[main *] This will be displayed instead of the informative symbols
when python cannot be executed and the repository not clean.

Install

  1. Clone the repository & copy the zsh-theme file.
# cd path/to/where_u_want_to_clone_the_repo
git clone --recursive https://github.com/philip82148/simplerich-zsh-theme
cp ./simplerich-zsh-theme/simplerich.zsh-theme ~/.oh-my-zsh/themes/
  1. Edit ~/.zshrc.
# file:~/.zshrc
# Find the line that reads ZSH_THEME="..." and replace it with the followings.
ZSH_THEME="simplerich"
source path/to/where_u_want_to_clone_the_repo/simplerich-zsh-theme/zsh-git-prompt/zshrc.sh

Attention

  • These must be BEFORE the line source $ZSH/oh-my-zsh.sh in ~/.zshrc.
  • Change the path of source .../zsh-git-prompt/zshrc.sh according to your environment.
  • If you comment out source .../zsh-git-prompt/zshrc.sh or you cannot use python command, you can use a simpler git status like the following:
    simpler-git-status.png
  1. If you use venv, remove the original display of the environment name.
echo "export VIRTUAL_ENV_DISABLE_PROMPT=1" >> ~/.zshrc

Or if you use Anaconda, run this:

conda config --set changeps1 False
  1. Load ~/.zshrc.
source ~/.zshrc

See also Overriding and adding themes and zsh-git-prompt.

Trouble Shooting

On macOS, Command Not Found: gdate

  • simplerich.zsh-theme depends on cmd gdate to get current time in milliseconds. get gdate on macOS by running brew install coreutils then source ~/.zshrc.
  • See also #12.

On Linux, Command Not Found: bc

  • simplerich.zsh-theme depends on cmd bc to calculate the command running time cost. get bc on Linux then source ~/.zshrc.
  • See also #13.

On Centos 7, Shell Exit

Extra Preferences

Zsh Plugins

  1. zsh-autosuggestions
  2. zsh-syntax-highlighting
  3. zsh-completions
  4. zsh-history-substring-search

iTerm2 Preferences

Color

Status Bar

  • iTerm2: Settings -> Appearance && settings -> Profiles -> Session -> Configure Status Bar status_0.png status_1.png

Font

  • Install JetBrains Mono.
  • iTerm2: Settings -> Appearance && settings -> Profiles -> Text -> Font font.png

About

An zsh-theme with informative git status, anaconda environment info and command execution time.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%