Reformat lua code with lua-format
This commit is contained in:
parent
a365cef6c7
commit
e5afcb5e15
4 changed files with 236 additions and 203 deletions
|
@ -5,9 +5,12 @@ local ls = require'zettelkasten.list'
|
||||||
function ZK.init(vimapi)
|
function ZK.init(vimapi)
|
||||||
vim = vimapi or vim
|
vim = vimapi or vim
|
||||||
ZK.options = {
|
ZK.options = {
|
||||||
anchor_separator = vim.g["zettel_anchor_separator"] or vim.b["zettel_anchor_separator"] or "_",
|
anchor_separator = vim.g["zettel_anchor_separator"] or
|
||||||
zettel_extension = vim.g["zettel_extension"] or vim.b["zettel_extension"] or ".md",
|
vim.b["zettel_anchor_separator"] or "_",
|
||||||
zettel_root = vim.g["zettel_root"] or vim.b["zettel_root"] or "~/documents/notes",
|
zettel_extension = vim.g["zettel_extension"] or
|
||||||
|
vim.b["zettel_extension"] or ".md"
|
||||||
|
-- zettel_root = vim.g["zettel_root"] or vim.b["zettel_root"] or "~/documents/notes",
|
||||||
|
-- TODO zettel_anchor_pattern = regex? -> needs custom creation function in `create_anchor`
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -44,12 +47,12 @@ function ZK.create_link(text, date)
|
||||||
text = "" .. ZK.create_anchor(date)
|
text = "" .. ZK.create_anchor(date)
|
||||||
else
|
else
|
||||||
text = text:lower():gsub(" ", "-")
|
text = text:lower():gsub(" ", "-")
|
||||||
text = "" .. ZK.create_anchor(date) .. o.anchor_separator .. text
|
text = "" .. ZK.create_anchor(date) .. (o.anchor_separator or "_") ..
|
||||||
|
text
|
||||||
end
|
end
|
||||||
return text .. (o.zettel_extension or ".md")
|
return text .. (o.zettel_extension or ".md")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
-- Returns all zettel in path as a
|
-- Returns all zettel in path as a
|
||||||
-- { "anchor" = "path/to/zettel/anchor filename.md" }
|
-- { "anchor" = "path/to/zettel/anchor filename.md" }
|
||||||
-- table.
|
-- table.
|
||||||
|
@ -63,5 +66,5 @@ return {
|
||||||
zettel_link_create = ZK.zettel_link_create,
|
zettel_link_create = ZK.zettel_link_create,
|
||||||
create_anchor = ZK.create_anchor,
|
create_anchor = ZK.create_anchor,
|
||||||
create_link = ZK.create_link,
|
create_link = ZK.create_link,
|
||||||
get_zettel_list = ZK.get_zettel_list,
|
get_zettel_list = ZK.get_zettel_list
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,16 @@ ZK = require'zettelkasten.init'
|
||||||
Test_date = {year = 2019, month = 10, day = 29, hour = 16, min = 45}
|
Test_date = {year = 2019, month = 10, day = 29, hour = 16, min = 45}
|
||||||
|
|
||||||
describe("Zettelkasten", function()
|
describe("Zettelkasten", function()
|
||||||
before_each(function()
|
before_each(function() ZK.init({g = {}, b = {}}) end)
|
||||||
ZK.init({ g={}, b={} })
|
|
||||||
end)
|
|
||||||
|
|
||||||
describe("anchor creation", function()
|
describe("anchor creation", function()
|
||||||
it("should return zettel anchor from time passed in", function()
|
it("should return zettel anchor from time passed in", function()
|
||||||
assert.same("1910291645", ZK.create_anchor(Test_date))
|
assert.same("1910291645", ZK.create_anchor(Test_date))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should return zettel anchor from current moment if no argument passed in", function()
|
it(
|
||||||
|
"should return zettel anchor from current moment if no argument passed in",
|
||||||
|
function()
|
||||||
assert.same(os.date('%y%m%d%H%M'), ZK.create_anchor())
|
assert.same(os.date('%y%m%d%H%M'), ZK.create_anchor())
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@ -21,32 +21,41 @@ describe("Zettelkasten", function()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
describe("link creation", function()
|
describe("link creation", function()
|
||||||
it("should return a markdown link with only zettel anchor on no text passed in", function()
|
it(
|
||||||
|
"should return a markdown link with only zettel anchor on no text passed in",
|
||||||
|
function()
|
||||||
assert.same("1910291645.md", ZK.create_link(nil, Test_date))
|
assert.same("1910291645.md", ZK.create_link(nil, Test_date))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should text to link", function()
|
it("should text to link", function()
|
||||||
assert.same("1910291645_isappended.md", ZK.create_link("isappended", Test_date))
|
assert.same("1910291645_isappended.md",
|
||||||
|
ZK.create_link("isappended", Test_date))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should return lowercased link text", function()
|
it("should return lowercased link text", function()
|
||||||
assert.same("1910291645_yesiamshouting.md", ZK.create_link("YESIAMSHOUTING", Test_date))
|
assert.same("1910291645_yesiamshouting.md",
|
||||||
|
ZK.create_link("YESIAMSHOUTING", Test_date))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should return spaces in text replaced with dashes", function()
|
it("should return spaces in text replaced with dashes", function()
|
||||||
assert.same("1910291645_yes-indeed-a-space.md", ZK.create_link("yes indeed a space", Test_date))
|
assert.same("1910291645_yes-indeed-a-space.md",
|
||||||
|
ZK.create_link("yes indeed a space", Test_date))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should place the contents of g:zettel_anchor_separator variable in link", function()
|
it(
|
||||||
|
"should place the contents of g:zettel_anchor_separator variable in link",
|
||||||
|
function()
|
||||||
vim = {g = {zettel_anchor_separator = "SEP"}, b = {}}
|
vim = {g = {zettel_anchor_separator = "SEP"}, b = {}}
|
||||||
ZK.init(vim)
|
ZK.init(vim)
|
||||||
assert.same("1910291645SEParated.md", ZK.create_link("arated", Test_date))
|
assert.same("1910291645SEParated.md",
|
||||||
|
ZK.create_link("arated", Test_date))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should append the filetype set in g:zettel_extension", function()
|
it("should append the filetype set in g:zettel_extension", function()
|
||||||
vim = {g = {zettel_extension = ".something"}, b = {}}
|
vim = {g = {zettel_extension = ".something"}, b = {}}
|
||||||
ZK.init(vim)
|
ZK.init(vim)
|
||||||
assert.same("1910291645_theworld.something", ZK.create_link("theworld", Test_date))
|
assert.same("1910291645_theworld.something",
|
||||||
|
ZK.create_link("theworld", Test_date))
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
|
@ -20,15 +20,11 @@ function ls.get_anchors_and_paths(path, recursive)
|
||||||
|
|
||||||
if isDirectory(ftype) and recursive then
|
if isDirectory(ftype) and recursive then
|
||||||
local subdir = ls.get_anchors_and_paths(path .. "/" .. name, true)
|
local subdir = ls.get_anchors_and_paths(path .. "/" .. name, true)
|
||||||
for k, v in pairs(subdir) do
|
for k, v in pairs(subdir) do zettel[tostring(k)] = v end
|
||||||
zettel[tostring(k)] = v
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local anchor = string.match(name, anchorreg)
|
local anchor = string.match(name, anchorreg)
|
||||||
if anchor then
|
if anchor then zettel[tostring(anchor)] = name end
|
||||||
zettel[tostring(anchor)] = name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
return zettel
|
return zettel
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,42 +15,44 @@ describe("zettel listing", function()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
fs_scandir_next = function() return table.remove(files) end
|
fs_scandir_next = function()
|
||||||
|
return table.remove(files)
|
||||||
|
end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should return anchor-keyed table pointing to filename of zettel", function()
|
it("should return anchor-keyed table pointing to filename of zettel",
|
||||||
|
function()
|
||||||
local file_list = {"1910291645 this-is-a-testfile.md"}
|
local file_list = {"1910291645 this-is-a-testfile.md"}
|
||||||
ZK.init(get_api_mock(file_list))
|
ZK.init(get_api_mock(file_list))
|
||||||
|
|
||||||
local expected = { ["1910291645"] = "1910291645 this-is-a-testfile.md", }
|
local expected = {["1910291645"] = "1910291645 this-is-a-testfile.md"}
|
||||||
assert.same(expected, ZK.get_zettel_list("someDir"))
|
assert.same(expected, ZK.get_zettel_list("someDir"))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should ignore any malformed files", function()
|
it("should ignore any malformed files", function()
|
||||||
local file_list = {
|
local file_list = {
|
||||||
"2010261208 this-should-be-picked-up.md",
|
"2010261208 this-should-be-picked-up.md",
|
||||||
"1910291645 this-is-a-testfile.md",
|
"1910291645 this-is-a-testfile.md", "this-is-not-a-testfile.md",
|
||||||
"this-is-not-a-testfile.md",
|
"1910271456 this-is-wrong-extension.txt", "1812 this-is-ignored.md"
|
||||||
"1910271456 this-is-wrong-extension.txt",
|
|
||||||
"1812 this-is-ignored.md",
|
|
||||||
}
|
}
|
||||||
ZK.init(get_api_mock(file_list))
|
ZK.init(get_api_mock(file_list))
|
||||||
|
|
||||||
local expected = {
|
local expected = {
|
||||||
["1910291645"] = "1910291645 this-is-a-testfile.md",
|
["1910291645"] = "1910291645 this-is-a-testfile.md",
|
||||||
["2010261208"] = "2010261208 this-should-be-picked-up.md",
|
["2010261208"] = "2010261208 this-should-be-picked-up.md"
|
||||||
}
|
}
|
||||||
assert.same(expected, ZK.get_zettel_list("someDir"))
|
assert.same(expected, ZK.get_zettel_list("someDir"))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should recurse into directories if recursive argument passed in ", function()
|
it("should recurse into directories if recursive argument passed in ",
|
||||||
|
function()
|
||||||
local files = {
|
local files = {
|
||||||
{"1910271456 testfile.md", "file"},
|
{"1910271456 testfile.md", "file"},
|
||||||
{"more-notes-here", "directory"},
|
{"more-notes-here", "directory"},
|
||||||
{ "2010261208 another-testfile.md", "file" },
|
{"2010261208 another-testfile.md", "file"}
|
||||||
}
|
}
|
||||||
local vim_api_mock = {
|
local vim_api_mock = {
|
||||||
g = {},
|
g = {},
|
||||||
|
@ -75,12 +77,19 @@ describe("zettel listing", function()
|
||||||
ZK.get_zettel_list("path/to/startingdir", true)
|
ZK.get_zettel_list("path/to/startingdir", true)
|
||||||
|
|
||||||
assert.spy(vim_api_mock.loop.fs_scandir).was_called(2)
|
assert.spy(vim_api_mock.loop.fs_scandir).was_called(2)
|
||||||
assert.spy(vim_api_mock.loop.fs_scandir).was_called_with("path/to/startingdir/more-notes-here")
|
assert.spy(vim_api_mock.loop.fs_scandir).was_called_with(
|
||||||
|
"path/to/startingdir/more-notes-here")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("should append all notes found in subdirectories when recursing", function()
|
it("should append all notes found in subdirectories when recursing",
|
||||||
local outer_files = { "subdir", "1234567890 myfile.md", "2345678901 another.md", }
|
function()
|
||||||
local inner_files = { "2222222222 should-be-present.md", "3333333333 should-also-be-present.md" }
|
local outer_files = {
|
||||||
|
"subdir", "1234567890 myfile.md", "2345678901 another.md"
|
||||||
|
}
|
||||||
|
local inner_files = {
|
||||||
|
"2222222222 should-be-present.md",
|
||||||
|
"3333333333 should-also-be-present.md"
|
||||||
|
}
|
||||||
local files = outer_files
|
local files = outer_files
|
||||||
-- assert.is_true("not implemented")
|
-- assert.is_true("not implemented")
|
||||||
local vim_api_mock = {
|
local vim_api_mock = {
|
||||||
|
@ -100,15 +109,31 @@ describe("zettel listing", function()
|
||||||
end
|
end
|
||||||
return fname, ftype
|
return fname, ftype
|
||||||
end
|
end
|
||||||
}}
|
}
|
||||||
|
}
|
||||||
ZK.init(vim_api_mock)
|
ZK.init(vim_api_mock)
|
||||||
local expected = {
|
local expected = {
|
||||||
["1234567890"] = "1234567890 myfile.md",
|
["1234567890"] = "1234567890 myfile.md",
|
||||||
["2345678901"] = "2345678901 another.md",
|
["2345678901"] = "2345678901 another.md",
|
||||||
["2222222222"] = "2222222222 should-be-present.md",
|
["2222222222"] = "2222222222 should-be-present.md",
|
||||||
["3333333333"] = "3333333333 should-also-be-present.md",
|
["3333333333"] = "3333333333 should-also-be-present.md"
|
||||||
}
|
}
|
||||||
assert.same(expected, ZK.get_zettel_list('mydirectory', true))
|
assert.same(expected, ZK.get_zettel_list('mydirectory', true))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it("should adhere to the zettel extension defined in options", function()
|
||||||
|
local file_list = {"1910291645 myfile.wiki", "2345678901 another.wiki"}
|
||||||
|
local vim = get_api_mock(file_list)
|
||||||
|
vim.g['zettel_extension'] = '.wiki'
|
||||||
|
ZK.init(vim)
|
||||||
|
|
||||||
|
local expected = {
|
||||||
|
["1910291645"] = "1910291645 myfile.wiki",
|
||||||
|
["2345678901"] = "2345678901 another.wiki"
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.same(expected, ZK.get_zettel_list('mydirectory'))
|
||||||
|
|
||||||
|
end)
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
|
Loading…
Reference in a new issue