xonsh v0.11.0 Release Notes
-
โ Added:
- ๐ added new utility classes
xonsh.cli_utils.ArgParserAlias
,xonsh.cli_utils.ArgCompleter
. These are helper classes, that add coloring and auto-completion support to the alias-commands. - when
$ENABLE_ASYNC_PROMPT=True
lazy loadprompt-toolkit
's color-input support. - โ Add
CTRL-Right
key binding to complete a single auto-suggestion word. - ๐ Show environment variables' type and descriptions when completing them.
- Add
CTRL-Backspace
key binding to delete a single word via$XONSH_CTRL_BKSPC_DELETION
. - ๐ Improved
pip
/xpip
completer. - Separator used by gitstatus can now be styled using
XONSH_GITSTATUS_SEPARATOR
. - Complete 'import' statements with modules that aren't loaded.
- Complete multiple modules/objects in 'import' statements.
- ๐ Multiple new metadata fields in
setup.py
- ๐ Pure Python control files are now supported when named
*.py
. Using python files may lower the startup time by a bit. - new environment variable
$XONSH_TRACE_SUBPROC_FUNC
to handle$XONSH_TRACE_SUBPROC
output - โ Added
xontrib-pyrtn <https://github.com/dyuri/xontrib-pyrtn>
to xontrib list.
๐ Changed:
- Display error message when running
xonfig colors
in a non-interactive shell - ๐ Using
ArgparserAlias
fordirs
,popd
,pushd
- ๐ use
ArgparserAlias
fordisown
alias with completion support - ๐
history
alias now has colored help message and completion support when running interactively. - ๐ using
ArgparserAlias
fortrace
alias with completion support - ๐ improve
vox
CLI completions - ๐ use ArgparserAlias for
xexec
. Now it supports completions. xonfig
now has colored help message when ran interactively.- ๐ Using
ArgparserAlias
to improvexontrib
completions - ๐ Changed !() to also capture background subprocesses
- ๐ Suggested commands are cached for better performance.
- ๐ Improved pipelines performance by using a mutable buffer.
- Curly braces { } in directory names are now escaped in the prompt
- ๐ The
--rc
argument is extended to support directories as well as files. Passing a directory will result in all*.xsh
files in the directory being sorted and loaded at startup (equivalent to using the environment variableXONSHRC_DIR
). - โก๏ธ The environment variables
XONSHRC
andXONSHRC_DIR
are no longer updated by xonsh on startup according to which files were actually loaded. This caused problems if xonsh is called recursively, as the child shells would inherit the modified startup environment of the parent. These variables will now be left untouched, and the actual RC files loaded (according to those variables and command line arguments) can be seen in the output ofxonfig
. - Replaced
xontrib-linuxbrew <https://github.com/eugenesvk/xontrib-linuxbrew>
_ withxontrib-homebrew <https://github.com/eugenesvk/xontrib-homebrew>
_, which also supports Homebrew on macOS
โ Removed:
- ๐ Completely dropped the deprecated
--config-path
argument, which no longer did anything. - The environment variable
LOADED_RC_FILES
is no longer set. It contained a list of booleans as to which RC files had been successfully loaded, but it required knowledge of the RC loading internals to interpret which status corresponded to which file. As above, the (successfully) loaded RC files are now shown inxonfig
.
๐ Fixed:
- โ Add quotes in autocomplete when filename contains brackets
- Handle
None
value on XSH.env if$UPDATE_OS_ENVIRON
is set toTrue
- Implemented
__hash__
method to Env, so that it can be used inlru_cache
without crashing. - Make sure aliases are always captured regardless of
$XONSH_CAPTURE_ALWAYS
fromdircolors
doesn't crash if output from subprocess call todircolors
returns nothing (usually due to permission errors)- ๐ Fixed issue with environment not being iterable on session objects.
- ๐ Fixed issue where environment is None in commands cache.
${...}.swap()
can be called from multiple threads safetly.- Piping multiple function aliases doesn't raise a recursion error anymore.
- ๐ Fixed detection of App Execution Alias for latest 3.8 and 3.9 releases
Jedi
completer doesn't complete paths with~
.- Sometimes the completion menu doesn't take space when cursor is at the bottom of the screen.
- ๐ฆ vox now passes system-site-packages option
- ๐ Fix Duplicate paths left over when add paths to Path via xonsh.tools.EnvPath
- ๐ Fix Crash with FileNotFoundError when current working directory is deleted #4467
- Completing a single-arg python code segment (e.g.
@(/etc/hos<TAB>)
). - ๐ Fixed pipelines in WSL2
- ๐ Newline symbols in Prompt-toolkit's completions are replaced by
- ๐ Fix launching processes on Windows by using full paths (https://bugs.python.org/issue8557)
- ๐ added new utility classes