aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2009-03-01 18:16:13 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2009-03-01 18:16:13 -0500
commit91ad8cd1c8843d3e2b996b2af1884c3b128bf0bb (patch)
treef7af934f12d5b956b5dd248e78d8ccaff26e9b51
parent69de90027240fdb1cdf0387a7a792302b7def73c (diff)
downloadtextadept-91ad8cd1c8843d3e2b996b2af1884c3b128bf0bb.tar.gz
textadept-91ad8cd1c8843d3e2b996b2af1884c3b128bf0bb.zip
Added 'file_before_save' signal.
-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.)