diff --git a/readline/codes.go b/readline/codes.go index 680aa79..6ec0a99 100644 --- a/readline/codes.go +++ b/readline/codes.go @@ -48,6 +48,7 @@ var ( seqEnd = string([]byte{27, 91, 70}) seqEndSc = string([]byte{27, 91, 52, 126}) seqDelete = string([]byte{27, 91, 51, 126}) + seqDelete2 = string([]byte{27, 91, 80}) seqShiftTab = string([]byte{27, 91, 90}) seqAltQuote = string([]byte{27, 34}) // Added for showing registers ^[" seqAltR = string([]byte{27, 114}) // Used for alternative history diff --git a/readline/readline.go b/readline/readline.go index aa752b5..651a4ca 100644 --- a/readline/readline.go +++ b/readline/readline.go @@ -712,12 +712,15 @@ func (rl *Instance) escapeSeq(r []rune) { rl.updateHelpers() return - case seqDelete: + case seqDelete,seqDelete2: if rl.modeTabFind { rl.backspaceTabFind() } else { - rl.deleteBackspace(true) + if (rl.pos < len(rl.line)) { + rl.deleteBackspace(true) + } } + case seqHome, seqHomeSc: if rl.modeTabCompletion { return