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
2525function 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 ]
5353--- Remove the buffer from the list
5454--- @param bufnr number
5555function 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
6161end
6262
6363--- Get valid buffer name if the buffer is an org file
6464--- @param bufnr number
6565function 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
7373end
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