Skip to main content

The bar theme for xonsh shell.

Project description

The bar prompt for the xonsh shell with customizable sections.

[Demo] Screenshot made in Konsole with $XONSH_COLOR_STYLE = "paraiso-dark".

If you like the idea of bar theme click ⭐ on the repo and stay tuned.

Features:

  • Zero dependencies. You don't need to install additional packages.

  • Clear concept. The bar is a delimiter and information panel. Three attention aspects: command line and path, output, sections with additional info.

  • The command beginning has fixed position to have a large command line every time and avoid mess of attention.

  • The sections placed to right but not in the same line as command and it allows you to copy the command and output without environmental disclosure.

  • Full customization. Change colors, add sections with info you need easily with Python.

Install

xpip install -U xontrib-prompt-bar
echo 'xontrib load prompt_bar' >> ~/.xonshrc
# Reload xonsh

Use cases

Fields and colors

The bar theme supports fields:

To customize the appearance of the fields on the bar you can use wrappers:

  • {hostname} - no wrapper
  • {hostname#section} - add backlight for the text
  • {hostname#accent} - bold font and lighter color
  • {starship#noesc} - remove ANSI escape characters (colors)
  • {starship#noesc_strip} - remove ANSI escape characters (colors) and strip (remove white spaces in the begin and end)
  • {gitstatus#nocolorx} - remove xonsh color tags i.e. {RED} or {#00ff00}
  • Also you can create your own fields and wrapper. See the section below.

Add custom fields and wrappers

How to add two new fields called my_left_custom and my_right_custom and one new wrapper called brackets.

$PROMPT_FIELDS['my_left_custom'] = 'Hello left!'
$PROMPT_FIELDS['my_right_custom'] = lambda: '>'*3 + ' {YELLOW}Hello right!'

$XONTRIB_PROMPT_BAR_WRAPPERS = {
    'brackets': lambda v: f'[{v}]'
}

$XONTRIB_PROMPT_BAR_LEFT = '{hostname}{user}{cwd_abs#accent}{my_left_custom#brackets}'
$XONTRIB_PROMPT_BAR_RIGHT = '{my_right_custom#section}{env_name#section}{gitstatus_noc#section}{date_time_tz}'

xontrib load prompt_bar

Result:

[Demo custom fields]

Using Starship cross-shell prompt to rendering right sections

Barship using xontrib-prompt-starship:

# First of all create a starship config to return sections in one line
$XONTRIB_PROMPT_STARSHIP_RIGHT_CONFIG = "~/.config/starship_xonsh_right.toml"
$XONTRIB_PROMPT_STARSHIP_REPLACE_PROMPT = False
$XONTRIB_PROMPT_BAR_RIGHT = '{starship_right#noesc_strip}'
xontrib load prompt_starship prompt_bar

Result:

Prompt bar with starship sections.

Additional links

Known issues

Spaces in the copied and pasted command line

Please update prompt_toolkit to 3.0.7+ version via pip install -U prompt_toolkit.

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xontrib-prompt-bar-0.3.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xontrib_prompt_bar-0.3.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file xontrib-prompt-bar-0.3.2.tar.gz.

File metadata

  • Download URL: xontrib-prompt-bar-0.3.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for xontrib-prompt-bar-0.3.2.tar.gz
Algorithm Hash digest
SHA256 678131644e7b0bf362350f84ab7a7d00543d9ab77e6ea8a31bdf0cb96a689c6a
MD5 acd4fb415e53959a7e058114a490b004
BLAKE2b-256 a7b56575581a4239b3739ebffce4738cd6081b886358a19fa59ad82905402dcd

See more details on using hashes here.

File details

Details for the file xontrib_prompt_bar-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: xontrib_prompt_bar-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for xontrib_prompt_bar-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf7fd5648b35a69abaefc51ba9b2c4efb1874918d8a42cc0d704c9ccf65c9eaa
MD5 749adf1267560293b3dc8ea145b71dc0
BLAKE2b-256 ace343832c6a5c5c909ef427b69fd8bb21c696ff2fd5e8fe1df0c5b3046588e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page