aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/shared.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/shared.lua')
-rw-r--r--runtime/lua/vim/shared.lua11
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua
index 75d4a6eee6..cd6f8a04d8 100644
--- a/runtime/lua/vim/shared.lua
+++ b/runtime/lua/vim/shared.lua
@@ -178,9 +178,20 @@ local function trim(s)
return s:match('^%s*(.*%S)') or ''
end
+--- Escapes magic chars in a Lua pattern string.
+---
+--@see https://github.com/rxi/lume
+--@param s String to escape
+--@returns %-escaped pattern string
+local function pesc(s)
+ assert(type(s) == 'string')
+ return s:gsub('[%(%)%.%%%+%-%*%?%[%]%^%$]', '%%%1')
+end
+
local module = {
deepcopy = deepcopy,
gsplit = gsplit,
+ pesc = pesc,
split = split,
tbl_contains = tbl_contains,
tbl_extend = tbl_extend,