oh-my-fish/themes/syl20bnr
2014-06-04 23:28:57 -04:00
..
fish_prompt.fish Add support for upcoming fish shell native vi mode 2014-06-04 23:28:57 -04:00
README.md Add support for upcoming fish shell native vi mode 2014-06-04 23:28:57 -04:00

syl20bnr theme

Sylvain Benner personal, compact (hmmm...) yet complete (almost :-)) oh-my-fish theme.

Table of Contents generated with DocToc

Segments

pwd: Compact current working directory

The pwd segment format is X:P(N) where:

  • X is either home or /
  • P is the current working path base name (name of the current directory)
  • N is the depth of the path starting from X

If the pwd is home or / then the prompt format is simplified to home and / respectively without the current directory and depth.

Examples

In home directory: home

Inside a directory in home: inside_home

Outside the home directory: outside_home

git

If the current directory is a git repository then the pwd segment is replaced by the git segment (I should know where I am).

The git segment format is X:YI@Z:P(N) where:

  • X is git
  • Y is the current branch name
  • I is the information about the current repository state
  • Z is the name of the repository
  • P is the current working path basename (name of the current directory) If P = Z then P(N) is not displayed
  • N is the depth of the path starting from base directory of the repository

The displayed information I is:

  • Dirtiness is indicated by a little dot after the branch name.
  • Unpushed commits are indicated with up arrows
  • The number of unpushed commits is indicated right after the up arrows

Examples

Dirty: dirty

Unpushed commits: unpushed_commits

In a sub-directory of the repository: repo_subdir

vi-mode

This segment display the current vi-mode if the fish native vi mode or the oh-my-fish vi-mode plugin is used. See the [n] in the previous screenshots.

end

The color of the end of the prompt depends on the $status value of the last executed command. It is green or red depending on the success or failure of the last command.

Since I often use ranger and its shift+s key binding to bring a new child shell session, there is a discreet indicator when the parent process of the current shell is a ranger process: the end of the prompt is written twice (ie: >> instead of just >). With this indicator I quickly see if I can ctrl+d to end the current shell process and go back to the parent ranger process.

where

The where segment format is X@Y where:

  • X is the user name
  • Y is the host name

This segment is displayed in the right prompt.

Functions

Some functions come with the theme:

  • toggle_right_prompt will... toggle the right prompt! (alias: trp)

Cygwin compatibility

In order to make this theme work on Cygwin, make sure to install the following packages:

  • bc for math fish function
  • psmisc for pstree
  • git if you want to use the git segment.