fix: relative paths with '-' breaking git
relative paths with '-' inside a `string.match` statement were not matching properly due to the nature of lua matching patterns. Replacing '-' with '%-' resolves the issue.
This commit is contained in:
parent
f906cb0195
commit
7fbcfa531c
@ -30,15 +30,16 @@ end
|
||||
|
||||
local function is_folder_dirty(relpath)
|
||||
for _, status in pairs(GIT_STATUS) do
|
||||
if string.match(status, relpath) ~= nil then return true end
|
||||
local match_path = relpath:gsub('(%-)', '%%-')
|
||||
if string.match(status, match_path) ~= nil then return true end
|
||||
end
|
||||
end
|
||||
|
||||
local function create_git_checker(pattern)
|
||||
return function(relpath)
|
||||
for _, status in pairs(GIT_STATUS) do
|
||||
-- TODO: fix .* as it could be problematic
|
||||
local ret = string.match(status, '^.. .*' .. relpath)
|
||||
local match_path = relpath:gsub('(%-)', '%%-')
|
||||
local ret = string.match(status, '^.. .*' .. match_path)
|
||||
if ret ~= nil and string.match(ret, pattern) ~= nil then return true end
|
||||
end
|
||||
return false
|
||||
|
||||
Loading…
Reference in New Issue
Block a user