From 322c18cfa38f060a7267d79d4562ab0df94cf30e Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Sat, 18 Oct 2014 21:14:14 -0400 Subject: Handle unknown CSI events and bracketed pasted in the terminal version. For bracketed paste, turn off auto-pair and auto-indent. --- src/textadept.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/textadept.c b/src/textadept.c index 86d457d1..4d433087 100644 --- a/src/textadept.c +++ b/src/textadept.c @@ -2409,6 +2409,19 @@ int main(int argc, char **argv) { else if (key.type == TERMKEY_TYPE_KEYSYM && key.code.sym >= 0 && key.code.sym <= TERMKEY_SYM_END) c = keysyms[key.code.sym]; + else if (key.type == TERMKEY_TYPE_UNKNOWN_CSI) { + long args[16]; + size_t nargs = 16; + unsigned long cmd; + termkey_interpret_csi(ta_tk, &key, args, &nargs, &cmd); + lua_newtable(lua); + for (int i = 0; i < nargs; i++) + lua_pushinteger(lua, args[i]), lua_rawseti(lua, -2, i + 1); + lL_event(lua, "csi", LUA_TNUMBER, cmd, LUA_TTABLE, + luaL_ref(lua, LUA_REGISTRYINDEX), -1); + refresh_all(); + continue; + } else continue; // skip unknown types int shift = key.modifiers & TERMKEY_KEYMOD_SHIFT; int ctrl = key.modifiers & TERMKEY_KEYMOD_CTRL; int alt = key.modifiers & TERMKEY_KEYMOD_ALT; -- cgit v1.2.3