Skip to content

Commit 89b684e

Browse files
fix(buffers): normalize buffer name
1 parent c480161 commit 89b684e

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

lua/orgmode/state/buffers.lua

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ end
2323
---If filename does not have org extension, it will try to find the buffer number and return
2424
---@param filename string absolute path to file
2525
function OrgBuffers.get_buffer_by_filename(filename)
26-
local resolved_filename = vim.fn.resolve(filename)
26+
local resolved_filename = OrgBuffers._resolve_filename(filename)
2727

2828
if OrgBuffers._bufs[resolved_filename] then
2929
return OrgBuffers._bufs[resolved_filename]
@@ -53,17 +53,17 @@ end
5353
---Remove the buffer from the list
5454
---@param bufnr number
5555
function OrgBuffers.remove(bufnr)
56-
local name = vim.fn.resolve(vim.api.nvim_buf_get_name(bufnr))
56+
local name = OrgBuffers.get_valid_buffer_name(bufnr)
5757

58-
if OrgBuffers._bufs[name] then
58+
if name and OrgBuffers._bufs[name] then
5959
OrgBuffers._bufs[name] = nil
6060
end
6161
end
6262

6363
---Get valid buffer name if the buffer is an org file
6464
---@param bufnr number
6565
function OrgBuffers.get_valid_buffer_name(bufnr)
66-
local name = vim.fn.resolve(vim.fn.bufname(bufnr))
66+
local name = OrgBuffers._resolve_filename(vim.fn.bufname(bufnr))
6767

6868
if OrgBuffers._is_valid_file_name(name) then
6969
return name
@@ -72,6 +72,13 @@ function OrgBuffers.get_valid_buffer_name(bufnr)
7272
return nil
7373
end
7474

75+
---Resolve and normalize the filename
76+
---@param filename string
77+
---@return string
78+
function OrgBuffers._resolve_filename(filename)
79+
return vim.fs.normalize(vim.fn.resolve(filename))
80+
end
81+
7582
---Check if given filename has valid org extension
7683
---@private
7784
---@param filename string

0 commit comments

Comments
 (0)