* 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
* feat: add support for f-glob strings
Move xonsh_pathsearch() into the BaseParser class because it needs to use self._set_error()
Parametrize 6 backtick tests in test_parser.py into test_backtick() (and add cases for f-glob strings)
* add news
* docs: update tutorial
* fix news file
* feat: initial match statement support
* refactor assignment exprs for <3.8 compatibility; sort imports
* remove match extensions
* bump qa-workflow python version, minor alterations for qa-pipeline
* add mypy exception
* update mypy version
* Bump workflow main python version to 3.10
* remove outdated note
Co-authored-by: Alexander Firbas <alexander.firbas@gmail.com>
* 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.
* 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:
* ast: Fix annotated assignment
* ast: Support annotated variable without a value
* tests: Test annotated assign statements
* news: Add annotated-assignment
* fix: handle ast.Index and ast.ExtSlice change while Parsing
related to #4100, #4099, #4068, #4038, #4028, #4005,
* fix: py39 raises when lineno & col not given
TypeError: required field "col_offset" missing from keyword
* fix: tuple inside scbscriptor support for py39
* chore: enable py39 ci checks
they were silently failing before
* test: a backlog test for attributes inside subscriptors
this would require debugging deep into the ply parser methods.
* docs: add news item
* test: skip test_rc_with_modified_path on windows
* Update tests/test_parser.py
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
* test: mark failing tests for py39 parser
Co-authored-by: Gil Forsyth <gforsyth@users.noreply.github.com>
- Moves the f-string handler into a separate FStringAdaptor class.
- Removes helper dictionary mapping int ID to f-string field.
The f-string fields are now rather patched early directly into the
AST as an argument to eval_fstring_field. This solves the problems
with f-string fields lifespan management.
There now should not be any remaining 3,5 conditinal code.
We now directly use inspect's getouterframes, so remove it from
inspector
The 3.5 parser get merged into 3.6 and a number of global vaiable
referring to 3.5/3.6 are now gone.
The only remaining mention is appveyor test, which are anyway failing
but not being seen as so by GitHub, so I'll leave them alone.
* 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>