]> git.lizzy.rs Git - micro.git/blobdiff - cmd/micro/bindings.go
Add delete key binding
[micro.git] / cmd / micro / bindings.go
index a065f075067b7b78a0842972d297347fb3efadab..ce335fa4b7ee41962a8e0064beaf9da3929a94fb 100644 (file)
@@ -25,6 +25,7 @@ func InitBindings() {
                "InsertEnter":  InsertEnter,
                "InsertSpace":  InsertSpace,
                "Backspace":    Backspace,
+               "Delete":       Delete,
                "InsertTab":    InsertTab,
                "Save":         Save,
                "Find":         Find,
@@ -231,6 +232,7 @@ func DefaultBindings() map[string]string {
                "CtrlU":      "HalfPageUp",
                "CtrlD":      "HalfPageDown",
                "CtrlR":      "ToggleRuler",
+               "Delete":     "Delete",
        }
 }
 
@@ -333,6 +335,20 @@ func Backspace(v *View) bool {
        return true
 }
 
+// Delete deletes the next character
+func Delete(v *View) bool {
+       if v.cursor.HasSelection() {
+               v.cursor.DeleteSelection()
+               v.cursor.ResetSelection()
+       } else {
+               loc := v.cursor.Loc()
+               if loc < len(v.buf.text) {
+                       v.eh.Remove(loc, loc+1)
+               }
+       }
+       return true
+}
+
 // InsertTab inserts a tab or spaces
 func InsertTab(v *View) bool {
        // Insert a tab