* refactor: project requires 3.9+
changed as per NEP-29
https://numpy.org/neps/nep-0029-deprecation_policy.html
* test: nose type tests are deprecated in pytest now
* fix: deprecation of ast.Str and ast.Bytes and .s attribute access
* fix: deprecation of ast.Num,ast.NameConstant,ast.Ellipsis
* refactor: upgrade code to be py39+ using ruff
the changes are auto-generated
* refactor: remove typing.Annotated compatibility code
* fix: temporarily disable having xonsh syntax inside f-strings
* test: skip failing tests
there is no workaround for this version. It might get solved in the
final release though
* refactor: make XonshSession.completer lazily populated
this speedsup the tests as cmd_cache would not be actively populated
when used in default_completers function
* refactor: make presence of walrus operator default
* Add XONSH_HISTORY_IGNORE_REGEX support
* Add changelog text
* Add cleanup notes for XONSH_HISTORY_IGNORE_REGEX
* Rename should_append to is_ignored
* Change is_ignored to a History method
* Remove unused re imports
* Docstring formatting cleanup, Black compliance
* Move XONSH_HISTORY_IGNORE_REGEX to History class
* Clarify with parenthesis
* Formatting compliance
* Add validate_ignore_regex check
* Remove validation comment
* Remove XONSH_HISTORY_IGNORE_REGEX test comments
* Add __init__ chaining to DummyHistory
* Add broken test for XONSH_IGNORE_REGEX
* Remove extra test variants
* Fix unit test environment variable name
* Add test for bad regex error output
* Remove unneeded __init__ chaining
* Add test_is_ignore
* Add is_regex and associated tests
* Add doc for XONSH_HISTORY_IGNORE_REGEX
* Change validate_ignore_regex to use is_regex
* Compile regex once and use a cached property
* Let cached_property handle saving regex
* todo
* test: remove usage of DummyEnv and setting .env attribute on xession fixture
one step closer to making too much of tweaking to xession during tests
* test: fix tests vox and gitstatus-prompt
* docs: update test-fixture usage
* fix: import flake8 error
* test: remove direct access to XSH in tests
* test: remove usage of XSH in test files
* todo
* test: use tmp-dir to create stubs
* refactor: use fixture factory to mock out XonshSession
* refactor: remove direct access of XSH from functions
* refactor: remove direct access of XSH from functions
* fix: qa checks
* refactor: rename variables to match their values
* test: update failing tests because it had no PATH set previously
* fix: remove builtins usage from pyghooks.py
* style:
* refactor: update tests to use fixtures
* fix: env varialbe is setup per function
some tests accidentally update the env variables and that is leaking
into next tests
* fix: failing vox tests
* test: set commands_cache per test
* test: fix failing tests
* fix: failing tests on linux
ptk-highlight
* fix: failing tests on Windows
cwd-prompt
* test: copy env as to not affect original object
* fix: lazily evaluate cmds-cache in pyghooks
* test: fix failing tests
* fix: qa errors import
* test: set commands-cache per test
while caching path results
* test: speedup test_thread_local_swap
* fix: failing tests on windows
* refactor: Execer doesn't control session
* refactor: XSH.unload will take care of reversing builtins attrs set
* test: use env.update over monkeypatch
* Revert "test: use env.update over monkeypatch"
This reverts commit 010a5022247a098f1741966b8af1bf758663480e.
* Fix: EnvPath.add() not maintain uniqueness with Path objects on replace
* Update tools.py
Removed commented out code left in originally
* Add tests for EnvPath.add() function
* Add test for EnvPath.add() function with pathlib path
* Update tests for EnvPath.add() function to support winblows paths
* Fix xontribs meta page so github links clickable and one minor typo
* Update xonsh/xontribs_meta.py
updated as requested
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
* Add ends_with_colon_token tool
* Add execer test for comment ending with a colon
* Use ends_with_colon_token() to catch non-indented blocks in execer
* Use ends_with_colon_token() for automatic indentation in prompt_toolkit and readline
* Add news
* refactor: remove usage of global variables in abbrevs.py
* chore: add flake8-mutable to prevent mutable defaults
* fix: abbrevs expand test
* refactor: add xonsh session singleton
* refactor: fix circular errors when using xonshSession as singleton
* refactor: remove black magicked builtin attributes
* style: black format tests as well
* refactor: update tests to use xonsh-session singleton
* refactor: update abbrevs to not use builtins
* test: remove DummyCommandsCache and patch orig class
* fix: failing test_command_completers
* test: use monkeypatch to update xession fixture
* fix: failing test_pipelines
* fix: failing test_main
* chore: run test suit as single invocation
* test: fix tests/test_xonsh.xsh
* refactor: remove builtins from docs/conf.py
* fix: mypy error in jobs
* fix: test error from test_main
* test: close xession error in test_command_completers
* chore: use pytest-cov for reporting coverage
this will include subprocess calls, and will increase coverage
* style:
* flake8 fixes -- tests only
* fix ci failure
* integrate fix from is_3551 so tests will pass.
* Update tests/test_builtins.py
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>