University project that involved the development of a software similar to Ed (text editor for Unix operating system) but with multiple Undo in C language.
"ed" is a very simple command-line text editor used in Unix environments. Its name stands for "standard text editor" and it was one of the first text editors available on Unix. "ed" is still used today as an automation script editor, but it has largely been replaced by more advanced text editors like "vi" and "emacs". It is characterized by its minimal user interface and its command-line nature, which means it does not have a graphical user interface and requires the use of specific commands to perform text editing operations.
In the specific case of this project, the input is considered as a document consisting of a sequence of numbered lines starting from one, and an integer index representing the current line number. The editor's interface consists of textual commands preceded by one or two integer numbers, where the integers represent address specifiers and indicate the address of the nth line. The supported commands include changing the text present between two address specifiers, deleting the lines between two address specifiers, printing the lines between two address specifiers, and undoing a specified number of commands. Additionally, there is a redo function to undo the effect of undo. The editor quits if the "q" command is entered.