aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2015-01-15 23:01:19 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2015-01-15 23:01:19 -0500
commit317bca1fd4cdc3fd4b61990a308526358a2fac7d (patch)
tree94ef07a8653c7ac17c72c2a3a53e74377c3fcdaf /modules
parent14ee3e0bf143916f29b2fb05465b9e79707f4611 (diff)
downloadtextadept-317bca1fd4cdc3fd4b61990a308526358a2fac7d.tar.gz
textadept-317bca1fd4cdc3fd4b61990a308526358a2fac7d.zip
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.
Diffstat (limited to 'modules')
-rw-r--r--modules/textadept/editing.lua17
1 files changed, 12 insertions, 5 deletions
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