Add swap journaling and group undo/redo with extensive tests.
- Introduced SwapManager for sidecar journaling of buffer mutations, with a safe recovery mechanism. - Added group undo/redo functionality, allowing atomic grouping of related edits. - Implemented `SwapRecorder` and integrated it as a callback interface for mutations. - Added unit tests for swap journaling (save/load/replay) and undo grouping. - Refactored undo to support group tracking and ID management. - Updated CMake to include the new tests and swap journaling logic.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Project Guidelines
|
||||
|
||||
kte is Kyle's Text Editor — a simple, fast text editor written in C++17.
|
||||
kte is Kyle's Text Editor — a simple, fast text editor written in C++20.
|
||||
It
|
||||
replaces the earlier C implementation, ke (see the ke manual in
|
||||
`docs/ke.md`). The
|
||||
@@ -43,7 +43,7 @@ The file `docs/ke.md` contains the canonical reference for keybindings.
|
||||
|
||||
## Contributing/Development Notes
|
||||
|
||||
- C++ standard: C++17.
|
||||
- C++ standard: C++20.
|
||||
- Keep dependencies minimal.
|
||||
- Prefer small, focused changes that preserve ke’s UX unless explicitly
|
||||
changing
|
||||
@@ -55,3 +55,4 @@ The file `docs/ke.md` contains the canonical reference for keybindings.
|
||||
for now).
|
||||
- Inspiration: kilo, WordStar/VDE, emacs, `mg(1)`.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user