diff --git a/lua/oil/config.lua b/lua/oil/config.lua index f239f714..45f54464 100644 --- a/lua/oil/config.lua +++ b/lua/oil/config.lua @@ -56,6 +56,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_excluded = 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 dca38448..b07ca52e 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_excluded(name, bufnr) + and (not config.view_options.is_hidden_file(name, bufnr) or config.view_options.show_hidden) end ---@param bufname string