local M = {} local home_dir = vim.loop.os_homedir() M.config = function(config) options.builtin.dashboard = { active = false, on_config_done = nil, search_handler = "telescope", disable_at_vim_enter = 0, session_directory = home_dir .. "/.cache/options/sessions", custom_header = { " ##############..... ############## ", " ##############......############## ", " ##########..........########## ", " ##########........########## ", " ##########.......########## ", " ##########.....##########.. ", " ##########....##########..... ", " ..##########..##########......... ", " ....##########.#########............. ", " ..################JJJ............ ", " ################............. ", " ##############.JJJ.JJJJJJJJJJ ", " ############...JJ...JJ..JJ JJ ", " ##########....JJ...JJ..JJ JJ ", " ########......JJJ..JJJ JJJ JJJ ", " ###### ......... ", " ..... ", " . ", }, custom_section = { a = { description = { " Find File " }, command = "Telescope find_files", }, b = { description = { " Recent Projects " }, command = "Telescope projects", }, c = { description = { " Recently Used Files" }, command = "Telescope oldfiles", }, d = { description = { " Find Word " }, command = "Telescope live_grep", }, e = { description = { " Configuration " }, command = ":e " .. config.path, }, }, } end M.setup = function() vim.g.dashboard_disable_at_vimenter = options.builtin.dashboard.disable_at_vim_enter vim.g.dashboard_custom_header = options.builtin.dashboard.custom_header vim.g.dashboard_default_executive = options.builtin.dashboard.search_handler vim.g.dashboard_custom_section = options.builtin.dashboard.custom_section options.builtin.which_key.mappings[";"] = { "Dashboard", "Dashboard" } vim.g.dashboard_session_directory = options.builtin.dashboard.session_directory vim.cmd "let packages = len(globpath('~/.local/share/lunarvim/site/pack/packer/start', '*', 0, 1))" vim.api.nvim_exec( [[ let g:dashboard_custom_footer = ['LunarVim loaded '..packages..' plugins  '] ]], false ) require("core.autocmds").define_augroups { _dashboard = { -- seems to be nobuflisted that makes my stuff disappear will do more testing { "FileType", "dashboard", "setlocal nocursorline noswapfile synmaxcol& signcolumn=no norelativenumber nocursorcolumn nospell nolist nonumber bufhidden=wipe colorcolumn= foldcolumn=0 matchpairs= ", }, { "FileType", "dashboard", "set showtabline=0 | autocmd BufLeave set showtabline=" .. vim.opt.showtabline._value, }, { "FileType", "dashboard", "nnoremap q :q" }, }, } if options.builtin.dashboard.on_config_done then options.builtin.dashboard.on_config_done() end end return M