code: def insert_after(self, text):
          
          return Document(
                  text=self.text + text,
                  cursor_position=self.cursor_position,
                  selection=self.selection)
docs: Create a new document, with this text inserted after the buffer.
          It keeps selection ranges and cursor position in sync.