diff --git a/lua/oil/config.lua b/lua/oil/config.lua index b11c641..f25fdfb 100644 --- a/lua/oil/config.lua +++ b/lua/oil/config.lua @@ -58,6 +58,10 @@ local default_config = { is_hidden_file = function(name, bufnr) return vim.startswith(name, ".") end, + -- This function defines what will never be shown, even when `show_hidden` is set + is_always_hidden = function(name, bufnr) + return false + end, }, -- Configuration for the floating window in oil.open_float float = { diff --git a/lua/oil/view.lua b/lua/oil/view.lua index fd590e1..8133669 100644 --- a/lua/oil/view.lua +++ b/lua/oil/view.lua @@ -15,7 +15,8 @@ local last_cursor_entry = {} ---@return boolean M.should_display = function(entry, bufnr) local name = entry[FIELD.name] - return config.view_options.show_hidden or not config.view_options.is_hidden_file(name, bufnr) + return not config.view_options.is_always_hidden(name, bufnr) + and (not config.view_options.is_hidden_file(name, bufnr) or config.view_options.show_hidden) end ---@param bufname string