- bindings = make(map[Key]func(*View) bool)
-
- actions := map[string]func(*View) bool{
- "CursorUp": (*View).CursorUp,
- "CursorDown": (*View).CursorDown,
- "CursorLeft": (*View).CursorLeft,
- "CursorRight": (*View).CursorRight,
- "CursorStart": (*View).CursorStart,
- "CursorEnd": (*View).CursorEnd,
- "SelectToStart": (*View).SelectToStart,
- "SelectToEnd": (*View).SelectToEnd,
- "SelectUp": (*View).SelectUp,
- "SelectDown": (*View).SelectDown,
- "SelectLeft": (*View).SelectLeft,
- "SelectRight": (*View).SelectRight,
- "WordRight": (*View).WordRight,
- "WordLeft": (*View).WordLeft,
- "SelectWordRight": (*View).SelectWordRight,
- "SelectWordLeft": (*View).SelectWordLeft,
- "SelectToStartOfLine": (*View).SelectToStartOfLine,
- "SelectToEndOfLine": (*View).SelectToEndOfLine,
- "InsertEnter": (*View).InsertEnter,
- "InsertSpace": (*View).InsertSpace,
- "Backspace": (*View).Backspace,
- "Delete": (*View).Delete,
- "InsertTab": (*View).InsertTab,
- "Save": (*View).Save,
- "Find": (*View).Find,
- "FindNext": (*View).FindNext,
- "FindPrevious": (*View).FindPrevious,
- "Undo": (*View).Undo,
- "Redo": (*View).Redo,
- "Copy": (*View).Copy,
- "Cut": (*View).Cut,
- "CutLine": (*View).CutLine,
- "DuplicateLine": (*View).DuplicateLine,
- "Paste": (*View).Paste,
- "SelectAll": (*View).SelectAll,
- "OpenFile": (*View).OpenFile,
- "Start": (*View).Start,
- "End": (*View).End,
- "PageUp": (*View).PageUp,
- "PageDown": (*View).PageDown,
- "HalfPageUp": (*View).HalfPageUp,
- "HalfPageDown": (*View).HalfPageDown,
- "StartOfLine": (*View).StartOfLine,
- "EndOfLine": (*View).EndOfLine,
- "ToggleHelp": (*View).ToggleHelp,
- "ToggleRuler": (*View).ToggleRuler,
- "JumpLine": (*View).JumpLine,
- "ClearStatus": (*View).ClearStatus,
- "ShellMode": (*View).ShellMode,
- "CommandMode": (*View).CommandMode,
- "Quit": (*View).Quit,
- }
-
- keys := map[string]Key{
- "Up": Key{tcell.KeyUp, tcell.ModNone, 0},
- "Down": Key{tcell.KeyDown, tcell.ModNone, 0},
- "Right": Key{tcell.KeyRight, tcell.ModNone, 0},
- "Left": Key{tcell.KeyLeft, tcell.ModNone, 0},
- "AltUp": Key{tcell.KeyUp, tcell.ModAlt, 0},
- "AltDown": Key{tcell.KeyDown, tcell.ModAlt, 0},
- "AltLeft": Key{tcell.KeyLeft, tcell.ModAlt, 0},
- "AltRight": Key{tcell.KeyRight, tcell.ModAlt, 0},
- "CtrlUp": Key{tcell.KeyUp, tcell.ModCtrl, 0},
- "CtrlDown": Key{tcell.KeyDown, tcell.ModCtrl, 0},
- "CtrlLeft": Key{tcell.KeyLeft, tcell.ModCtrl, 0},
- "CtrlRight": Key{tcell.KeyRight, tcell.ModCtrl, 0},
- "ShiftUp": Key{tcell.KeyUp, tcell.ModShift, 0},
- "ShiftDown": Key{tcell.KeyDown, tcell.ModShift, 0},
- "ShiftLeft": Key{tcell.KeyLeft, tcell.ModShift, 0},
- "ShiftRight": Key{tcell.KeyRight, tcell.ModShift, 0},
- "AltShiftUp": Key{tcell.KeyUp, tcell.ModShift | tcell.ModAlt, 0},
- "AltShiftDown": Key{tcell.KeyDown, tcell.ModShift | tcell.ModAlt, 0},
- "AltShiftLeft": Key{tcell.KeyLeft, tcell.ModShift | tcell.ModAlt, 0},
- "AltShiftRight": Key{tcell.KeyRight, tcell.ModShift | tcell.ModAlt, 0},
- "CtrlShiftUp": Key{tcell.KeyUp, tcell.ModShift | tcell.ModCtrl, 0},
- "CtrlShiftDown": Key{tcell.KeyDown, tcell.ModShift | tcell.ModCtrl, 0},
- "CtrlShiftLeft": Key{tcell.KeyLeft, tcell.ModShift | tcell.ModCtrl, 0},
- "CtrlShiftRight": Key{tcell.KeyRight, tcell.ModShift | tcell.ModCtrl, 0},
- "UpLeft": Key{tcell.KeyUpLeft, tcell.ModNone, 0},
- "UpRight": Key{tcell.KeyUpRight, tcell.ModNone, 0},
- "DownLeft": Key{tcell.KeyDownLeft, tcell.ModNone, 0},
- "DownRight": Key{tcell.KeyDownRight, tcell.ModNone, 0},
- "Center": Key{tcell.KeyCenter, tcell.ModNone, 0},
- "PgUp": Key{tcell.KeyPgUp, tcell.ModNone, 0},
- "PgDn": Key{tcell.KeyPgDn, tcell.ModNone, 0},
- "Home": Key{tcell.KeyHome, tcell.ModNone, 0},
- "End": Key{tcell.KeyEnd, tcell.ModNone, 0},
- "Insert": Key{tcell.KeyInsert, tcell.ModNone, 0},
- "Delete": Key{tcell.KeyDelete, tcell.ModNone, 0},
- "Help": Key{tcell.KeyHelp, tcell.ModNone, 0},
- "Exit": Key{tcell.KeyExit, tcell.ModNone, 0},
- "Clear": Key{tcell.KeyClear, tcell.ModNone, 0},
- "Cancel": Key{tcell.KeyCancel, tcell.ModNone, 0},
- "Print": Key{tcell.KeyPrint, tcell.ModNone, 0},
- "Pause": Key{tcell.KeyPause, tcell.ModNone, 0},
- "Backtab": Key{tcell.KeyBacktab, tcell.ModNone, 0},
- "F1": Key{tcell.KeyF1, tcell.ModNone, 0},
- "F2": Key{tcell.KeyF2, tcell.ModNone, 0},
- "F3": Key{tcell.KeyF3, tcell.ModNone, 0},
- "F4": Key{tcell.KeyF4, tcell.ModNone, 0},
- "F5": Key{tcell.KeyF5, tcell.ModNone, 0},
- "F6": Key{tcell.KeyF6, tcell.ModNone, 0},
- "F7": Key{tcell.KeyF7, tcell.ModNone, 0},
- "F8": Key{tcell.KeyF8, tcell.ModNone, 0},
- "F9": Key{tcell.KeyF9, tcell.ModNone, 0},
- "F10": Key{tcell.KeyF10, tcell.ModNone, 0},
- "F11": Key{tcell.KeyF11, tcell.ModNone, 0},
- "F12": Key{tcell.KeyF12, tcell.ModNone, 0},
- "F13": Key{tcell.KeyF13, tcell.ModNone, 0},
- "F14": Key{tcell.KeyF14, tcell.ModNone, 0},
- "F15": Key{tcell.KeyF15, tcell.ModNone, 0},
- "F16": Key{tcell.KeyF16, tcell.ModNone, 0},
- "F17": Key{tcell.KeyF17, tcell.ModNone, 0},
- "F18": Key{tcell.KeyF18, tcell.ModNone, 0},
- "F19": Key{tcell.KeyF19, tcell.ModNone, 0},
- "F20": Key{tcell.KeyF20, tcell.ModNone, 0},
- "F21": Key{tcell.KeyF21, tcell.ModNone, 0},
- "F22": Key{tcell.KeyF22, tcell.ModNone, 0},
- "F23": Key{tcell.KeyF23, tcell.ModNone, 0},
- "F24": Key{tcell.KeyF24, tcell.ModNone, 0},
- "F25": Key{tcell.KeyF25, tcell.ModNone, 0},
- "F26": Key{tcell.KeyF26, tcell.ModNone, 0},
- "F27": Key{tcell.KeyF27, tcell.ModNone, 0},
- "F28": Key{tcell.KeyF28, tcell.ModNone, 0},
- "F29": Key{tcell.KeyF29, tcell.ModNone, 0},
- "F30": Key{tcell.KeyF30, tcell.ModNone, 0},
- "F31": Key{tcell.KeyF31, tcell.ModNone, 0},
- "F32": Key{tcell.KeyF32, tcell.ModNone, 0},
- "F33": Key{tcell.KeyF33, tcell.ModNone, 0},
- "F34": Key{tcell.KeyF34, tcell.ModNone, 0},
- "F35": Key{tcell.KeyF35, tcell.ModNone, 0},
- "F36": Key{tcell.KeyF36, tcell.ModNone, 0},
- "F37": Key{tcell.KeyF37, tcell.ModNone, 0},
- "F38": Key{tcell.KeyF38, tcell.ModNone, 0},
- "F39": Key{tcell.KeyF39, tcell.ModNone, 0},
- "F40": Key{tcell.KeyF40, tcell.ModNone, 0},
- "F41": Key{tcell.KeyF41, tcell.ModNone, 0},
- "F42": Key{tcell.KeyF42, tcell.ModNone, 0},
- "F43": Key{tcell.KeyF43, tcell.ModNone, 0},
- "F44": Key{tcell.KeyF44, tcell.ModNone, 0},
- "F45": Key{tcell.KeyF45, tcell.ModNone, 0},
- "F46": Key{tcell.KeyF46, tcell.ModNone, 0},
- "F47": Key{tcell.KeyF47, tcell.ModNone, 0},
- "F48": Key{tcell.KeyF48, tcell.ModNone, 0},
- "F49": Key{tcell.KeyF49, tcell.ModNone, 0},
- "F50": Key{tcell.KeyF50, tcell.ModNone, 0},
- "F51": Key{tcell.KeyF51, tcell.ModNone, 0},
- "F52": Key{tcell.KeyF52, tcell.ModNone, 0},
- "F53": Key{tcell.KeyF53, tcell.ModNone, 0},
- "F54": Key{tcell.KeyF54, tcell.ModNone, 0},
- "F55": Key{tcell.KeyF55, tcell.ModNone, 0},
- "F56": Key{tcell.KeyF56, tcell.ModNone, 0},
- "F57": Key{tcell.KeyF57, tcell.ModNone, 0},
- "F58": Key{tcell.KeyF58, tcell.ModNone, 0},
- "F59": Key{tcell.KeyF59, tcell.ModNone, 0},
- "F60": Key{tcell.KeyF60, tcell.ModNone, 0},
- "F61": Key{tcell.KeyF61, tcell.ModNone, 0},
- "F62": Key{tcell.KeyF62, tcell.ModNone, 0},
- "F63": Key{tcell.KeyF63, tcell.ModNone, 0},
- "F64": Key{tcell.KeyF64, tcell.ModNone, 0},
- "CtrlSpace": Key{tcell.KeyCtrlSpace, tcell.ModCtrl, 0},
- "CtrlA": Key{tcell.KeyCtrlA, tcell.ModCtrl, 0},
- "CtrlB": Key{tcell.KeyCtrlB, tcell.ModCtrl, 0},
- "CtrlC": Key{tcell.KeyCtrlC, tcell.ModCtrl, 0},
- "CtrlD": Key{tcell.KeyCtrlD, tcell.ModCtrl, 0},
- "CtrlE": Key{tcell.KeyCtrlE, tcell.ModCtrl, 0},
- "CtrlF": Key{tcell.KeyCtrlF, tcell.ModCtrl, 0},
- "CtrlG": Key{tcell.KeyCtrlG, tcell.ModCtrl, 0},
- "CtrlH": Key{tcell.KeyCtrlH, tcell.ModCtrl, 0},
- "CtrlI": Key{tcell.KeyCtrlI, tcell.ModCtrl, 0},
- "CtrlJ": Key{tcell.KeyCtrlJ, tcell.ModCtrl, 0},
- "CtrlK": Key{tcell.KeyCtrlK, tcell.ModCtrl, 0},
- "CtrlL": Key{tcell.KeyCtrlL, tcell.ModCtrl, 0},
- "CtrlM": Key{tcell.KeyCtrlM, tcell.ModCtrl, 0},
- "CtrlN": Key{tcell.KeyCtrlN, tcell.ModCtrl, 0},
- "CtrlO": Key{tcell.KeyCtrlO, tcell.ModCtrl, 0},
- "CtrlP": Key{tcell.KeyCtrlP, tcell.ModCtrl, 0},
- "CtrlQ": Key{tcell.KeyCtrlQ, tcell.ModCtrl, 0},
- "CtrlR": Key{tcell.KeyCtrlR, tcell.ModCtrl, 0},
- "CtrlS": Key{tcell.KeyCtrlS, tcell.ModCtrl, 0},
- "CtrlT": Key{tcell.KeyCtrlT, tcell.ModCtrl, 0},
- "CtrlU": Key{tcell.KeyCtrlU, tcell.ModCtrl, 0},
- "CtrlV": Key{tcell.KeyCtrlV, tcell.ModCtrl, 0},
- "CtrlW": Key{tcell.KeyCtrlW, tcell.ModCtrl, 0},
- "CtrlX": Key{tcell.KeyCtrlX, tcell.ModCtrl, 0},
- "CtrlY": Key{tcell.KeyCtrlY, tcell.ModCtrl, 0},
- "CtrlZ": Key{tcell.KeyCtrlZ, tcell.ModCtrl, 0},
- "CtrlLeftSq": Key{tcell.KeyCtrlLeftSq, tcell.ModCtrl, 0},
- "CtrlBackslash": Key{tcell.KeyCtrlBackslash, tcell.ModCtrl, 0},
- "CtrlRightSq": Key{tcell.KeyCtrlRightSq, tcell.ModCtrl, 0},
- "CtrlCarat": Key{tcell.KeyCtrlCarat, tcell.ModCtrl, 0},
- "CtrlUnderscore": Key{tcell.KeyCtrlUnderscore, tcell.ModCtrl, 0},
- "Backspace": Key{tcell.KeyBackspace, tcell.ModNone, 0},
- "Tab": Key{tcell.KeyTab, tcell.ModNone, 0},
- "Esc": Key{tcell.KeyEsc, tcell.ModNone, 0},
- "Escape": Key{tcell.KeyEscape, tcell.ModNone, 0},
- "Enter": Key{tcell.KeyEnter, tcell.ModNone, 0},
- "Backspace2": Key{tcell.KeyBackspace2, tcell.ModNone, 0},
- }