.. | ||
fish_prompt.fish | ||
README.md |
syl20bnr theme
A semi-compact oh-my-fish theme with nice support for git.
The theme has been tested on Ubuntu 14.04 (Trusty)
and Mac OS X 10.10 (Yosemite)
.
It is also compatible with Cygwin with the appropriate packages.
Table of Contents generated with DocToc
Segments
pwd: Compact current working directory
The pwd
segment format is X:P(N)
where:
X
is eitherhome
or/
P
is the current working path base name (name of the current directory)N
is the depth of the path starting fromX
If the pwd
is home
or /
then the prompt format is simplified to home
and /
respectively without the current directory and depth.
Examples
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
isgit
Y
is the current branch nameI
is some information about the current repository stateZ
is the name of the repositoryP
is the current working path basename (name of the current directory)
IfP
=Z
thenP(N)
is not displayedN
is the depth of the path starting from base directory of the repository
The displayed information I
is:
- Unpushed commits are indicated with an up arrow like this
[↑1]
- Unmerged fetched commits are indicated with a down arrow like this
[↓1]
Note: The dirtiness of the current branch is indicated by its color:
- red: it is dirty
- green: it is up to date
Note: The unmerged commits count appears only if the changes in the
upstream branch as been fetched.
Examples
Dirty (changes not committed):
Unpushed commits:
Unmerged commits:
Both unpushed and unmerged commits:
In a sub-directory of the repository:
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 nameY
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
)
Mac compatibility
In order to make this theme work correctly with all the features make sure to
install the following packages via MacPorts or Homebrew:
-pstree
(used in ranger detection)
Cygwin compatibility
In order to make this theme work on Cygwin, make sure to install the following
packages:
bc
formath
fish functionpsmisc
forpstree
(used in ranger detection)git
if you want to use thegit
segment.