chore: merge from master

lua5.4
TorchedSammy 2022-03-30 20:29:21 -04:00
commit 75b51075b8
Signed by: sammyette
GPG Key ID: 904FC49417B44DCD
2 changed files with 32 additions and 14 deletions

View File

@ -39,18 +39,20 @@ const (
// Escape sequences
var (
seqUp = string([]byte{27, 91, 65})
seqDown = string([]byte{27, 91, 66})
seqForwards = string([]byte{27, 91, 67})
seqBackwards = string([]byte{27, 91, 68})
seqHome = string([]byte{27, 91, 72})
seqHomeSc = string([]byte{27, 91, 49, 126})
seqEnd = string([]byte{27, 91, 70})
seqEndSc = string([]byte{27, 91, 52, 126})
seqDelete = string([]byte{27, 91, 51, 126})
seqShiftTab = string([]byte{27, 91, 90})
seqAltQuote = string([]byte{27, 34}) // Added for showing registers ^["
seqAltR = string([]byte{27, 114}) // Used for alternative history
seqUp = string([]byte{27, 91, 65})
seqDown = string([]byte{27, 91, 66})
seqForwards = string([]byte{27, 91, 67})
seqBackwards = string([]byte{27, 91, 68})
seqHome = string([]byte{27, 91, 72})
seqHomeSc = string([]byte{27, 91, 49, 126})
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
seqAltBackspace = string([]byte{27, 127})
)
const (

View File

@ -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
@ -752,6 +755,19 @@ func (rl *Instance) escapeSeq(r []rune) {
rl.updateTabFind([]rune{})
rl.viUndoSkipAppend = true
case seqAltBackspace:
if rl.modeTabCompletion {
rl.resetVirtualComp(false)
}
// This is only available in Insert mode
if rl.modeViMode != VimInsert {
return
}
rl.saveToRegister(rl.viJumpB(tokeniseLine))
rl.viDeleteByAdjust(rl.viJumpB(tokeniseLine))
rl.updateHelpers()
default:
if rl.modeTabFind {
return