* feat: better stacktraces
* reraise SystemExit to enable proper exit codes and maintain old
behaviour in repl
* dont ignore exceptions when loading rc-files
* update tests with new SyntaxError formatting, new behavior that main
does not throw user exceptions
* pull return out of finally (flake8, B012)
* hide XonshError traces, fix mypy error, enable circumvention of trace suppression
with XONSH_DEBUG in non-interactive use
* fix mypy error
Co-authored-by: Alexander Firbas <alexander.firbas@gmail.com>
* Add xontrib-gruvbox to xontribs_meta.py
* Add news item for xontrib-gruvbox
Co-authored-by: Ryan Delaney <ryan.patrick.delaney+github@protonmail.com>
* fix: pip -r appends spaces at the end
modularize completing output from subproc-out
* docs:
* fix: flake8
* fix: failing pip comp tests
* refactor: naming xonsh conflicts with actual package
the IDE completions don't work.
we add this naming convention instead.
* feat: option to filter after completion returned
this will help reduce some boilerplate, and we can enrich the filtering
behaviour
* feat: add gh completions
* fix: filtering out completions
* refactor: simplify invoking completer interface
* test: add fixture for xsh with os-env
* test: add tests for gh-completions
* fix: flake error
* fix: mypy errors and update gh completer tests
* fix: handle cross-platform line endings
* feat: include man,bash completer only if available
* todo: improve man page completions
* fix: failing man page tests
* fix: py 3.7 compatibility
* fix: qa error
* fix: stop dir completions
* feat: improve man page completions
now shows descriptions, recognizes more number of options correctly
* fix: update man page completions
* feat: support filtering based on display as well
* Update xonsh/completer.py
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
* style:
* test: xfail ptk-shell tests on windows
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
* Refactor: code can *only* be None in else case.
* Refactor: make xonsh_code private as `_source`
* Refactor: make "token_stream" private
* Refactor: make "tolerant" private
* Refactor: add default for _token_stream
* Feat: implement Lexer.reset
* Refactor: cleanup local names in Lexer
* Refactor: make `source_slice` private.
Again, this is just a helper function so for now make it private.
* Refactor: use chained comparison
* Docs: add news
* Update refactor-lexer-parser.rst
Co-authored-by: Noorhteen Raja NJ <jnoortheen@gmail.com>
* Add uname support
* Changelog addition
* Migration to platform module
* Update uptime.py for the last version
Merge the original uptime module to a single file
Change the bootime() return be stay compatible with xonsh
Add support for Haiku , suppose to close#3882
Add dependency from uptime to support to MacOS 10.10 by add _posix.c file.
* Update uptime.py for the last version
Merge the original uptime module to a single file
Change the bootime() return be stay compatible with xonsh
Add support for Haiku , suppose to close#3882
Add dependency from uptime to support to MacOS 10.10 by add _posix.c file.
* typo fix
* black reformat
* remove usage of print
* black is black
* add original test for uptime
convert original test via 2to3
black reformat tests
* strange syntaxe fixe for flaske8
* black the incredible tool it stop a bug fixe just because it THE tool it want a return for make less readable code
* flake8 the famous tool it permit to stop a big fixe without any information's about the trouble
* workaround about xonsh CI don't respect docstring specs
* RISC OS only comment thing
* black is a good jock in a CI
* black is a good jock in a CI
* roll back uptime.py
* look if we can make it work
* fixe all i understand
* add command in corutils alias
* reformat uptime.py with black
* fixe version
* try with xonsh xp.LIBC lib
* black in a CI is a stupid thing
* stupid Windows and it \r
* use os.linestep
* use newline simple wrapper
* use newline simple wrapper
* use newline simple wrapper
* use newline simple wrapper
* try osx rollback method
* fixe
* fixe
* a test on window via the CI because i haven't the OS
* a test on window via the CI because i haven't the OS
* a test on window via the CI because i haven't the OS
* fix: black: format
* refactor: update uname command
now has auto-completions
* docs: update news item and fix qa error
* refactor: remove unused file
* fix: qa imports
* refactor: update getting boottime
fallback to monotonic time on unix
* fix: update haiku compatibility in uptime
* refactor: add uptime to aliases
* refactor: move xoreutils tests
* fix: call aliases using xonsh
Co-authored-by: Tuux <tuxa@rtnp.org>
Co-authored-by: Noortheen Raja <jnoortheen@gmail.com>
* Refactor: Don't modify XSH in Execer
This is not an invariant change - the __del__ method of the execer now does not unload the session. This is probably what we want - the session should be the final arbiter of when it goes out of scope, and we might need an explicit mechanism to handle this.
* Refactor: make import hook Execer explicit
This is ugly for now, but helps raise the global state modifications to the surface
* Style: run black
* Refactor: add `update_cache` to `CommandsCache`
Previously a lot of internal usage of `all_commands` was for the updating side-effect. Now we make that a separate routine.
* Refactor: remove args from XonshSession constructor
* Refactor: move non stateful XonshSession methods to __init__
* Refactor: don't create custom class for namespace
* Refactor: auto-generate set of default builtins
* Refactor: set session attributes to None in constructor
* Refactor: don't test hasattr for known attribute
* Refactor: add methods to restore and disable Python exit
* Refactor: add initial value for XSH.aliases
* Refactor: don't default getattr for known attribute
* Refactor: make _lastflush a closer and move to `load()`
* Fix: catch $path even if empty.
This shouldn't ever actually manifest itself, but whilst we're here!
* Refactor: support existing usage of install_import_hooks
* Style: run black
* Refactor: remove unneeded import
* Docs: add news item
* Fix: news item
* Refactor: remove unused arg
* docs: fix news item
* fix: no duplicate calls
add helpers properties to completion-context
* refactor: importing a module should not affect the session
the user has to have XSH loaded before
* fix: todo item for testing imphooks
Co-authored-by: Noortheen Raja <jnoortheen@gmail.com>
* feat: update command completions to show description as well
closes#3823
* test: fix failing tests on windows
* fix: failing tests on windows machine
* chore: adopt NEP-0029 for py version deprecation policy
fixes#4560
* chore: drop py3.6 from CI
* docs: add news item
* fix: failing qa because latest version to flake8-bugbear
see https://github.com/PyCQA/flake8-bugbear/issues/208
* chore: require >=py3.7
* feat: auto-completion support for source-foreign
* feat: add completions for source-bash/zsh/cmd
* refactor: change the boolean flags names that defaults to True
* feat: create field to define alias-completer
this will resolve checking parser or alias. Now the alias can define how
it completes.
will solve
https://github.com/xonsh/xonsh/pull/4267#discussion_r676066853
* docs:
* fix: mypy error
* fix: rst qa
* style:
* Fix: don't display welcome if $XONSHRC_DIR member is found
* Docs: add news item
* Update news/fix-xonshrc-dir-welcome.rst
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
* Lint: black
* Update news/fix-xonshrc-dir-welcome.rst
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
If a directory was named for example '{RED}', that would get
interpreted as a color string and the prompt would not show the
direcotry name and would color it instead. Using dir names like
'{{foo}}' or simply '{' would break the prompt outright.
There was not much documentation on the prompt formating, but it seems
that escaping a curly by doubling it makes the prompt display all
curlies correctly.
fixes#4381
Calls to `suggest_commands` would result in repeated calls to
the Levenshtein distance routine, which whilst optimally
implemented is still expensive. The change proposes to cache the
result instead.
* Fix#4467
Fix for Crash with FileNotFoundError when current working directory is deleted
* Fix#4467
Fix for Crash with FileNotFoundError when current working directory is deleted
* Fix#4467FIx#4467
* Fix#4467
* Fix#4467
* Fix#4467