refact: move escape and remove alias

This commit is contained in:
Thomas Lambert
2023-04-28 23:55:46 +02:00
parent 37c3b6b2ae
commit cdffe4c626
3 changed files with 31 additions and 22 deletions

View File

@@ -1,5 +1,16 @@
local M = {}
--- Escapes Lua pattern characters for use in gsub
function M.escape(s)
-- return s:gsub("[^%w]", "%%%1") -- Escape everything ?
return s:gsub("[%%%]%^%-$().[*+?]", "%%%1")
end
--- Returns string with listed chars removed (= safer gsub)
function M.strip(s, chars_to_remove)
return s:gsub("[" .. M.escape(chars_to_remove) .. "]", "")
end
-- strip an extension from a file name, escaping "." properly, eg:
-- strip_extension("path/Filename.md", ".md") -> "path/Filename"
local function strip_extension(str, ext)