Merge branch 'master' of https://github.com/to-miz/micro into to-miz-master
This commit is contained in:
commit
cc73efc0bd
1 changed files with 27 additions and 23 deletions
|
@ -342,7 +342,33 @@ func (v *View) HandleEvent(event tcell.Event) {
|
||||||
// Window resized
|
// Window resized
|
||||||
tabs[v.TabNum].Resize()
|
tabs[v.TabNum].Resize()
|
||||||
case *tcell.EventKey:
|
case *tcell.EventKey:
|
||||||
if e.Key() == tcell.KeyRune && (e.Modifiers() == 0 || e.Modifiers() == tcell.ModShift) {
|
// Check first if input is a key binding, if it is we 'eat' the input and don't insert a rune
|
||||||
|
isBinding := false
|
||||||
|
if e.Key() != tcell.KeyRune || e.Modifiers() != 0 {
|
||||||
|
for key, actions := range bindings {
|
||||||
|
if e.Key() == key.keyCode {
|
||||||
|
if e.Key() == tcell.KeyRune {
|
||||||
|
if e.Rune() != key.r {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if e.Modifiers() == key.modifiers {
|
||||||
|
relocate = false
|
||||||
|
isBinding = true
|
||||||
|
for _, action := range actions {
|
||||||
|
relocate = action(v, true) || relocate
|
||||||
|
funcName := FuncName(action)
|
||||||
|
if funcName != "main.(*View).ToggleMacro" && funcName != "main.(*View).PlayMacro" {
|
||||||
|
if recordingMacro {
|
||||||
|
curMacro = append(curMacro, action)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !isBinding && e.Key() == tcell.KeyRune {
|
||||||
// Insert a character
|
// Insert a character
|
||||||
if v.Cursor.HasSelection() {
|
if v.Cursor.HasSelection() {
|
||||||
v.Cursor.DeleteSelection()
|
v.Cursor.DeleteSelection()
|
||||||
|
@ -361,28 +387,6 @@ func (v *View) HandleEvent(event tcell.Event) {
|
||||||
if recordingMacro {
|
if recordingMacro {
|
||||||
curMacro = append(curMacro, e.Rune())
|
curMacro = append(curMacro, e.Rune())
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
for key, actions := range bindings {
|
|
||||||
if e.Key() == key.keyCode {
|
|
||||||
if e.Key() == tcell.KeyRune {
|
|
||||||
if e.Rune() != key.r {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if e.Modifiers() == key.modifiers {
|
|
||||||
relocate = false
|
|
||||||
for _, action := range actions {
|
|
||||||
relocate = action(v, true) || relocate
|
|
||||||
funcName := FuncName(action)
|
|
||||||
if funcName != "main.(*View).ToggleMacro" && funcName != "main.(*View).PlayMacro" {
|
|
||||||
if recordingMacro {
|
|
||||||
curMacro = append(curMacro, action)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case *tcell.EventPaste:
|
case *tcell.EventPaste:
|
||||||
if !PreActionCall("Paste", v) {
|
if !PreActionCall("Paste", v) {
|
||||||
|
|
Loading…
Reference in a new issue