aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2011-03-29 18:54:56 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2011-03-29 18:54:56 -0400
commit395f6bc5176d409d5e20298c8a48062645e56c75 (patch)
tree45ebf66fc0dd02666cd4ae617b70327f5fa0ba9f
parent5781a9e463cb69ee6a02848cccc3de57567dc46a (diff)
downloadtextadept-395f6bc5176d409d5e20298c8a48062645e56c75.tar.gz
textadept-395f6bc5176d409d5e20298c8a48062645e56c75.zip
Fixed some snippet bugs; modules/textadept/snippets.lua
-rw-r--r--modules/textadept/snippets.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/textadept/snippets.lua b/modules/textadept/snippets.lua
index 312cd5b5..5b7e348a 100644
--- a/modules/textadept/snippets.lua
+++ b/modules/textadept/snippets.lua
@@ -266,7 +266,9 @@ _snippet_mt = {
-- Gets the text for a snippet.
-- @param snippet The snippet returned by new_snippet().
get_text = function(snippet)
- return buffer:text_range(snippet.start_position, snippet:get_end_position())
+ local s, e = snippet.start_position, snippet:get_end_position()
+ local ok, text = pcall(buffer.text_range, buffer, s, e)
+ return ok and text or ''
end,
-- Sets the text for a snippet.
@@ -409,7 +411,10 @@ _snippet_mt = {
buffer:goto_pos(snippet:get_end_position())
end
buffer.indicator_current = INDIC_SNIPPET
- buffer:indicator_clear_range(snippet:get_end_position(), 1)
+ e = snippet:get_end_position()
+ buffer:indicator_clear_range(e, 1)
+ buffer.target_start, buffer.target_end = e, e + 1
+ buffer:replace_target('') -- clear initial padding space
snippet_stack[#snippet_stack] = nil
end,
}