Klonk is a general-purpose text editor that implements an unusual variation on the traditional undo-redo algorithm. In most text editors/IDE's/word processors/etc., the user can go back and forth between undos & redos until they make a new change, and then the available redos are destroyed, and information in them is lost. Klonk provides a very typical user interface for undo/redo, but when the user makes a change, the application uses a special algorithm to silently convert the outstanding redos into undos - or, in a sense, "the future becomes the past."
Thus Klonk is able to revert a document to any previous state in an efficient and intuitive manner. One can reverse and replay an entire editing session from end to beginning and back, regardless of how undos and redos have been applied. Undo/redo states are only discarded for a file when the user closes that file or exits the application completely. Memory used by the undo/redo algorithm is fairly negligible.
Klonk also includes typical features like find & replace with full regex support, auto-indention, etc., and a few more unusual bits and pieces, but its primary purpose is to be a testbed for the undo/redo algorithm. It is also intended to be robust enough for everyday use (much of Klonk was written using Klonk) but it has not been tested extensively on all possible platforms.
Klonk requires Java, version 13 or greater.
Current version is 2.6.4.
Download the binary distribution. This includes an executable jar file, an unsigned windows "exe" executable generated with JSmoothGen, and a .bat file as another alternative. Note: Always be careful about downloading executable programs from the internet and use a virus scanner.
Download the complete source code from GitHub.
Licensing Info (it's free software).