diff options
author | mitchell <70453897+orbitalquark@users.noreply.github.com> | 2020-10-17 16:04:57 -0400 |
---|---|---|
committer | mitchell <70453897+orbitalquark@users.noreply.github.com> | 2020-10-17 16:04:57 -0400 |
commit | 034ff0cf3af7e616a5377e036852f937f485da32 (patch) | |
tree | fb8950803c3d71e9ba3ee5d5f76aa4dc5c23b406 /modules | |
parent | c511448b28a5b5c1e60ab87518f65245d169ae5b (diff) |
Fixed "Enclose as XML Tags" with multiple selections.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/textadept/menu.lua | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/modules/textadept/menu.lua b/modules/textadept/menu.lua index 6f59b7ff..d684adc1 100644 --- a/modules/textadept/menu.lua +++ b/modules/textadept/menu.lua @@ -116,9 +116,13 @@ local default_menubar = { {_L['Enclose as XML Tags'], function() buffer:begin_undo_action() enc('<', '>') - local s, e = buffer.current_pos, buffer.current_pos - while buffer.char_at[s - 1] ~= 60 do s = s - 1 end -- '<' - buffer:insert_text(-1, '</' .. buffer:text_range(s, e)) + for i = 1, buffer.selections do + local s, e = buffer.selection_n_start[i], buffer.selection_n_end[i] + while buffer.char_at[s - 1] ~= 60 do s = s - 1 end -- '<' + buffer:set_target_range(e, e) + buffer:replace_target('</' .. buffer:text_range(s, e)) + buffer.selection_n_start[i], buffer.selection_n_end[i] = e, e + end buffer:end_undo_action() end}, {_L['Enclose as Single XML Tag'], function() enc('<', ' />') end}, |