new edit for inserting a line break

Signed-off-by: Florian Thienel <florian@thienel.org>
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/undo/InsertLineBreakEdit.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/undo/InsertLineBreakEdit.java
new file mode 100644
index 0000000..0b19691
--- /dev/null
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/undo/InsertLineBreakEdit.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Florian Thienel and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * 		Florian Thienel - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.vex.core.internal.undo;
+
+import org.eclipse.vex.core.provisional.dom.ContentRange;
+import org.eclipse.vex.core.provisional.dom.DocumentValidationException;
+import org.eclipse.vex.core.provisional.dom.IDocument;
+
+/**
+ * @author Florian Thienel
+ */
+public class InsertLineBreakEdit extends AbstractUndoableEdit {
+
+	private final IDocument document;
+	private final int offset;
+
+	public InsertLineBreakEdit(final IDocument document, final int offset) {
+		this.document = document;
+		this.offset = offset;
+	}
+
+	@Override
+	protected void performRedo() throws CannotApplyException {
+		try {
+			document.insertLineBreak(offset);
+		} catch (final DocumentValidationException e) {
+			throw new CannotApplyException(e);
+		}
+	}
+
+	@Override
+	protected void performUndo() throws CannotUndoException {
+		try {
+			document.delete(new ContentRange(offset, offset));
+		} catch (final DocumentValidationException e) {
+			throw new CannotUndoException(e);
+		}
+	}
+
+	public int getOffsetBefore() {
+		return offset;
+	}
+
+	public int getOffsetAfter() {
+		return offset + 1;
+	}
+}