diff --git a/lua/orgmode/init.lua b/lua/orgmode/init.lua index 0d12e6cf1..e70e1af1f 100644 --- a/lua/orgmode/init.lua +++ b/lua/orgmode/init.lua @@ -126,7 +126,7 @@ function Org:setup_autocmds() end, }) - vim.api.nvim_create_autocmd({ 'BufNew' }, { + vim.api.nvim_create_autocmd({ 'BufNew', 'BufRead' }, { pattern = { '*.org', '*.org_archive' }, group = org_augroup, callback = function(event) diff --git a/lua/orgmode/state/buffers.lua b/lua/orgmode/state/buffers.lua index fe0f1a312..790760394 100644 --- a/lua/orgmode/state/buffers.lua +++ b/lua/orgmode/state/buffers.lua @@ -29,12 +29,10 @@ function OrgBuffers.get_buffer_by_filename(filename) return OrgBuffers._bufs[resolved_filename] end - -- If filename does not have an org extension, try to find the buf number and return it if filetype is org - if not OrgBuffers._is_valid_file_name(resolved_filename) then - local bufnr = vim.fn.bufnr(resolved_filename) - if bufnr > -1 and vim.bo[bufnr].filetype == 'org' then - return bufnr - end + -- Fall back to buffer lookup in case the cache missed an existing org buffer. + local bufnr = vim.fn.bufnr(resolved_filename) + if bufnr > -1 and vim.bo[bufnr].filetype == 'org' then + return bufnr end return -1