xontrib-powerline fork by santagada/xontrib-powerline.
pip install xontrib-powerline2
And them load it on your .xonshrc
xontrib load powerline2
There are two variables that can be set, $PL_PROMPT
for main prompt, $RPL_PROMPT
for the right prompt and $PL_TOOLBAR
for the bottom toolbar.
They contain a list of sections that can be used separated by >
. The value !
means not to use that prompt.
Examples:
$PL_PROMPT='cwd>branch'
$PL_RPROMPT = '!' # for no toolbar
$PL_TOOLBAR = 'who>virtualenv>branch>cwd>full_proc'
xontrib load powerline2
If you want to override the settings after xontrib load
, so commit changes to your prompt execute pl_build_prompt
command.
To see all available sections type pl_available_sections
command.
section | description |
---|---|
who | {user}@{hostname} |
virtualenv | {env_name} |
branch | {curr_branch} |
cwd | $pwd using $pl_colors['cwd', 'git_root', 'git_sub_dir'] and $pl_parts |
short_cwd | {short_cwd} |
full_proc | run time of the previous command from history |
timing | diff from previous command's executed time |
time | strftime(' %h:%m ') |
history | len(__xonsh__.history) |
rtns | '!' if __xonsh__.history.rtns else none |
full_rtns | rtns[-1] if __xonsh__.history.rtns else none |
If you want to know about {}
sections, please look xonsh document.
We can add customize origin section by $PL_EXTRA_SEC
.
# func return [format string, text color, background color]
$PL_EXTRA_SEC = {"user": lambda: [' I'm {user} ', 'BLACK', '#fd971f']}
$PL_PROMPT='user>cwd>branch'
$PL_TOOLBAR='!'
$PL_RPROMPT='!'
xontrib load powerline2
We can change section color by $PL_COLORS
.
$PL_COLORS
is dict
. Basically, the value is (text_color, background_color)
.
key | default value | description |
---|---|---|
who | ("BLACK", "#a6e22e") | - |
venv | ("BLACK", "INTENSE_GREEN") | - |
branch | ("#333") | background color from $PROMPT_FIELDS['branch_bg_color'] |
cwd | ("WHITE", "#444") | - |
git_root | ("BLACK", "#00adee") | used by cwd |
git_sub_dir | ("WHITE", "#00adee") | used by cwd |
short_cwd | ("WHITE", "#444") | - |
full_proc | ("WHITE", "RED", "#444") | There are two types of background depending on the situation |
timing | ("WHITE", "#444") | - |
time | ("BLACK", "#00adee") | - |
history | ("WHITE", "#333333") | - |
rtns | ("WHITE", "RED") | - |
full_rtns | ("WHITE", "RED", "#444") | There are two types of background depending on the situation |
We can use multi line prompt by \n
.
$PL_PROMPT='\nuser>mode>\ncwd'
We can change the way of separation mode by $PL_SEP_MODE
.
mode | separate char |
---|---|
powerline | , , , |
round | , , , |
down | , , , |
up | , , , |
flame | , , , |
squares | , , , |
ruiny | , , , |
lego | , |
For example
# set $PL_SEP_MODE or using pl_set_mode alias
$PL_SEP_MODE='round'
pl_set_mode round
If you want to use original separeter, you can use $PL_ORG_SEP
, $PL_ORG_SEP_THIN
, $PL_ORG_RSEP
.
$PL_ORG_SEP = '■'
$PL_ORG_SEP_THIN = '□'
$PL_ORG_RSEP = '■'
xontrib load powerline2
laerus/cookiecutter-xontrib
: https://github.com/laerus/cookiecutter-xontribsantagada/xontrib-powerline
: https://github.com/santagada/xontrib-powerline
jnoortheen/xontrib-powerline3
: https://github.com/jnoortheen/xontrib-powerline3- That is also compatible with
ASYNC_PROMPT
!
- That is also compatible with