diff --git a/README.md b/README.md index e4a9386..4d4d44e 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ config = { -- action can be a function type, e.g. -- action = func(path) vim.cmd('Telescope find_files cwd=' .. path) end project = { enable = true, limit = 8, icon = 'your icon', label = '', action = 'Telescope find_files cwd=' }, - mru = { enable = true, limit = 10, icon = 'your icon', label = '', cwd_only = false }, + mru = { enable = true, limit = 10, icon = 'your icon', label = '', cwd_only = false, excluded_paths = { '/path/to/exclude/' } }, footer = {}, -- footer } ``` diff --git a/lua/dashboard/theme/hyper.lua b/lua/dashboard/theme/hyper.lua index b03b4a4..d5d743f 100644 --- a/lua/dashboard/theme/hyper.lua +++ b/lua/dashboard/theme/hyper.lua @@ -176,6 +176,7 @@ local function mru_list(config) label = ' Most Recent Files:', cwd_only = false, enable = true, + excluded_paths = {}, }, config.mru or {}) if not config.mru.enable then @@ -201,6 +202,21 @@ local function mru_list(config) end, mlist) end + if next(config.mru.excluded_paths) ~= nil then -- check if table exists + mlist = vim.tbl_filter(function(file) + local file_path = vim.fn.fnamemodify(file, ':p') + local file_dir = vim.fn.fnamemodify(file_path, ':h') .. '/' + for _, exclude in ipairs(config.mru.excluded_paths) do + local exclude_path = vim.fn.fnamemodify(exclude, ':p') + local exclude_dir = vim.fn.fnamemodify(exclude_path, ':h') .. '/' + if file_dir:sub(1, #exclude_dir) == exclude_dir then + return false + end + end + return true + end, mlist) + end + local blank_size = config.shortcuts_left_side and 4 or 3 for _, file in pairs(vim.list_slice(mlist, 1, config.mru.limit)) do local filename = vim.fn.fnamemodify(file, ':t')