From 317bca1fd4cdc3fd4b61990a308526358a2fac7d Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Thu, 15 Jan 2015 23:01:19 -0500 Subject: Added events for terminal suspend and resume. Suspend can be prevented by an error handler, described in a new FAQ entry. New `events.RESUME` replaces `events.FOCUS` for the terminal version. Utilize these events to disable/enable bracketed paste and mouse modes. --- modules/textadept/editing.lua | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'modules') diff --git a/modules/textadept/editing.lua b/modules/textadept/editing.lua index 46db4127..ad010f9f 100644 --- a/modules/textadept/editing.lua +++ b/modules/textadept/editing.lua @@ -197,12 +197,19 @@ end) -- Enables and disables bracketed paste mode in curses and disables auto-pair -- and auto-indent while pasting. if CURSES and not WIN32 then - io.stdout:write('\x1b[?2004h') -- enable bracketed paste mode - io.stdout:flush() - events.connect(events.QUIT, function() - io.stdout:write('\x1b[?2004l') -- disable bracketed paste mode + local function enable_bracketed_paste_mode() + io.stdout:write('\x1b[?2004h') io.stdout:flush() - end) + end + enable_bracketed_paste_mode() + local function disable_bracketed_paste_mode() + io.stdout:write('\x1b[?2004l') + io.stdout:flush() + end + events.connect(events.SUSPEND, disable_bracketed_paste_mode) + events.connect(events.RESUME, enable_bracketed_paste_mode) + events.connect(events.QUIT, disable_bracketed_paste_mode) + local reenable_autopair, reenable_autoindent events.connect('csi', function(cmd, args) if cmd ~= string.byte('~') then return end -- cgit v1.2.3