return { { 'nvim-mini/mini.icons', version = '*', config = function() local mini_icons = require('mini.icons') mini_icons.setup() mini_icons.mock_nvim_web_devicons() end, }, { 'catppuccin/nvim', version = '*', name = 'catppuccin', lazy = false, priority = 1000, init = function() vim.cmd.colorscheme 'catppuccin-nvim' end, opts = { flavour = 'auto', background = { light = 'latte', dark = 'mocha', }, transparent_background = true, float = { transparent = false, solid = false, }, term_colors = true, show_end_of_buffer = false, integrations = { cmp = true, gitsigns = true, nvimtree = true, notify = true, }, }, }, { 'nvimdev/dashboard-nvim', dependencies = { 'nvim-mini/mini.icons', }, cond = function() return vim.g.neovide ~= nil end, event = 'VimEnter', opts = { theme = "hyper", change_to_vcs_root = true, config = { week_header = { enable = true, } }, hide = { statusline = true, tabline = true, winbar = true } }, config = function(_, opts) require('dashboard').setup(opts) -- Fix filetype error vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWinEnter' }, { callback = function() if vim.bo.filetype == '' then vim.cmd('filetype detect') end end, }) end }, { 'Bekaboo/dropbar.nvim', version = '*', event = 'LspAttach', -- optional, but required for fuzzy finder support config = function() local dropbar_api = require('dropbar.api') vim.keymap.set('n', ',,', dropbar_api.pick, { desc = 'Pick symbols in winbar' }) vim.keymap.set('n', ',h', dropbar_api.goto_context_start, { desc = 'Go to start of current context' }) vim.keymap.set('n', ',l', dropbar_api.select_next_context, { desc = 'Select next context' }) end, dependencies = { 'nvim-mini/mini.icons', }, }, { 'akinsho/bufferline.nvim', version = '4.*', event = 'VeryLazy', dependencies = { 'nvim-mini/mini.icons', }, config = function() require('bufferline').setup { options = { separator_style = 'slant', always_show_bufferline = false, auto_toggle_bufferline = true, diagnostics = 'nvim_lsp', } } vim.opt.termguicolors = true end, }, { 'nvim-lualine/lualine.nvim', version = false, event = 'VeryLazy', dependencies = { 'nvim-mini/mini.icons', }, opts = { options = { theme = 'catppuccin-nvim', disabled_filetypes = { statusline = { 'dashboard' }, winbar = { 'dashboard' }, }, ignore_focus = { 'neo-tree', 'aerial' }, } }, }, { 'rcarriga/nvim-notify', version = '3.*', event = 'VeryLazy', init = function() vim.notify = require('notify') end, opts = { background_colour = "#000000", timeout = 5000, }, }, { 'lukas-reineke/indent-blankline.nvim', version = '3.*', event = 'LspAttach', dependencies = { 'nvim-treesitter/nvim-treesitter', { 'HiPhish/rainbow-delimiters.nvim', submodules = false, event = { 'BufReadPost', 'BufNewFile' }, }, -- 'https://gitlab.com/HiPhish/rainbow-delimiters.nvim.git', }, config = function() local highlight = { "RainbowRed", "RainbowYellow", "RainbowBlue", "RainbowOrange", "RainbowGreen", "RainbowViolet", "RainbowCyan", } local hooks = require('ibl.hooks') -- create the highlight groups in the highlight setup hook, so they are reset -- every time the colorscheme changes hooks.register(hooks.type.HIGHLIGHT_SETUP, function() vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }) vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }) vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }) vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }) vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }) vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }) vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" }) end) local rainbow_delimiters = require('rainbow-delimiters') vim.g.rainbow_delimiters = { strategy = { [''] = rainbow_delimiters.strategy['global'], vim = rainbow_delimiters.strategy['local'], }, query = { [''] = 'rainbow-delimiters', lua = 'rainbow-blocks', }, priority = { [''] = 110, lua = 210, }, highlight = highlight, } require('ibl').setup { scope = { highlight = highlight }, exclude = { filetypes = { 'dashboard' }, }, } hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark) end, }, { 'nvim-neo-tree/neo-tree.nvim', version = '2.*', dependencies = { 'nvim-lua/plenary.nvim', 'MunifTanjim/nui.nvim', 'nvim-mini/mini.icons', }, keys = { { '', 'Neotree toggle reveal' }, }, opts = {}, }, { 'karb94/neoscroll.nvim', version = false, event = 'VeryLazy', opts = {}, } }