Added:
- add API docs for ptk_shell.updator module
- add flake8-docstrings to the project. it integrates pydocstyle to flake8.
- Support for ANSI OSC escape sequences in
$PROMPT
, setting$TITLE
for example. (#374, #1403) - Now ptk_shell supports loading its sections in thread, speeding up the prompt. Enable it by setting
$ENABLE_ASYNC_PROMPT=True
. - Added
unset
,export
,set -e
,set -x
,shopt
,complete
to xontrib bashisms. - Use command_cache when finding available commands, to speedup command-not-found suggestions
- Added Visual Studio Code (VSCode) extension and Vim syntax file to the Editors page.
- Added
exit(exit_code)
function by default in not interactive mode. Now importingexit
fromsys
is not needed. - Added Python syntax highlighting of xsh files on Github repo xonsh/xonsh
- history clear, history off and history on actions, for managing whether history in the current session is saved.
- ValueErrors from environ.register now report the name of the bad env var
- Add a new color
DEFAULT
that is used to designate the terminal's default color. - Add a new special color token
RESET
used to reset all attributes. - Add a new xonsh tool 'print_warning' that prints a traceback with a warning message.
- Added
xontrib-onepath <https://github.com/anki-code/xontrib-onepath>
_ to associate files with apps in xonsh shell like in graphical OS. - Added
print_color
andprintx
functions to builtins as reference toxonsh.tools.print_color
. - Added to xontrib whole_word_jumping: Shift+Delete hotkey to delete whole word.
- Added "Advanced String Literals" to the "Tutorial".
xonfig jupyter-kernel
new subcommand to generate xonsh kernel spec for jupyter.
Installing a new xonsh kernel for jupyter automatically removes any other one registered with jupyter,
otherwise the new one might not be used.- Added xontrib
powerline-binding
(https://github.com/dyuri/xontrib-powerline-binding) - usespowerline
to render the prompt.
Changed:
- Improved printing of xonsh
--shell-type
argument in help message. - "Bash to Xonsh Translation Guide" improvements.
- More stable exception handling in the tab completer.
- Changed sections order in docs
- The
path
type in${...}.register
was renamed toenv_path
as it should be and added
newpath
type instead that representpathlib.Path
. Now you can register typed environment
variables that will be converted toPath
. - xonsh/environ.py: new rule: for "registered" environment variables (in
DEFAULT_VARS
or viaenv.register()
),
if default is set toDefaultNotGiven
, then variable has no default and raisesKeyError
if it is not
actually defined in environment. Likewise,"var" in __xonsh__.env
will return False. - Changed defaults for ANSICON, TERM and VIRTUAL_ENV to
DefaultNotGiven
, so code can rationally test whether
the expected external program has defined these variables. No need to do this for variables that xonsh
itself defines. - Moved internal uses of
NO_COLOR
toRESET
. - When retrieving the git status or other fields for building the prompt xonsh will run
the git commands with$GIT_OPTIONAL_LOCKS=0
. For details on what this entails see
the git documentation for
GIT_OPTIONAL_LOCKS <https://git-scm.com/docs/git#Documentation/git.txt-codeGITOPTIONALLOCKScode/>
_. - Minor improvements to the get prompt speed. (Mostly in git.)
- ptk key binding for TAB -- hitting TAB to start completion now automatically selects the first displayed completion (if any).
hitting TAB when in insert mode inserts TAB, as heretofore. This more exactly follows behavior of readlinemenu-complete
.
There is no configuration option for tailoring this behavior. xonfig info
displays whether jupyter detected in environment and
also path of xonsh jupyter kernel spec, if any.- xontrib-argcomplete and xontrib-pipeliner description improvement.
Deprecated:
- Deprecated the
NO_COLOR
color reset token in favor ofRESET
.
Removed:
- Deprecated
--config-path
argument suppressed from help. - setup no longer (tries to) install jupyter kernel automatically,
user must runxonfig jupyter-kernel
manually.
Fixed:
- cygwin needs full path to find exe; disable thread_subprocs as default for cygwin
- Fixed logic in git dirty working directory
- Fixed type registration for
*DIRS
environment variables. - Fixed getting typed registered environment variable when it was initialized before registration.
- Fixed #3703 and #3739, recent code change made it impossible to tell whether a (registered) environment variable
was missing from environment or present and set to its registered default value. The test for ANSICON was
failing due to this. - Fixed environment variables substitution: unknown variables stay unreplaced now (#3818).
- Fixed xpg xontrib link
- Fix crash when xonsh tries to run windows app execution aliases.
- Setup wasn't consistently detecting jupyter in environment;
python setup.py install
worked, but
pip install .
wouldn't (because pip mucks withsys.path
),
nor would install from wheel (because it doesn't runsetup.py
). xonfig info
now displays actual value of ON_MSYS and ON_CYGWIN instead of lazy bool type.
(maybe was happening only on Windows?)
Authors:
- Anthony Scopatz
- Gil Forsyth
- Morten Enemark Lund
- Bob Hyman
- a
- anki-code
- christopher
- Eadaen1
- Danny Sepler
- Gyuri Horak
- cafehaine
- Wendell Turner
- Noortheen Raja
- Marius van Niekerk
- Wendell CTR Turner