diff options
author | mitchell <70453897+orbitalquark@users.noreply.github.com> | 2021-04-30 18:40:06 -0400 |
---|---|---|
committer | mitchell <70453897+orbitalquark@users.noreply.github.com> | 2021-04-30 18:40:06 -0400 |
commit | 715901363a02634f5336c0d3f18cbd9a9c080b4a (patch) | |
tree | 315146ace595595cefe4e6b4eae01c475a21a85b /core/file_io.lua | |
parent | a775e9fb4188f2638111c15623ea9bd5c804b3e2 (diff) |
Replaced `events.FILE_{BEFORE,AFTER}_RELOAD` with `events.BUFFER_{BEFORE,AFTER}_REPLACE_TEXT`.
This allows more features to save/restore state when buffer contents are replaced (e.g. file
reload, filter through, etc.)
Diffstat (limited to 'core/file_io.lua')
-rw-r--r-- | core/file_io.lua | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/core/file_io.lua b/core/file_io.lua index 9dde8550..7f0c9999 100644 --- a/core/file_io.lua +++ b/core/file_io.lua @@ -9,12 +9,6 @@ -- Arguments: -- -- * _`filename`_: The opened file's filename. --- @field _G.events.FILE_BEFORE_RELOAD (string) --- Emitted before reloading the current file. --- Emitted by [`buffer:reload()`](). --- @field _G.events.FILE_AFTER_RELOAD (string) --- Emitted after reloading the current file. --- Emitted by [`buffer:reload()`](). -- @field _G.events.FILE_BEFORE_SAVE (string) -- Emitted right before saving a file to disk. -- Emitted by [`buffer:save()`](). @@ -42,7 +36,7 @@ module('io')]] -- Events. -- LuaFormatter off -local file_io_events = {'file_opened','file_before_reload','file_after_reload','file_before_save','file_after_save','file_changed'} +local file_io_events = {'file_opened','file_before_save','file_after_save','file_changed'} -- LuaFormatter on for _, v in ipairs(file_io_events) do events[v:upper()] = v end @@ -157,16 +151,13 @@ end local function reload(buffer) if not buffer then buffer = _G.buffer end if not buffer.filename then return end - if buffer == _G.buffer then events.emit(events.FILE_BEFORE_RELOAD) end local f = assert(io.open(buffer.filename, 'rb')) local text = f:read('a') f:close() if buffer.encoding then text = text:iconv('UTF-8', buffer.encoding) end - buffer:clear_all() - buffer:append_text(text) + buffer:set_text(text) buffer:set_save_point() buffer.mod_time = lfs.attributes(buffer.filename, 'modification') - if buffer == _G.buffer then events.emit(events.FILE_AFTER_RELOAD) end end -- LuaDoc is in core/.buffer.luadoc. |