return { -- ╭───────────────────────────────────────╮ -- │ bufferline - for mistakes and stuff.. │ -- ╰───────────────────────────────────────╯ -- { -- "akinsho/bufferline.nvim", -- dependencies = { "echasnovski/mini.icons" }, -- version = "*", -- opts = { -- options = { -- diagnostics = "nvim_lsp", -- diagnostics_update_on_event = true, -- use nvim's diagnostic handler -- diagnostics_indicator = function(count, level) -- local icon = level:match("error") and " " or " " -- return " " .. icon .. count -- end, -- offsets = { { filetype = "neo-tree", text = "File Explorer", highlight = "Directory" } }, -- -- ─< style >─────────────────────────────────────────────────────────────────────────── -- indicator = { -- icon = "▎", -- this should be omitted if indicator style is not 'icon' -- style = "icon", -- }, -- move_wraps_at_ends = true, -- whether or not the move command "wraps" at the first or last position -- separator_style = "slope", -- -- ─< icons >─────────────────────────────────────────────────────────────────────────── -- modified_icon = "󱞇", -- left_trunc_marker = "󰬩", -- right_trunc_marker = "󰬫", -- themable = true, -- allows highlight groups to be overriden i.e. sets highlights as default -- close_icon = "󱄊", -- buffer_close_icon = "󱄊", -- show_buffer_icons = true, -- disable filetype icons for buffers -- show_buffer_close_icons = true, -- show_close_icon = true, -- show_tab_indicators = true, -- hover = { -- enabled = true, -- delay = 80, -- reveal = { "close" }, -- hide = { "nvim_lsp" }, -- }, -- -- You can set buffer_mode to "list" or "tabbed" based on your preference. -- buffer_mode = "list", -- color_icons = true, -- whether or not to add the filetype icon highlights -- }, -- }, -- config = function(_, opts) -- require("bufferline").setup(opts) -- -- Remap the tab key for buffer navigation (you can adjust the keys as needed) -- vim.keymap.set("n", "", "BufferLineCycleNext") -- vim.keymap.set("n", "", "BufferLineCyclePrev") -- end, -- }, -- ╭───────────────────────────────────╮ -- │ cmdline - for nice command inputs │ -- ╰───────────────────────────────────╯ { "VonHeikemen/fine-cmdline.nvim", dependencies = { { "MunifTanjim/nui.nvim" }, }, config = function() require("fine-cmdline").setup({ cmdline = { enable_keymaps = true, smart_history = true, prompt = " ", }, popup = { position = { row = "10%", col = "50%", }, size = { width = "60%", }, border = { style = "rounded", }, win_options = { winhighlight = "Normal:Normal,FloatBorder:FloatBorder", }, }, -- hooks = { -- before_mount = function(input) -- -- code -- end, -- after_mount = function(input) -- -- code -- end, -- set_keymaps = function(imap, feedkeys) -- -- code -- end, -- }, }) end, vim.api.nvim_set_keymap("n", ":", "FineCmdline", { noremap = true }), vim.keymap.set("n", "T", "FineCmdline"), }, -- ╭───────────────────────────────────────╮ -- │ barbecue - for a nice breadcrump menu │ -- ╰───────────────────────────────────────╯ -- { -- "utilyre/barbecue.nvim", -- name = "barbecue", -- version = "*", -- dependencies = { -- "SmiteshP/nvim-navic", -- "echasnovski/mini.icons", -- optional dependency -- }, -- opts = { -- theme = { -- -- this highlight is used to override other highlights -- -- you can take advantage of its `bg` and set a background throughout your winbar -- -- (e.g. basename will look like this: { fg = "#c0caf5", bold = true }) -- normal = { fg = "#c0caf5" }, -- -- -- these highlights correspond to symbols table from config -- ellipsis = { fg = "#737aa2" }, -- separator = { fg = "#737aa2" }, -- modified = { fg = "#737aa2" }, -- -- -- these highlights represent the _text_ of three main parts of barbecue -- dirname = { fg = "#737aa2" }, -- basename = { bold = true }, -- context = {}, -- -- -- these highlights are used for context/navic icons -- context_file = { fg = "#ac8fe4" }, -- context_module = { fg = "#ac8fe4" }, -- context_namespace = { fg = "#ac8fe4" }, -- context_package = { fg = "#ac8fe4" }, -- context_class = { fg = "#ac8fe4" }, -- context_method = { fg = "#ac8fe4" }, -- context_property = { fg = "#ac8fe4" }, -- context_field = { fg = "#ac8fe4" }, -- context_constructor = { fg = "#ac8fe4" }, -- context_enum = { fg = "#ac8fe4" }, -- context_interface = { fg = "#ac8fe4" }, -- context_function = { fg = "#ac8fe4" }, -- context_variable = { fg = "#ac8fe4" }, -- context_constant = { fg = "#ac8fe4" }, -- context_string = { fg = "#ac8fe4" }, -- context_number = { fg = "#ac8fe4" }, -- context_boolean = { fg = "#ac8fe4" }, -- context_array = { fg = "#ac8fe4" }, -- context_object = { fg = "#ac8fe4" }, -- context_key = { fg = "#ac8fe4" }, -- context_null = { fg = "#ac8fe4" }, -- context_enum_member = { fg = "#ac8fe4" }, -- context_struct = { fg = "#ac8fe4" }, -- context_event = { fg = "#ac8fe4" }, -- context_operator = { fg = "#ac8fe4" }, -- context_type_parameter = { fg = "#ac8fe4" }, -- }, -- }, -- }, -- ╭─────────────────────────────────╮ -- │ indentlines - nice indent lines │ -- ╰─────────────────────────────────╯ { "lukas-reineke/indent-blankline.nvim", event = { "BufReadPre", "BufNewFile" }, main = "ibl", opts = { indent = { char = "┊", tab_char = "┊", -- char = "│", -- tab_char = "│", }, }, }, -- ╭──────────────────╮ -- │ markdown plugins │ -- ╰──────────────────╯ { "MeanderingProgrammer/render-markdown.nvim", opts = {}, -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.icons" }, -- if you use standalone mini plugins -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons }, -- ╭────────────────────────────────────╮ -- │ notify for excellent notifications │ -- ╰────────────────────────────────────╯ -- { -- "rcarriga/nvim-notify", -- config = function() -- require("notify").setup({ -- stages = "slide", -- background_colour = "FloatShadow", -- max_width = 120, -- timeout = 2750, -- render = "wrapped-compact", -- -- Minimum/Maximum width for notification windows -- minimum_width = 30, -- maximum_width = 120, -- -- -- Function called when a new window is opened, use for changing win settings/config -- on_open = nil, -- -- -- Function called when a window is closed -- on_close = nil, -- icons = { -- ERROR = "", -- alternate symbol  -- WARN = "", -- INFO = "", -- DEBUG = "", -- TRACE = "", -- }, -- }) -- vim.notify = require("notify") -- end, -- }, -- ╭──────────────────────────────╮ -- │ slimline - nice bar for nvim │ -- ╰──────────────────────────────╯ { -- Calls `require('slimline').setup({})` "sschleemilch/slimline.nvim", opts = { bold = true, -- makes primary parts and mode bold verbose_mode = false, -- Mode as single letter or as a word style = "bg", -- or "fg". Whether highlights should be applied to bg or fg of components mode_follow_style = true, -- Whether the mode color components should follow the style option components = { -- Choose components and their location left = { "mode", -- "path", -- "git", }, center = { "path", "git", }, right = { "diagnostics", "filetype_lsp", "progress", }, }, spaces = { components = " ", -- string between components left = " ", -- string at the start of the line right = " ", -- string at the end of the line }, sep = { hide = { first = false, -- hides the first separator last = false, -- hides the last separator }, left = "", -- left separator of components right = "", -- right separator of components }, hl = { modes = { normal = "Type", -- highlight base of modes insert = "Function", pending = "Boolean", visual = "Keyword", command = "String", }, base = "Comment", -- highlight of everything in in between components primary = "Normal", -- highlight of primary parts (e.g. filename) secondary = "Comment", -- highlight of secondary parts (e.g. filepath) }, icons = { diagnostics = { ERROR = " ", WARN = " ", HINT = " ", INFO = " ", }, git = { branch = "", }, folder = " ", lines = " ", }, }, }, -- ╭────────────────────────────────────────╮ -- │ which key - to know what to press next │ -- ╰────────────────────────────────────────╯ { "folke/which-key.nvim", event = "VeryLazy", init = function() vim.o.timeout = true vim.o.timeoutlen = 350 end, opts = { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below }, }, }