`os.path.expanduser` relies on the value of `$HOME` set in `os.environ`.
This meant that a user who set `$HOME` would then not end up in that
directory with a no-argument call to `cd` unless they had set
`UPDATE_OS_ENVIRON`.
Now the value of `$HOME` is respected regardless of the setting in `UPDATE_OS_ENVIRON`
* Update intro.rst to mention Python 3.6
The homepage mentions 3.6, so I update this section to be in line
* Create upgrade-python-version.rst
Add news item for https://github.com/xonsh/xonsh/pull/5193
* fix: Correctly multi line aliases
Bash aliases can span multi lines for readablity or if they are to long
for one line.
Here we just remove added the backslash before further processing.
* doc: Add news item for fix/parse-multiline-aliases branch
---------
Co-authored-by: Wilfried Pollan <wilfried.pollan@moqodow.com>
* Add `history delete` #4929
* Add news and satisfy linter.
* Added `history delete` for sqlite backend
* Format with black.
* Use REGEXP instead of LIKE for sqlite backend.
* History delete: iterate over entries for sqlite backend.
* Use '='-operator instead of LIKE.
* 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
* unset default multiline prompt pre/pos env vars
Allows xontribs to differentiate between an explicit user setting of an empty prefix vs. an unset value
* doc: add News item
* fix: load autoloading (but not yet autoloaded) xontribs
Xontrib template creates autoloaded xontribs in a `xontrib_X` folder instad of a `xontib/X.py`file, so you can't 'xontrib load X' right after you install them, which breaks pytests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Update and rename README to README.rst
* Create hello_world.py
* Update README.rst
* init
* remove bashisms
* Transfer abbrevs to xontrib-abbrevs
* Transfer free-cwd to xontrib-free-cwd
* news
* black
* Transfer fish-completer to xonsh/xontrib-fish-completer
* Transfer vox to xonsh/xontrib-vox
* Transfer pdb, xog to xonsh/xontrib-debug-tools
* remove hello_world
* fix tests
* black
* fix whitespaces
* fix readme
* Update python_virtual_environments.rst
* Update README.rst
* Update xontribs_transfer.rst
---------
Co-authored-by: a <1@1.1>
* chdir
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: a <1@1.1>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix: match the main return type to avoid a style class concat type error
Error: can only concatenate str (not "_TokenType") to str in prompt_toolkit/formatted_text/base.py, line 94, in <listcomp>
[(style + " " + item_style, *rest) for item_style, *rest in result]
* feat: support semantic prompt sequences for the multiline prompt
* Ignore .python-version
* doc: add News item
* doc: add description for the new multiline prompt env vars
* cmd cache: check possibilities when checking if alias overrides
This fixes an issue on Windows where an alias could not override a
command without specifying the path extension.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* todo:
* refactor: remove usage of singleton in cmd-cache
* refactor: pass aliases/env to commands_cache on creation
reduce the usage of singletons
* fix: setting up mockups for tests
* feat: add $XONSH_CACHE_DIR
* refactor: use cache path to stire cmds-cache
* chore: todo
* feat: efficient cache commands per path and modified time
* refactor: move aliases to commands cache
now XonshSession is not needed to setup cmds-cache
* refactor: update tests
* fix: type annotation
* refactor: init aliases at commands-cache
* test: update failing tests
* fix: handle paths mtime changing
* docs: add news item
* refactor: remove $COMMANDS_CACHE_SIZE_WARNING
* fix: loading on windows fails because of setup sequence
* fix: failing tests
* 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
Pygments does not understand a "background" of `noinherit`, only
`noinherit` -- so if we are setting `noinherit`, even for a background
color, we do not prepend `bg:`