| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package input
- import (
- "fmt"
- "strings"
- )
- // Event represents a terminal event.
- type Event any
- // UnknownEvent represents an unknown event.
- type UnknownEvent string
- // String returns a string representation of the unknown event.
- func (e UnknownEvent) String() string {
- return fmt.Sprintf("%q", string(e))
- }
- // MultiEvent represents multiple messages event.
- type MultiEvent []Event
- // String returns a string representation of the multiple messages event.
- func (e MultiEvent) String() string {
- var sb strings.Builder
- for _, ev := range e {
- sb.WriteString(fmt.Sprintf("%v\n", ev))
- }
- return sb.String()
- }
- // WindowSizeEvent is used to report the terminal size. Note that Windows does
- // not have support for reporting resizes via SIGWINCH signals and relies on
- // the Windows Console API to report window size changes.
- type WindowSizeEvent struct {
- Width int
- Height int
- }
- // WindowOpEvent is a window operation (XTWINOPS) report event. This is used to
- // report various window operations such as reporting the window size or cell
- // size.
- type WindowOpEvent struct {
- Op int
- Args []int
- }
|