Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lua/buffer_manager/ui.lua
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@ end

function M.toggle_quick_menu()
log.trace("toggle_quick_menu()")
config = buffer_manager.get_config() -- update configuration

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure this is needed.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@j-morano
That is related with what I mentioned at Problem 1.
I agree with you that line(302) don't need If normal situation, because the same code exists at line(14).

But the configuration what I set doesn't apply whenever I call toggle_quick_menu(),
although the result of require('buffer_manager').get_config() in command mode is the same with what I configured.

For debugging, I wrote some print() code at line(302) like print(config.short_file_names). The result was false before I modified this line(302)

Does it works in your environment? If it does, I think It will be changed as
if vim.fn.has('win32') then config = buffer_manager.get_config() end
I am Windows 10 / nvim 0.9.5 / loading buffer_manager at startup

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm warming up this discussion because I found a similar solution (see my fork) when trying to figure out why the width and height of the popup cannot be changed via the config.

I have little knowledge about lua but as far as I understand, the local config set in the top of the ui.lua file and used throughout it seems to be set before running any setup (at least when using lazy). So it always has the default values not matter what I set in the configuration. When getting the config in the function calls everything works as expected. So I think this and similar called in the other functions are very much needed. Or there is some more elegant solution one with lua experience can think of.

Also I'm using MacOS and Linux. So it is no Windows problem.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay. Investigated a bit more and found that it was a configuration issue on my side. I called require("buffer_manager.ui") before running the setup. So I guess it is kind of expected. Still not the behaviour I would personally expect. It would certainly be cleaner if the config would be retrieved inside the function.

if Buffer_manager_win_id ~= nil and vim.api.nvim_win_is_valid(Buffer_manager_win_id) then
if vim.api.nvim_buf_get_changedtick(vim.fn.bufnr()) > 0 then
M.on_menu_save()
Expand Down
4 changes: 4 additions & 0 deletions lua/buffer_manager/utils.lua
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ end


function M.get_short_file_name(file, current_short_fns)
local has_win = vim.fn.has('win32') == 1
if has_win then
file = file:gsub('\\','/')
end
local short_name = nil
-- Get normalized file path
file = M.normalize_path(file)
Expand Down