Python-powered, cross-platform, Unix-gazing shell.
OTHER License
Bot releases are hidden (Show)
Fixed:
Authors:
Published by gforsyth 8 months ago
Full Changelog: https://github.com/xonsh/xonsh/compare/0.14.4...0.15.0
Published by gforsyth 9 months ago
Full Changelog: https://github.com/xonsh/xonsh/compare/0.14.3...0.14.4
Published by gforsyth 11 months ago
Added:
on_pre_spec_run
event.on_post_spec_run
event.Fixed:
xonsh
now adds the user site packages directory to sys.path
wherexontrib
discoveryAuthors:
Published by gforsyth 11 months ago
Fixed:
sudo
(#5220)cd
with no arguments will always return to $HOME
Authors:
Published by gforsyth about 1 year ago
Added:
history delete
command to both the JSON and SQLite history backends allowing users to delete commands from history that matches a pattern.Changed:
$MULTILINE_PROMPT_PRE
and $MULTILINE_PROMPT_POS
) to allow differentiating between user setting an empty value and not setting anythingFixed:
BASH_COMPLETIONS_DEFAULT
on M1Authors:
Published by gforsyth over 1 year ago
Added:
escape-f
as another word completer for macOShistory pull
command to SQLite history backend to pull the history from parallel sessions and add to the current session.Semantic Prompt <https://gitlab.freedesktop.org/Per_Bothner/specifications/blob/master/proposals/semantic-prompts.md>
_ for line continuations in multiline prompts via two environment variables: $MULTILINE_PROMPT_PRE
(e.g., \x01\x1b]133;P;k=c\x07\x02
), and $MULTILINE_PROMPT_POS
(e.g., \x01\x1b]133;B\x07\x02
) that are inserted before/after each continuation line 'dots' block to mark inputchdir
to xonsh.tools
. This allows to use with chdir("dir"):
to run commands block in the certain directory without manually cd-ing.-s
to skip warning about not installed xontribs.Changed:
@
.command not found
error will show the repr(cmd)
to uncover the cases when the command name has \n
, \t
or not visible color codes and raises the error.abbrevs
xontrib transferred to xontrib-abbrevs <https://github.com/xonsh/xontrib-abbrevs>
_.bashisms
xontrib transferred to xontrib-bashisms <https://github.com/xonsh/xontrib-bashisms>
_.free_cwd
xontrib transferred to xontrib-free-cwd <https://github.com/xonsh/xontrib-free-cwd>
_.whole_word_jumping
xontrib transferred to xontrib-whole-word-jumping <https://github.com/xonsh/xontrib-whole-word-jumping>
_.fish_completer
xontrib transferred to xontrib-fish-completer <https://github.com/xonsh/xontrib-fish-completer>
_.vox
, autovox
, voxapi
xontribs transferred to xontrib-vox <https://github.com/xonsh/xontrib-vox>
_.pdb
, xog
xontribs transferred to xontrib-debug-tools <https://github.com/xonsh/xontrib-debug-tools>
_.Fixed:
webconfig/js/xonsh_sticker.svg
in xonfig web
.$XONSH_SHOW_TRACEBACK=False
with $RAISE_SUBPROC_ERROR=True
.$RAISE_SUBPROC_ERROR
is set to True.Euporie <https://github.com/joouha/euporie>
_ environment.Authors:
Published by gforsyth almost 2 years ago
Added:
$XDG_CACHE_HOME
, $XONSH_CACHE_DIR
are now available inside Xonsh
on_command_not_found
event, fired when a command is not found.XONSH_HISTORY_IGNORE_REGEX
support. You can specify a regularXONSH_HISTORY_IGNORE_REGEX
and anyChanged:
Removed:
$COMMANDS_CACHE_SIZE_WARNING
is removed. When $COMMANDS_CACHE_SAVE_INTERMEDIATE
is enabled,Fixed:
$COMMANDS_CACHE_SAVE_INTERMEDIATE
is enabled.Authors:
Published by gforsyth about 2 years ago
Fixed:
pygments
startup crash when incorrect prepending bg:
to noinherit
Authors:
Published by gforsyth about 2 years ago
Changed:
gitstatus
prompt fields are now None
.$THREAD_SUBPROCS=False
: When a callable alias is executed with ![]
, its standard output and standard error are no longer captured. This is because a separate thread is required in order to both capture the output and stream it to the terminal while the alias is running.Fixed:
$PROMPT
format strings like {gitstatus: hello {}}
now work as expected.$THREAD_SUBPROCS=False
: When cd
is used with an invalid directory, the error message is now correctly displayed.Authors:
Published by gforsyth about 2 years ago
Added:
Changed:
xonsh.AppImage
to 3.10Fixed:
pygments
tries to load an unknown stylegit push origin :dev-branch
)less
no longer stops when a callable alias containing subprocess commands is piped into itgitstatus
Prompt-field would be empty on paths without git setup.swaymsg -t get_inputs
no longer fails with the error "Unable to receive IPC response"current_job
variable now works as expected when used in $TITLE
Security:
xpip
will never add sudo
under any circumstances and will instead append --user
as neededAuthors:
Published by gforsyth over 2 years ago
Removed:
xonsh
code-base is no longer amalgamated, so tracebacks should beFixed:
free_cwd
whole_word_jumping
xontrib failing on Linux, conditional import of ptk_win32
→ Windows onlyAuthors:
Published by gforsyth over 2 years ago
Fixed:
Authors:
Published by gforsyth over 2 years ago
Added:
loading and unloading <https://github.com/xonsh/xonsh/issues/4541>
__load_xontrib_(xsh: XonshSession, **kwargs) -> dict
,_unload_xontrib_(xsh: XonshSession, **kwargs) -> None
defined in their module.Updated doc <https://xon.sh/tutorial_xontrib.html>
_Changed:
![sleep 10 &]
)whole_word_jumping
xontrib with matching bindings fordelete
and backspace
. The XONSH_WHOLE_WORD_CTRL_BKSP
environmentFalse
to avoid binding control+backspace
infuro
Removed:
prompt_ret_code
is now removed.last_return_code
, last_return_code_if_nonzero
fromPR <https://github.com/xonsh/xonsh/pull/4798>
_Fixed:
fg
for commands started in the background (e.g. ![sleep 10 &]
) now worksnohup
command to work properly.bg
now properly resumes jobs in the backgroundsleep 500 &
running in the background, pressing Ctrl+D twice to force quit now works properlyAuthors:
Published by gforsyth over 2 years ago
Authors:
Published by gforsyth over 2 years ago
Changed:
Awesome Xontribs <https://github.com/xonsh/awesome-xontribs/>
_ page.the xonsh release <https://github.com/xonsh/xonsh/issues/4679>
_.Removed:
NEP0029 <https://numpy.org/neps/nep-0029-deprecation_policy.html>
_Fixed:
Authors:
Published by gforsyth over 2 years ago
Fixed:
dd sta
gets completed to dd status=
, without a space space after the equals sign.gitstatus <https://github.com/xonsh/xonsh/pull/4771>
_ prompt is fixed now. It will display the value now instead of the name.fixed <https://github.com/xonsh/xonsh/pull/4763>
_ vox rm
crashing when user input is requiredAuthors:
Published by gforsyth over 2 years ago
Fixed:
xontrib-abbrevs <https://github.com/xonsh/xonsh/pull/4757>
_Authors:
Published by gforsyth over 2 years ago
Added:
Added interface to complete any alias that has xonsh_complete
attribute. It is a function with fn(**kwargs) -> Iterator[RichCompletion | str]
signature.
added $ALIAS_COMPLETIONS_OPTIONS_LONGEST
to control showing options in completions
added $CMD_COMPLETIONS_SHOW_DESC
environment variable to control showing command completions with a description part.
completer complete
command is added to test current completions
completions from man page will now show the description for the options if available.
$XONSH_COMPLETER_DIRS
to put command completers
Aliases.register
to register an alias function.
Tracebacks are now printed in color if available (interactive session with shell that supports colors with pygments installed and $COLOR_RESULTS enabled)
Added python's match statement for python >=3.10.
Added support for the $SHLVL environment variable, typed as int, using bash's semantics.
Python files with command completions can be put inside xompletions
namespace package,
they will get loaded lazily.
xontrib.fish_completer
is available to complete using fish
shell.
Support for pythons sys.last_type, sys.last_value, sys.last_traceback.
added xonsh-uname
command to xoreutils
auto-completion support for commands : source-foreign
, source-bash
, source-zsh
, source-cmd
added history transfer
command to transfer history entries between backends.
now $PROMPT_FIELDS
is a custom class with method pick(field_name)
to get the field value efficiently.
The results are cached within the same prompt call.
new class xonsh.prompt.base.PromptField
to ease creating/extending prompt-fields
Sublime Text 4 extension to the Editors page.
Support for the virtualenv <https://virtualenv.pypa.io/en/20.0.1/extend.html#activation-scripts>
_ activate.xsh
script is back! Ensure you create the virtualenv from the same python where xonsh is installed.
vox new/create accepts a new --prompt
argument, which is passed through to python -m venv
New set of commands and options to manage virtualenvs inspired from pew
runin
runinall
new
--link
: to associate venv with project directory--temp
: to create temporary virtualenvsactivate
toggle-ssp - toggle system site packages
project - manage project path associations
wipe - to quickly remove all user installed packages
prompt.env.env_name
is now aware of the "prompt" key in pyvenv.cfg
- search order from first to last is: $VIRTUAL_ENV_PROMPT
, pyvenv.cfg
, $VIRTUAL_ENV
, $CONDA_DEFAULT_ENV
new command vox upgrade
xonfig web
can now update abbrevs/aliases/env-variables
.
Added xontrib-default-command <https://github.com/oh-my-xonsh/xontrib-default-command>
to xontrib list.
new xontrib-django <https://github.com/jnoortheen/xontrib-django>
_ for django management completions
Added xontrib-gruvbox <https://github.com/rpdelaney/xontrib-gruvbox>
to xontrib list.
Added xontrib-up <https://github.com/oh-my-xonsh/xontrib-up>
to xontrib list.
Changed:
Both *.xsh
and *.py
files inside $XONSHRC_DIR
will get loaded now.
Environment-variables of no predefined type or path environment variables are now represented as strings via the empty string.
Made stacktraces behave like in python, i.e. when something in user-provided code fails (both interactively and non-interactively), only that part is shown, and the (static) part of the stacktrace showing the location where the user code was called in xonsh remains hidden. When an unexpected exception occurs inside xonsh, everything is shown like before.
run_compiled_code, run_script_with_cache, run_code_with_cache now return sys.exc_info() triples instead of throwing errors
SyntaxError tracebacks now by default hide the internal parser state (like in python); set XONSH_DEBUG >= 1 to enable it again.
XonshError tracebacks now by default hide xonshs internal state; set XONSH_DEBUG >= 1 to enable it again.
run_code_with_cache takes a new parameter display_filename to override the filename shown in exceptions (this is independent of caching)
Update uptime lib by the last one from Pypi
umask
, ulimit
commands will not override the system's commands unless requested
Xontribs that require other third party packages are moved to its own packages.
The following xontribs are moved and can be loaded after install as usual
Xonsh adopts NEP-0029 <https://numpy.org/neps/nep-0029-deprecation_policy.html>
_ in supporting Python versions.
Privatise certain attributes of lexer/parser to minimise API surface
Make XSH.load
calls explicit (not in Execer)
Make import hooks require Execer
Simplified foreign functions
Updated tutorial.rst to clarify use of time_format
vox new
will use default python version of the system rather than the one vox is run with
xonfig web
now shows latest xontribs available from xonsh.xontribs_meta
Removed:
$XONSH_GITSTATUS_*
is removed$XONSH_GITSTATUS_FIELDS_HIDDEN
is removed.$PROMPT_FIELDS['gitstatus'].hidden = (...)
xonsh.ptk2
module whcih was kept for some old packages sake. Now xonsh requires atleast ptk3 version.Fixed:
/home/user/
during autocompletion.bash_completions
does not expect that, so it breaks autocompletion by producing paths like ~/f/home/user/foo
./home/user
prefix will be replaced with ~/
.pip
completer now handles path completions correctly$CONDA_DEFAULT_ENV
is now respected when xonsh is run outside of conda.(
$PROMPT
is no longer removed when using ptk shell.\001..\002
instead.$XONSHRC_DIR
directory entry exists.current_branch
will now work empty git repository.Authors:
Published by gforsyth almost 3 years ago
Added:
xonsh.cli_utils.ArgParserAlias
, xonsh.cli_utils.ArgCompleter
.$ENABLE_ASYNC_PROMPT=True
lazy load prompt-toolkit
's color-input support.CTRL-Right
key binding to complete a single auto-suggestion word.CTRL-Backspace
key binding to delete a single word via $XONSH_CTRL_BKSPC_DELETION
.pip
/xpip
completer.XONSH_GITSTATUS_SEPARATOR
.setup.py
*.py
.$XONSH_TRACE_SUBPROC_FUNC
$XONSH_TRACE_SUBPROC
outputxontrib-pyrtn <https://github.com/dyuri/xontrib-pyrtn>
to xontrib list.Changed:
xonfig colors
in a non-interactive shellArgparserAlias
for dirs
, popd
, pushd
ArgparserAlias
for disown
alias with completion supporthistory
alias now has colored help message and completion support when running interactively.ArgparserAlias
for trace
alias with completion supportvox
CLI completionsxexec
. Now it supports completions.xonfig
now has colored help message when ran interactively.ArgparserAlias
to improve xontrib
completions--rc
argument is extended to support directories as well as files.*.xsh
files in the directory beingXONSHRC_DIR
).XONSHRC
and XONSHRC_DIR
are no longer updated by xonsh onxonfig
.xontrib-linuxbrew <https://github.com/eugenesvk/xontrib-linuxbrew>
_ with xontrib-homebrew <https://github.com/eugenesvk/xontrib-homebrew>
_, which also supports Homebrew on macOSRemoved:
--config-path
argument, which no longerLOADED_RC_FILES
is no longer set. It contained a list of booleansxonfig
.Fixed:
None
value on XSH.env if $UPDATE_OS_ENVIRON
is set to True
__hash__
method to Env, so that it can be used in lru_cache
without crashing.$XONSH_CAPTURE_ALWAYS
fromdircolors
doesn't crash if output from subprocess call to dircolors
returns${...}.swap()
can be called from multiple threads safetly.Jedi
completer doesn't complete paths with ~
.@(/etc/hos<TAB>)
).