diff options
| author | ibhagwan <59988195+ibhagwan@users.noreply.github.com> | 2022-03-26 02:29:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-26 10:29:34 +0100 |
| commit | cf2d6d34282afd90f0f5d2aba265a23b068494c2 (patch) | |
| tree | bba4f4d0a4c44337b5d7fbdcab1352235ec8aa4a /lua/telescope/builtin | |
| parent | 40c1e88904d8674d597634ec2db90d51b46795ec (diff) | |
fix (tags|btags): escape all special characters (#1806)
Diffstat (limited to 'lua/telescope/builtin')
| -rw-r--r-- | lua/telescope/builtin/files.lua | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lua/telescope/builtin/files.lua b/lua/telescope/builtin/files.lua index 893588f..99c6447 100644 --- a/lua/telescope/builtin/files.lua +++ b/lua/telescope/builtin/files.lua @@ -431,10 +431,12 @@ files.tags = function(opts) local selection = action_state.get_selected_entry() if selection.scode then - local scode = string.gsub(selection.scode, "[$]$", "") - scode = string.gsub(scode, [[\\]], [[\]]) - scode = string.gsub(scode, [[\/]], [[/]]) - scode = string.gsub(scode, "[*]", [[\*]]) + -- un-escape / then escape required + -- special chars for vim.fn.search() + -- ] ~ * + local scode = selection.scode:gsub([[\/]], "/"):gsub("[%]~*]", function(x) + return "\\" .. x + end) vim.cmd "norm! gg" vim.fn.search(scode) |
