From fef6e5edebfdcef6ec2f3e6eeb475d0151c126cd Mon Sep 17 00:00:00 2001 From: Rene Schallner Date: Mon, 22 Nov 2021 01:16:51 +0100 Subject: [PATCH] fixed bug: when following link: check if target exists in daily, weekly, too! --- BACKLOG.md | 1 + lua/telekasten.lua | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/BACKLOG.md b/BACKLOG.md index b63d26e..a74d1f1 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -4,6 +4,7 @@ - maybe choose template in create note ## Dones +- [x] avoid creating new note in home dir when following link to daily or weekly - [x] get rid of `daily_finder.sh` - [x] find weekly note - [x] goto week diff --git a/lua/telekasten.lua b/lua/telekasten.lua index fac6d43..5bcbb59 100644 --- a/lua/telekasten.lua +++ b/lua/telekasten.lua @@ -38,6 +38,7 @@ local note_type_templates = { local function file_exists(fname) local f=io.open(fname,"r") + print("checking for " .. fname) if f~=nil then io.close(f) return true else return false end end @@ -173,9 +174,13 @@ FollowLink = function(opts) vim.cmd('normal yi]') local title = vim.fn.getreg('"0') - local fname = ZkCfg.home .. '/' .. title .. ZkCfg.extension - local fexists = file_exists(fname) + -- check if fname exists anywhere + local fexists = file_exists(ZkCfg.weeklies .. '/' .. title .. ZkCfg.extension) + fexists = fexists or file_exists(ZkCfg.dailies .. '/' .. title .. ZkCfg.extension) + fexists = fexists or file_exists(ZkCfg.home .. '/' .. title .. ZkCfg.extension) + if ((fexists ~= true) and ((opts.follow_creates_nonexisting == true) or ZkCfg.follow_creates_nonexisting == true)) then + local fname = ZkCfg.home .. '/' .. title .. ZkCfg.extension create_note_from_template(title, fname, note_type_templates.normal) end