feat: docsettings:getSidecarDir

pull/1766/head
Qingping Hou 8 years ago
parent cdbc8e594d
commit 722eaed4b2

@ -6,6 +6,10 @@ local DocSettings = {}
local history_dir = DataStorage:getDataDir() .. "/history/"
function DocSettings:getSidecarDir(doc_path)
return doc_path:match("(.*)%.")..".sdr"
end
function DocSettings:getHistoryPath(fullpath)
return history_dir .. "[" .. fullpath:gsub("(.*/)([^/]+)","%1] %2"):gsub("/","#") .. ".lua"
end
@ -34,7 +38,7 @@ function DocSettings:open(docfile)
else
history_path = self:getHistoryPath(docfile)
local sidecar = docfile:match("(.*)%.")..".sdr"
local sidecar = self:getSidecarDir(docfile)
if lfs.attributes(sidecar, "mode") ~= "directory" then
lfs.mkdir(sidecar)
end

@ -0,0 +1,10 @@
require("commonrequire")
local doc = require("docsettings")
describe("docsettings module", function()
it("should generate sidecar directory path", function()
assert.Equals("../../foo.sdr", doc:getSidecarDir("../../foo.pdf"))
assert.Equals("/foo/bar.sdr", doc:getSidecarDir("/foo/bar.pdf"))
assert.Equals("baz.sdr", doc:getSidecarDir("baz.pdf"))
end)
end)
Loading…
Cancel
Save