* Initial undo related machinery added to TextArea
* Initial undo implementation
* Basic undo and redo
* Some more fleshing out of undo and redo
* Skeleton code for managing TextArea history
* Initial implementation of undo & redo checkpointing in TextArea
* Increase checkpoint characters
* Restoring the selection in the TextArea and then restoring it on undo
* Adding docstrings to undo_batch and redo_batch in the TextArea
* Batching edits of the same type
* Batching edits of the same type
* Keeping edits containing newlines in their own batch
* Checking for newline characters in insertion or replacement during undo checkpoint creation. Updating docstrings in history.py
* Fix mypy warning
* Performance improvement
* Add history checkpoint on cursor movement
* Fixing merge conflict in Edit class
* Fixing error in merge conflict resolution
* Remove unused test file
* Remove unused test file
* Initial testing of undo and redo
* Testing for undo redo
* Updating lockfile
* Add an extra test
* Fix: setting the `text` property programmatically should invalidate the edit history
* Improving docstrings
* Rename EditHistory.reset() to EditHistory.clear()
* Add docstring to an exception
* Add a pause after focus/blur in a test
* Forcing CI colour
* Update focus checkpoint test
* Try to force color in pytest by setting --color=yes in PYTEST_ADDOPTS in env var on Github Actions
* Add extra assertion in a test
* Toggle text_area has focus to trigger checkpoint in history
* Apply grammar/wording suggestions from code review
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
* Making max checkpoints configurable in TextArea history
* Improve a docstring
* Update changelog
* Spelling fixes
* More spelling fixes
* Americanize spelling of tab_behaviour (->tab_behavior)
* Update CHANGELOG regarding `tab_behaviour`->`tab_behavior`
---------
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>