return { {"nvim-neo-tree/neo-tree.nvim", branch = "v3.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information } }, {"catppuccin/nvim", lazy=true, name="catppuccin"}, { "folke/twilight.nvim", opts = { dimming = { alpha = 0.25, -- amount of dimming -- we try to get the foreground from the highlight groups or fallback color color = { "Normal", "#ffffff" }, term_bg = "#000000", -- if guibg=NONE, this will be used to calculate text color inactive = false, -- when true, other windows will be fully dimmed (unless they contain the same buffer) }, context = 10, -- amount of lines we will try to show around the current line treesitter = true, -- use treesitter when available for the filetype -- treesitter is used to automatically expand the visible text, -- but you can further control the types of nodes that should always be fully expanded expand = { -- for treesitter, we we always try to expand to the top-most ancestor with these types "function", "method", "table", "if_statement", }, exclude = {}, -- exclude these filetypes } }, {"folke/zen-mode.nvim", opts={ window = { backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal -- height and width can be: -- * an absolute number of cells when > 1 -- * a percentage of the width / height of the editor when <= 1 -- * a function that returns the width or the height width = 120, -- width of the Zen window height = 1, -- height of the Zen window -- by default, no options are changed for the Zen window -- uncomment any of the options below, or add other vim.wo options you want to apply options = { -- signcolumn = "no", -- disable signcolumn -- number = false, -- disable number column -- relativenumber = false, -- disable relative numbers -- cursorline = false, -- disable cursorline -- cursorcolumn = false, -- disable cursor column -- foldcolumn = "0", -- disable fold column -- list = false, -- disable whitespace characters }, }, plugins = { -- disable some global vim options (vim.o...) -- comment the lines to not apply the options options = { enabled = true, ruler = false, -- disables the ruler text in the cmd line area showcmd = false, -- disables the command in the last line of the screen -- you may turn on/off statusline in zen mode by setting 'laststatus' -- statusline will be shown only if 'laststatus' == 3 laststatus = 0, -- turn off the statusline in zen mode }, twilight = { enabled = true }, -- enable to start Twilight when zen mode opens gitsigns = { enabled = false }, -- disables git signs tmux = { enabled = false }, -- disables the tmux statusline -- this will change the font size on kitty when in zen mode -- to make this work, you need to set the following kitty options: -- - allow_remote_control socket-only -- - listen_on unix:/tmp/kitty kitty = { enabled = true, font = "+4", -- font size increment }, -- this will change the font size on alacritty when in zen mode -- requires Alacritty Version 0.10.0 or higher -- uses `alacritty msg` subcommand to change font size alacritty = { enabled = false, font = "14", -- font size }, -- this will change the font size on wezterm when in zen mode -- See alse also the Plugins/Wezterm section in this projects README wezterm = { enabled = true, -- can be either an absolute font size or the number of incremental steps font = "+4", -- (10% increase per step) }, }, }}, { "akinsho/bufferline.nvim", event = "VeryLazy", keys = { { "bp", "BufferLineTogglePin", desc = "Toggle Pin" }, { "bP", "BufferLineGroupClose ungrouped", desc = "Delete Non-Pinned Buffers" }, { "br", "BufferLineCloseRight", desc = "Delete Buffers to the Right" }, { "bl", "BufferLineCloseLeft", desc = "Delete Buffers to the Left" }, { "", "BufferLineCyclePrev", desc = "Prev Buffer" }, { "", "BufferLineCycleNext", desc = "Next Buffer" }, { "[b", "BufferLineCyclePrev", desc = "Prev Buffer" }, { "]b", "BufferLineCycleNext", desc = "Next Buffer" }, { "[B", "BufferLineMovePrev", desc = "Move buffer prev" }, { "]B", "BufferLineMoveNext", desc = "Move buffer next" }, }, opts = { options = { -- stylua: ignore -- close_command = function(n) Snacks.bufdelete(n) end, -- stylua: ignore -- right_mouse_command = function(n) Snacks.bufdelete(n) end, diagnostics = "nvim_lsp", always_show_bufferline = false, -- diagnostics_indicator = function(_, _, diag) -- local icons = LazyVim.config.icons.diagnostics -- local ret = (diag.error and icons.Error .. diag.error .. " " or "") -- .. (diag.warning and icons.Warn .. diag.warning or "") -- return vim.trim(ret) -- end, offsets = { { filetype = "neo-tree", text = "Neo-tree", highlight = "Directory", text_align = "left", }, }, -- ---@param opts bufferline.IconFetcherOpts -- get_element_icon = function(opts) -- return LazyVim.config.icons.ft[opts.filetype] -- end, }, }, config = function(_, opts) require("bufferline").setup(opts) -- Fix bufferline when restoring a session vim.api.nvim_create_autocmd({ "BufAdd", "BufDelete" }, { callback = function() vim.schedule(function() pcall(nvim_bufferline) end) end, }) end, }, {"rhysd/committia.vim"}, }