aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/file_io.lua4
-rw-r--r--modules/textadept/editing.lua3
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.)