From db9a4ede6c589f6bd88d52bdd358c83317ed3410 Mon Sep 17 00:00:00 2001 From: Kristijan Husak Date: Wed, 3 Apr 2024 22:24:41 +0200 Subject: [PATCH] fix(files): Resolve filename before loading a file --- lua/orgmode/files/init.lua | 15 +++++++++------ lua/orgmode/init.lua | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lua/orgmode/files/init.lua b/lua/orgmode/files/init.lua index 748a3ae10..d074f6a62 100644 --- a/lua/orgmode/files/init.lua +++ b/lua/orgmode/files/init.lua @@ -42,11 +42,11 @@ function OrgFiles:load(force) local actions = vim.tbl_map(function(filename) return self:load_file(filename):next(function(orgfile) if orgfile then - self.files[filename] = orgfile + self.files[orgfile.filename] = orgfile end return orgfile end) - end, self:_files()) + end, self:_files(true)) return Promise.all(actions):next(function() self.load_state = 'loaded' @@ -156,6 +156,7 @@ end ---@return OrgPromise function OrgFiles:load_file(filename) + filename = vim.fn.resolve(vim.fs.normalize(filename)) local file = self.all_files[filename] if file then return file:reload() @@ -181,9 +182,7 @@ function OrgFiles:get(filename) end function OrgFiles:reload(filename) - self:load_file(filename):next(function(orgfile) - return orgfile - end) + return self:load_file(filename) end ---@param cursor? table (1, 0) indexed base position tuple @@ -336,9 +335,13 @@ function OrgFiles:_setup_paths(paths) end ---@private -function OrgFiles:_files() +---@param skip_resolve? boolean +function OrgFiles:_files(skip_resolve) local all_files = vim.tbl_map(function(file) return vim.tbl_map(function(path) + if skip_resolve then + return path + end return vim.fn.resolve(path) end, vim.fn.glob(vim.fn.fnamemodify(file, ':p'), false, true)) end, self.paths) diff --git a/lua/orgmode/init.lua b/lua/orgmode/init.lua index 6146b6173..98987fde5 100644 --- a/lua/orgmode/init.lua +++ b/lua/orgmode/init.lua @@ -91,7 +91,7 @@ function Org:setup_autocmds() pattern = 'org', group = org_augroup, callback = function() - return self:reload(vim.fn.expand(':p')) + self:reload(vim.fn.expand(':p')) end, }) end