From ece35a566f002bb0454d3f02a87ca51a48a7c7c5 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Thu, 27 Sep 2007 23:05:20 -0400 Subject: Added buffer:reload() function. --- core/events.lua | 1 + core/file_io.lua | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'core') diff --git a/core/events.lua b/core/events.lua index bfd5ef09..3fe609e3 100644 --- a/core/events.lua +++ b/core/events.lua @@ -306,6 +306,7 @@ add_handler('margin_click', add_handler('buffer_new', function() -- set additional buffer functions local buffer, textadept = buffer, textadept + buffer.reload = textadept.io.reload buffer.save = textadept.io.save buffer.save_as = textadept.io.save_as buffer.close = textadept.io.close diff --git a/core/file_io.lua b/core/file_io.lua index c7433479..e4d36db0 100644 --- a/core/file_io.lua +++ b/core/file_io.lua @@ -52,6 +52,24 @@ function open(filenames) for filename in filenames:gmatch('[^|\n]+') do open_helper(filename) end end +--- +-- Reloads the file in a given buffer. +-- @param buffer The buffer to reload. This must be the currently focused +-- buffer. +-- @usage buffer:reload() +function reload(buffer) + textadept.check_focused_buffer(buffer) + if not buffer.filename then return end + local f, err = io.open(buffer.filename) + if f then + local pos = buffer.current_pos + buffer:set_text( f:read('*all') ) + buffer.current_pos = pos + buffer:set_save_point() + f:close() + end +end + --- -- Saves the current buffer to a file. -- @param buffer The buffer to save. Its 'filename' property is used as the -- cgit v1.2.3