diff options
-rw-r--r-- | core/file_io.lua | 4 | ||||
-rw-r--r-- | modules/textadept/editing.lua | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/core/file_io.lua b/core/file_io.lua index e6415542..9ad6dffd 100644 --- a/core/file_io.lua +++ b/core/file_io.lua @@ -9,6 +9,7 @@ local locale = _G.locale -- -- Events: -- file_opened(filename) +-- file_before_save(filename) -- file_saved_as(filename) module('textadept.io', package.seeall) @@ -187,8 +188,7 @@ end function save(buffer) textadept.check_focused_buffer(buffer) if not buffer.filename then return save_as(buffer) end - prepare = _m.textadept.editing.prepare_for_save - if prepare then prepare() end + textadept.events.handle('file_before_save', buffer.filename) local text = buffer:text_range(0, buffer.length) if buffer.encoding then local bom = buffer.encoding_bom or '' diff --git a/modules/textadept/editing.lua b/modules/textadept/editing.lua index 61dfbd4c..249952e4 100644 --- a/modules/textadept/editing.lua +++ b/modules/textadept/editing.lua @@ -152,7 +152,7 @@ function autocomplete_word(word_chars) local buffer = buffer local caret, length = buffer.current_pos, buffer.length local completions, c_list = {}, {} - local buffer_text = buffer:text_range(0, length) + local buffer_text = buffer:get_text(buffer.length) local root = buffer_text:sub(1, caret):match('['..word_chars..']+$') if not root or #root == 0 then return end buffer.target_start, buffer.target_end = 0, buffer.length @@ -311,6 +311,7 @@ function prepare_for_save() buffer:convert_eo_ls(buffer.eol_mode) buffer:end_undo_action() end +textadept.events.add_handler('file_before_save', prepare_for_save) --- -- Cuts or copies text ranges intelligently. (Behaves like Emacs.) |