Fancy and Blazing Fast start screen plugin of neovim

|
Hyper
|
Doom
| | --- | --- | |
|
| # Feature - Low memory usage. dashboard does not store the all user configs in memory like header etc these string will take some memory. now it will be clean after you open a file. you can still use dashboard command to open a new one , then dashboard will read the config from cache. - Blazing fast # Install - Lazy.nvim ```lua { 'nvimdev/dashboard-nvim', event = 'VimEnter', config = function() require('dashboard').setup { -- config } end, dependencies = { {'nvim-tree/nvim-web-devicons'}} } ``` - Packer ```lua use { 'nvimdev/dashboard-nvim', event = 'VimEnter', config = function() require('dashboard').setup { -- config } end, requires = {'nvim-tree/nvim-web-devicons'} } ``` # Configuration ## Options ```lua theme = 'hyper' -- theme is doom and hyper default is hyper disable_move -- default is false disable move keymap for hyper shortcut_type -- shorcut type 'letter' or 'number' change_to_vcs_root -- default is false,for open file in hyper mru. it will change to the root of vcs config = {}, -- config used for theme hide = { statusline -- hide statusline default is true tabline -- hide the tabline winbar -- hide winbar }, preview = { command -- preview command file_path -- preview file path file_height -- preview file height file_width -- preview file width }, ``` ## Theme config the `config` field is used for theme. general field ```lua config = { header -- type is table def week_header = { enable --boolean use a week header concat --concat string after time string line append --table append after time string line }, disable_move -- boolean default is false disable move key } ``` ### Hyper when use `hyper` theme the available options in `config` is ```lua config = { shortcut = { -- action can be a function type { desc = string, group = 'highlight group', key = 'shortcut key', action = 'action when you press key' }, }, packages = { enable = true }, -- show how many plugins neovim loaded -- limit how many projects list, action when you press key or enter it will run this action. -- action can be a functino 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 = { limit = 10, icon = 'your icon', label = '', cwd_only = false }, footer = {}, -- footer } ``` ### Doom when use `doom` theme the available options in `config` is ```lua config = { center = { { icon = '', icon_hl = 'group', desc = 'description', desc_hl = 'group', key = 'shortcut key in dashboard buffer not keymap !!', key_hl = 'group', key_format = ' [%s]', -- `%s` will be substituted with value of `key` action = '', }, }, footer = {}, } ``` notice if you don't link config every highlight group. you can ignore this key. dashboard will use default highlight group like `DashboardKey/Icon/Desc` instead ### Commands - `Dashboard` open dashboard - `DbProjectDelete count` delete project in cache works for hyper theme. count is number - `DashboardUpdateFooter` updates the content of the Footer ### Highlight all highlight groups ``` -- General DashboardHeader DashboardFooter -- Hyper theme DashboardProjectTitle DashboardProjectTitleIcon DashboardProjectIcon DashboardMruTitle DashboardMruIcon DashboardFiles DashboardShortCutIcon -- Doome theme DashboardDesc DashboardKey DashboardIcon DashboardShortCut ``` ### Example config example config of screenshot
Hyper ```lua db.setup({ theme = 'hyper', config = { week_header = { enable = true, }, shortcut = { { desc = '󰊳 Update', group = '@property', action = 'Lazy update', key = 'u' }, { icon = ' ', icon_hl = '@variable', desc = 'Files', group = 'Label', action = 'Telescope find_files', key = 'f', }, { desc = ' Apps', group = 'DiagnosticHint', action = 'Telescope app', key = 'a', }, { desc = ' dotfiles', group = 'Number', action = 'Telescope dotfiles', key = 'd', }, }, }, }) ```
Doom ```lua db.setup({ theme = 'doom', config = { header = {}, --your header center = { { icon = ' ', icon_hl = 'Title', desc = 'Find File ', desc_hl = 'String', key = 'b', keymap = 'SPC f f', key_hl = 'Number', key_format = ' %s', -- remove default surrounding `[]` action = 'lua print(2)' }, { icon = ' ', desc = 'Find Dotfiles', key = 'f', keymap = 'SPC f d', key_format = ' %s', -- remove default surrounding `[]` action = 'lua print(3)' }, }, footer = {} --your footer } }) ```