diff options
-rw-r--r-- | core/file_io.lua | 3 | ||||
-rw-r--r-- | core/ui.lua | 18 | ||||
-rw-r--r-- | modules/textadept/editing.lua | 18 | ||||
-rw-r--r-- | modules/textadept/session.lua | 5 |
4 files changed, 14 insertions, 30 deletions
diff --git a/core/file_io.lua b/core/file_io.lua index 48568081..bb267bcb 100644 --- a/core/file_io.lua +++ b/core/file_io.lua @@ -206,8 +206,7 @@ function io.save_file() local text = buffer:get_text() if buffer.encoding then text = text:iconv(buffer.encoding, 'UTF-8') end local f = assert(io.open(buffer.filename, 'wb')) - f:write(text) - f:close() + f:write(text):close() buffer:set_save_point() buffer.mod_time = lfs.attributes(buffer.filename, 'modification') if buffer._type then buffer._type = nil end diff --git a/core/ui.lua b/core/ui.lua index 39860ac0..3b9db7a2 100644 --- a/core/ui.lua +++ b/core/ui.lua @@ -480,18 +480,12 @@ end) -- on mouse events. if CURSES then if not WIN32 then - local function enable_mouse_mode() - io.stdout:write("\x1b[?1002h") - io.stdout:flush() - end - enable_mouse_mode() - local function disable_mouse_mode() - io.stdout:write("\x1b[?1002l") -- disable mouse mode - io.stdout:flush() - end - events_connect(events.SUSPEND, disable_mouse_mode) - events_connect(events.RESUME, enable_mouse_mode) - events_connect(events.QUIT, disable_mouse_mode) + local function enable_mouse() io.stdout:write("\x1b[?1002h"):flush() end + local function disable_mouse() io.stdout:write("\x1b[?1002l"):flush() end + enable_mouse() + events_connect(events.SUSPEND, disable_mouse) + events_connect(events.RESUME, enable_mouse) + events_connect(events.QUIT, disable_mouse) end -- Retrieves the view or split at the given terminal coordinates. diff --git a/modules/textadept/editing.lua b/modules/textadept/editing.lua index b1f4601d..0fa078ca 100644 --- a/modules/textadept/editing.lua +++ b/modules/textadept/editing.lua @@ -181,18 +181,12 @@ end) -- Enables and disables bracketed paste mode in curses and disables auto-pair -- and auto-indent while pasting. if CURSES and not WIN32 then - local function enable_bracketed_paste_mode() - io.stdout:write('\x1b[?2004h') - io.stdout:flush() - 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 function enable_br_paste() io.stdout:write('\x1b[?2004h'):flush() end + local function disable_br_paste() io.stdout:write('\x1b[?2004l'):flush() end + enable_br_paste() + events.connect(events.SUSPEND, disable_br_paste) + events.connect(events.RESUME, enable_br_paste) + events.connect(events.QUIT, disable_br_paste) local auto_pairs, auto_indent events.connect(events.CSI, function(cmd, args) diff --git a/modules/textadept/session.lua b/modules/textadept/session.lua index 34551505..b45abc56 100644 --- a/modules/textadept/session.lua +++ b/modules/textadept/session.lua @@ -194,10 +194,7 @@ function M.save(filename) end -- Write the session. local f = io.open(filename, 'wb') - if f then - f:write(table.concat(session, '\n')) - f:close() - end + if f then f:write(table.concat(session, '\n')):close() end end -- Saves session on quit. events.connect(events.QUIT, function() |