Xontrib Powerline 2

June 28, 2021 · View on GitHub


xontrib-powerline fork by santagada/xontrib-powerline.

example

Install

pip install xontrib-powerline2

And them load it on your .xonshrc

xontrib load powerline2

Configuration

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

Bulid prompt

If you want to override the settings after xontrib load, so commit changes to your prompt execute pl_build_prompt command.

Check config

To see all available sections type pl_available_sections command.

example_available

Default sections

sectiondescription
who{user}@{hostname}
virtualenv{env_name}
branch{curr_branch}
cwdpwdusingpwd using pl_colors['cwd', 'git_root', 'git_sub_dir'] and $pl_parts
short_cwd{short_cwd}
full_procrun time of the previous command from history
timingdiff from previous command's executed time
timestrftime(' %h:%m ')
historylen(__xonsh__.history)
rtns'!' if __xonsh__.history.rtns else none
full_rtnsrtns[-1] if __xonsh__.history.rtns else none

If you want to know about {} sections, please look xonsh document.

Custom sections

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
example

Section's color

We can change section color by $PL_COLORS.

$PL_COLORS is dict. Basically, the value is (text_color, background_color).

keydefault valuedescription
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

Multi line prompt

We can use multi line prompt by \n.

$PL_PROMPT='\nuser>mode>\ncwd'
example

Separate mode

We can change the way of separation mode by $PL_SEP_MODE.

modeseparate 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
example

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
example

Credits

Similer Projects