1. A computer-implemented method comprising: receiving, at a computer system, first information that describes first input provided to a user interface of an application displaying a word processing document; accessing, by the computer system, a document buffer and an edit table that are associated with the word processing document, wherein the document buffer comprises text of the word processing document in a chronological order and the edit table comprises entries that correlate portions of text from the document buffer to locations in the word processing document; identifying, by the computer system, a first type of command that is associated with the first input; in response to identifying the first type of command as a command to add textual content to a first location in the word processing document, appending the textual content to an end of the document buffer; adding, to the edit table, a first entry that correlates the textual content in the document buffer to the first location in the word processing document; and providing, by the computer system, an indication that the document buffer and the edit table have been updated to include the textual content.