Initializes mise (polyglot asdf-like runtime manager)
Project description
Initialize mise (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 mise 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-versions
outside of shell (optional) - commands that containt custom text chunks
useful to refresh shell status when you edit.tool-versions
in a shell (optional)
Installation
To install use pip:
xpip install xontrib-mise
# or: xpip install -U git+https://github.com/eugenesvk/xontrib-mise
Usage
This xontrib requires mise
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
.py
xontrib loading config andimport
it in your xonsh run control file (~/.xonshrc
or~/.config/rc.xsh
):
from xonsh.xontribs import xontribs_load
from xonsh.built_ins import XSH
envx = XSH.env
xontribs = [ "mise", # Initializes mise (polyglot asdf-like runtime manager)
# your other xontribs
]
# ↓ optional configuration variables
if 'mise' in xontribs: # Configure mise only if you're actually loading
# config var value |default|alt_cmd¦ comment
envx['XONTRIB_MISE_CHUNK_LIST'] = ['.tool-versions'] # |['.tool-versions']|False¦ (feeble attempts to track edits to `.tool-versions` in the command line) update mise status if command contains any of the string chunks in this list; False to disable this listener completely
envx['XONTRIB_MISE_NEWLINE_REFRESH'] = True # |True|False¦ update mise 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_MISE_FORCE_COLOR'] = True # |True|False¦ preserve colored mise output
envx['XONTRIB_MISE_LOGLEVEL'] = 1 # |1|0¦ print xontrib log messages: 0 none, 1 error; 'mise' stderr is always passed through
# (old variables with _RTX_ in the name continue to work)
xontribs_load(xontribs) # actually load all xontribs in the list
- Or just add this to your xonsh run control file
xontrib load mise # Initializes mise (polyglot asdf-like runtime manager)
# configure like in the example above, but replace envx['VAR'] with $VAR
$XONTRIB_MISE_LOGLEVEL = 1
Known issues
- In the future xontrib-mise 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xontrib_mise-0.0.1.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for xontrib_mise-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7136cad51514172eaa566c42baad0f23d01ee42fff8b0a5847e4e7217975ee88 |
|
MD5 | 6989b3069f9c4000af0d0e3984a0e909 |
|
BLAKE2b-256 | 156b99e88ad08f67859f803e3e0b10febb95936c3cd2552b9900bc50da14db05 |