Initialize rtx (polyglot asdf-like runtime manager in Rust)
in a more performant and flexible way
If you like the idea click ⭐ on the repo and tweet.
This xontrib adds a couple of (maybe too tiny to notice) improvements:
- (no cost) replaces the subprocess syntax for the hook rtx function with a pure python syntax, which for some reason improves hook runtime by ~60% (but in absolute terms maybe just a dozen or two
ms) - (less convenient) replaces a hook on every prompt paint with hooks on
- shell launch
- changing dirs
- empty commands
useful to refresh shell status when you edit.tool-versionsoutside of shell (optional) - commands that containt custom text chunks
useful to refresh shell status when you edit.tool-versionsin a shell (optional)
Installation
To install use pip:
xpip install xontrib-rtx
# or: xpip install -U git+https://github.com/eugenesvk/xontrib-rtx
Usage
This xontrib requires rtx to be in PATH or ~/bin; or if it's added to PATH via another xontrib (e.g, you installed it via Homebrew and use xontrib-homebrew), then you should load this xontrib after the one setting PATH
- Add the following to your
.pyxontrib loading config andimportit in your xonsh run control file (~/.xonshrcor~/.config/rc.xsh):
from xonsh.xontribs import xontribs_load
from xonsh.built_ins import XSH
envx = XSH.env
xontribs = [ "rtx", # Initializes rtx (polyglot asdf-like runtime manager)
# your other xontribs
]
# ↓ optional configuration variables
if 'rtx' in xontribs: # Configure rtx only if you're actually loading
# config var value |default|alt_cmd¦ comment
envx['XONTRIB_RTX_CHUNK_LIST'] = ['.tool-versions'] # |['.tool-versions']|False¦ (feeble attempts to track edits to `.tool-versions` in the command line) update rtx status if command contains any of the string chunks in this list; False to disable this listener completely
envx['XONTRIB_RTX_NEWLINE_REFRESH'] = True # |True|False¦ update rtx status if command is empty (e.g, ⏎ on a blank line to refresh after editing `.tool-versions` in a text editor); False to disable this listener completely
envx['XONTRIB_RTX_FORCE_COLOR'] = True # |True|False¦ preserve colored rtx output
envx['XONTRIB_RTX_LOGLEVEL'] = 1 # |1|0¦ print xontrib log messages: 0 none, 1 error; 'rtx' stderr is always passed through
xontribs_load(xontribs_manual) # actually load all xontribs in the list
- Or just add this to your xonsh run control file
xontrib load rtx # Initializes rtx (polyglot asdf-like runtime manager)
# configure like in the example above, but replace envx['VAR'] with $VAR
$XONTRIB_RTX_LOGLEVEL = 1
Known issues
- In the future xontrib-rtx will be autoloaded, but this is currently blocked due to a xonsh bug: too early autoload prevens reading user config; also, autoloading can't be disabled
Credits
This package was created with xontrib template
Release files for xontrib-rtx 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xontrib_rtx-0.0.1.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xontrib_rtx-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.5 kB
Release files / xontrib_rtx-0.0.1.tar.gz
| Download URL | xontrib_rtx-0.0.1.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fbadd593b0c9e81b6030cc05e5a0830af690fae175a007bd15ad61c8010fe6b5
|
|
BLAKE2b-256 checksum How to use checksums |
37b7208cfa06046ad735591336dd0784af7b33f186e450cc3dd1fa6f29768908
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.11.1 Darwin/19.6.0
|
Release files / xontrib_rtx-0.0.1-py3-none-any.whl
| Download URL | xontrib_rtx-0.0.1-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
337e5c5c65b20df15ea92dffa7485da5f4b5f88e58b1dbc402104c9117308a96
|
|
BLAKE2b-256 checksum How to use checksums |
ec1ee9f7b2c3811445b2d23c890d5f18c077442cf7fd6ed5aebb175774341d4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.11.1 Darwin/19.6.0
|