From 19ab948e25825a1b8823a391b733cc461f3010f7 Mon Sep 17 00:00:00 2001 From: nyngwang Date: Sun, 5 Mar 2023 23:57:33 +0800 Subject: [PATCH] feat: add `setup.view_options.is_excluded` --- lua/oil/config.lua | 4 ++++ lua/oil/view.lua | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lua/oil/config.lua b/lua/oil/config.lua index f239f71..45f5446 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 dca3844..b07ca52 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