* First attempt at register/deregister machinery for envvars
* Added detailed docstring, simplified ensurers
Also added some type checking that became clear from docstring writing.
* Changes in response to @scopatz review
Simplified kwarg names.
* defaultval -> default
* Created new Var namedtuple, as well as DEFAULT_VARS
We should now delete DEFAULT_ENSURERS, DEFAULT_VALUES, DEFAULT_DOCS, and
refactor Env to use the new single namedtuple and the DEFAULT_VARS dict
* Removed DEFAULT_ENSURERS, DEFAULT_VALUES, DEFAULT_DOCS
Now need to edit Env to use new DEFAULT_VARS, Var namedtuple
* Finished updating Env object to use new combined Var
Also made corresponding changes elsewhere ensurer was used
* Working on test failures
* More fixes in light of test failures
* Set default values for Var in register.
There's a bit of duplication here, but makes for a cleaner function.
* Black reformatting on environ.py
* Removed history replay
* Added register tests
* Added addtional deregistration test
* Removed all replay references, in docs too
* Added news item for env-reg-dereg
* trigger rebuild
* doc fix
* more doc fixes
* again
* attr names
* reorder imports
* fix flake error
Co-authored-by: Anthony Scopatz <scopatz@gmail.com>
* delete package ptk; rename ptk2 to ptk_shell.; leave ptk2 as alias for ptk_shell.
* SHELL_TYPE "prompt_toolkit" only; remove ptk1 specific behavior.
* Doc updates: eliminate reference to prompt-toolkit < 2.0
* update requirements files ptk>=2; test shell_style="none"
* fix ptk2 stub per code review
* Add ptk2 to list of packages to install.
we'll make sure it's available on CI when the docs are generated for the
website, but it shouldn't fail to build in userspace just because of the
ptk events hack thing
sphinx will implicitly import main, but not before we call
`make_events()`, so only `on_chdir` shows up on the events listing.
explicitly importing `xonsh.main` fixes this up so all of the available
events are documented properly.
We do not want non-canonical versions of xonsh docs to be indexed. OR at
least they should point to the canonical version.
Technically we should even try to have the stable version under a
/stable/ url (to leave us with some freedom of changing things) So that
later we can replace stable with X.y and have a version switcher.