2017-07-14 01:51:19 +00:00
|
|
|
package prompt
|
|
|
|
|
|
|
|
var InputHandler = defaultHandler
|
|
|
|
|
2017-07-15 11:22:56 +00:00
|
|
|
func defaultHandler(ac *ASCIICode, buffer *Buffer) {
|
2017-07-14 01:51:19 +00:00
|
|
|
switch ac.Key {
|
|
|
|
case Left:
|
2017-07-15 11:22:56 +00:00
|
|
|
buffer.CursorLeft(1)
|
2017-07-14 01:51:19 +00:00
|
|
|
case Right:
|
2017-07-15 11:22:56 +00:00
|
|
|
buffer.CursorRight(1)
|
2017-07-14 01:51:19 +00:00
|
|
|
case Backspace:
|
2017-07-15 11:22:56 +00:00
|
|
|
buffer.DeleteBeforeCursor(1)
|
2017-07-14 01:51:19 +00:00
|
|
|
case ControlI: // this is equivalent with TabKey.
|
|
|
|
fallthrough
|
|
|
|
case Tab:
|
|
|
|
break
|
|
|
|
case ControlT:
|
|
|
|
break
|
|
|
|
return
|
|
|
|
case Up:
|
|
|
|
break
|
|
|
|
case Down:
|
|
|
|
break
|
|
|
|
default:
|
|
|
|
break
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|