| 74 | KEY_INDENT = const(0xfffe) |
| 75 | KEY_DEDENT = const(0xffff) |
| 76 | class Editor: |
| 77 | KEYMAP = { |
| 78 | "\x1b[A" : KEY_UP, |
| 79 | "\x1b[1;2A": KEY_SHIFT_UP, |
| 80 | "\x1b[1;3A": KEY_ALT_UP, |
| 81 | "\x1b[B" : KEY_DOWN, |
| 82 | "\x1b[1;2B": KEY_SHIFT_DOWN, |
| 83 | "\x1b[1;3B": KEY_ALT_DOWN, |
| 84 | "\x1b[D" : KEY_LEFT, |
| 85 | "\x1b[1;2D": KEY_SHIFT_LEFT, |
| 86 | "\x1b[1;6D": KEY_SHIFT_CTRL_LEFT, |
| 87 | "\x1b[1;3D": KEY_ALT_LEFT, |
| 88 | "\x1b[C" : KEY_RIGHT, |
| 89 | "\x1b[1;2C": KEY_SHIFT_RIGHT, |
| 90 | "\x1b[1;6C": KEY_SHIFT_CTRL_RIGHT, |
| 91 | "\x1b[1;3C": KEY_ALT_RIGHT, |
| 92 | "\x1b[H" : KEY_HOME, |
| 93 | "\x1bOH" : KEY_HOME, |
| 94 | "\x1b[1~": KEY_HOME, |
| 95 | "\x1b[F" : KEY_END, |
| 96 | "\x1bOF" : KEY_END, |
| 97 | "\x1b[4~": KEY_END, |
| 98 | "\x1b[5~": KEY_PGUP, |
| 99 | "\x1b[6~": KEY_PGDN, |
| 100 | "\x1b[5;5~": KEY_PGUP, |
| 101 | "\x1b[6;5~": KEY_PGDN, |
| 102 | "\x1b[1;5D": KEY_WORD_LEFT, |
| 103 | "\x1b[1;5C": KEY_WORD_RIGHT, |
| 104 | "\x03" : KEY_COPY, |
| 105 | "\r" : KEY_ENTER, |
| 106 | "\x7f" : KEY_BACKSPACE, |
| 107 | "\x1b[3~": KEY_DELETE, |
| 108 | "\x1b[Z" : KEY_BACKTAB, |
| 109 | "\x19" : KEY_REDO, |
| 110 | "\x08" : KEY_REPLC, |
| 111 | "\x12" : KEY_REPLC, |
| 112 | "\x11" : KEY_QUIT, |
| 113 | "\x1b" : KEY_QUIT, |
| 114 | "\n" : KEY_ENTER, |
| 115 | "\x13" : KEY_WRITE, |
| 116 | "\x06" : KEY_FIND, |
| 117 | "\x0e" : KEY_FIND_AGAIN, |
| 118 | "\x07" : KEY_GOTO, |
| 119 | "\x05" : KEY_REDRAW, |
| 120 | "\x1a" : KEY_UNDO, |
| 121 | "\x09" : KEY_TAB, |
| 122 | "\x15" : KEY_BACKTAB, |
| 123 | "\x18" : KEY_CUT, |
| 124 | "\x16" : KEY_PASTE, |
| 125 | "\x04" : KEY_COPY, |
| 126 | "\x0c" : KEY_MARK, |
| 127 | "\x00" : KEY_MARK, |
| 128 | "\x14" : KEY_FIRST, |
| 129 | "\x02" : KEY_LAST, |
| 130 | "\x01" : KEY_TOGGLE, |
| 131 | "\x17" : KEY_NEXT, |
| 132 | "\x0f" : KEY_GET, |
| 133 | "\x10" : KEY_COMMENT, |