41 lines
944 B
Lua
41 lines
944 B
Lua
local utils = require "mp.utils"
|
|
|
|
del_list = {}
|
|
|
|
function contains_item(l, i)
|
|
for k, v in pairs(l) do
|
|
if v == i then
|
|
mp.osd_message("undeleting current file")
|
|
l[k] = nil
|
|
return true
|
|
end
|
|
end
|
|
mp.osd_message("deleting current file")
|
|
return false
|
|
end
|
|
|
|
function mark_delete()
|
|
local work_dir = mp.get_property_native("working-directory")
|
|
local file_path = mp.get_property_native("path")
|
|
local s = file_path:find(work_dir, 0, true)
|
|
local final_path
|
|
if s and s == 0 then
|
|
final_path = file_path
|
|
else
|
|
final_path = utils.join_path(work_dir, file_path)
|
|
end
|
|
if not contains_item(del_list, final_path) then
|
|
table.insert(del_list, final_path)
|
|
end
|
|
end
|
|
|
|
function delete()
|
|
for i, v in pairs(del_list) do
|
|
print("deleting: "..v)
|
|
os.remove(v)
|
|
end
|
|
end
|
|
|
|
mp.add_key_binding("shift+DEL", "delete_file", mark_delete)
|
|
mp.register_event("shutdown", delete)
|
|
|