142 lines
1.7 KiB
Go
142 lines
1.7 KiB
Go
|
package event
|
||
|
|
||
|
import (
|
||
|
"b612.me/apps/b612/bed/buffer"
|
||
|
"b612.me/apps/b612/bed/mode"
|
||
|
)
|
||
|
|
||
|
// Event represents the event emitted by UI.
|
||
|
type Event struct {
|
||
|
Type Type
|
||
|
Range *Range
|
||
|
Count int64
|
||
|
Rune rune
|
||
|
CmdName string
|
||
|
Bang bool
|
||
|
Arg string
|
||
|
Error error
|
||
|
Mode mode.Mode
|
||
|
Buffer *buffer.Buffer
|
||
|
}
|
||
|
|
||
|
// Type ...
|
||
|
type Type int
|
||
|
|
||
|
// Event types
|
||
|
const (
|
||
|
Nop Type = iota
|
||
|
Redraw
|
||
|
|
||
|
CursorUp
|
||
|
CursorDown
|
||
|
CursorLeft
|
||
|
CursorRight
|
||
|
CursorPrev
|
||
|
CursorNext
|
||
|
CursorHead
|
||
|
CursorEnd
|
||
|
CursorGoto
|
||
|
ScrollUp
|
||
|
ScrollDown
|
||
|
ScrollTop
|
||
|
ScrollTopHead
|
||
|
ScrollMiddle
|
||
|
ScrollMiddleHead
|
||
|
ScrollBottom
|
||
|
ScrollBottomHead
|
||
|
PageUp
|
||
|
PageDown
|
||
|
PageUpHalf
|
||
|
PageDownHalf
|
||
|
PageTop
|
||
|
PageEnd
|
||
|
WindowTop
|
||
|
WindowMiddle
|
||
|
WindowBottom
|
||
|
JumpTo
|
||
|
JumpBack
|
||
|
|
||
|
DeleteByte
|
||
|
DeletePrevByte
|
||
|
Increment
|
||
|
Decrement
|
||
|
ShiftLeft
|
||
|
ShiftRight
|
||
|
SwitchFocus
|
||
|
ShowBinary
|
||
|
ShowDecimal
|
||
|
|
||
|
StartInsert
|
||
|
StartInsertHead
|
||
|
StartAppend
|
||
|
StartAppendEnd
|
||
|
StartReplaceByte
|
||
|
StartReplace
|
||
|
|
||
|
ExitInsert
|
||
|
Backspace
|
||
|
Delete
|
||
|
Rune
|
||
|
|
||
|
Undo
|
||
|
Redo
|
||
|
|
||
|
StartVisual
|
||
|
SwitchVisualEnd
|
||
|
ExitVisual
|
||
|
|
||
|
Copy
|
||
|
Cut
|
||
|
Copied
|
||
|
Paste
|
||
|
PastePrev
|
||
|
Pasted
|
||
|
|
||
|
StartCmdlineCommand
|
||
|
StartCmdlineSearchForward
|
||
|
StartCmdlineSearchBackward
|
||
|
BackspaceCmdline
|
||
|
DeleteCmdline
|
||
|
DeleteWordCmdline
|
||
|
ClearToHeadCmdline
|
||
|
ClearCmdline
|
||
|
ExitCmdline
|
||
|
CompleteForwardCmdline
|
||
|
CompleteBackCmdline
|
||
|
ExecuteCmdline
|
||
|
ExecuteSearch
|
||
|
NextSearch
|
||
|
PreviousSearch
|
||
|
AbortSearch
|
||
|
|
||
|
Edit
|
||
|
Enew
|
||
|
New
|
||
|
Vnew
|
||
|
Only
|
||
|
Alternative
|
||
|
Wincmd
|
||
|
FocusWindowUp
|
||
|
FocusWindowDown
|
||
|
FocusWindowLeft
|
||
|
FocusWindowRight
|
||
|
FocusWindowTopLeft
|
||
|
FocusWindowBottomRight
|
||
|
FocusWindowPrevious
|
||
|
MoveWindowTop
|
||
|
MoveWindowBottom
|
||
|
MoveWindowLeft
|
||
|
MoveWindowRight
|
||
|
|
||
|
Pwd
|
||
|
Chdir
|
||
|
Suspend
|
||
|
Quit
|
||
|
QuitAll
|
||
|
QuitErr
|
||
|
Write
|
||
|
WriteQuit
|
||
|
Info
|
||
|
Error
|
||
|
)
|