aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept/find.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2018-05-11 09:06:45 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2018-05-11 09:06:45 -0400
commit72d2f37c9aba1d6952a932bb1377f6b8daff0838 (patch)
tree9fe1fc218ce615c971f96f090d90fda32bccc326 /modules/textadept/find.lua
parent52df008c7d6205a9fa38d926d0435d684d88924e (diff)
downloadtextadept-72d2f37c9aba1d6952a932bb1377f6b8daff0838.tar.gz
textadept-72d2f37c9aba1d6952a932bb1377f6b8daff0838.zip
Intepret \uXXXX and \xYY escapes in replacement text.
Diffstat (limited to 'modules/textadept/find.lua')
-rw-r--r--modules/textadept/find.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/modules/textadept/find.lua b/modules/textadept/find.lua
index 7fab5429..4657b0c8 100644
--- a/modules/textadept/find.lua
+++ b/modules/textadept/find.lua
@@ -316,6 +316,9 @@ end
local function replace(rtext)
if buffer.selection_empty then return end
if M.in_files then M.in_files = false end
+ rtext = rtext:gsub('\\[ux](%x+)', function(codepoint)
+ return utf8.char(tonumber(codepoint, 16)) -- interpret \uXXXX or \xYY
+ end)
buffer:target_from_selection()
buffer[not M.regex and 'replace_target' or 'replace_target_re'](buffer, rtext)
buffer:set_sel(buffer.target_start, buffer.target_end)