return { { "folke/snacks.nvim", priority = 1000, lazy = false, ---@type snacks.Config opts = { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below explorer = { enabled = true, replace_netrw = true, }, picker = { enabled = true, }, matcher = { cwd_bonus = true, ignorecase = true, -- use ignorecase filename_bonus = true, -- give bonus for matching file names (last part of the path) frecency = true, -- frecency bonus history_bonus = true, }, }, init = function () local snacks = require('snacks') vim.keymap.set('n', 'e', function () snacks.picker.explorer() end, { noremap = true, silent = true }) vim.keymap.set('n', 'f', snacks.picker.files, { noremap = true, silent = true }) vim.keymap.set('n', 'g', snacks.picker.grep, { noremap = true, silent = true }) end }, { 'romgrk/barbar.nvim', dependencies = { 'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status 'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons }, init = function() vim.g.barbar_auto_setup = false end, opts = { animation = true, sidebar_filetypes = { ['snacks_picker_list'] = true } }, version = '^1.0.0', -- optional: only update when a new 1.x version is released }, { "voldikss/vim-floaterm", init = function () vim.g.floaterm_giteditor = false vim.keymap.set('n', 'cw', ':FloatermNew git commit', { noremap = true, silent = true }) end }, { "folke/tokyonight.nvim", lazy = false, priority = 1000, opts = {}, init = function () vim.cmd[[colorscheme tokyonight-night]] -- show column for character limit 80 -- isn't directly related to colorscheme, -- but related to colorscheme colors vim.cmd[[hi ColorColumn ctermbg=lightgrey guibg=#20303b]] vim.cmd[[set colorcolumn=80]] end }, { "folke/zen-mode.nvim", opts = { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below window = { backdrop = 0.65, }, }, }, { "folke/twilight.nvim", opts = { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below } }, -- { -- "ggandor/leap.nvim", -- opts = {}, -- }, -- { -- 'smoka7/hop.nvim', -- version = "*", -- opts = { -- keys = 'etovxqpdygfblzhckisuran' -- }, -- init = function () -- vim.keymap.set('n', 'f', require('hop').hint_words, { noremap = true, silent = true }) -- end -- }, { "folke/flash.nvim", event = "VeryLazy", ---@type Flash.Config opts = {}, -- stylua: ignore keys = { -- { "f", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" }, -- { "F", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" }, -- { "r", mode = "n", function() require("flash").remote() end, desc = "Remote Flash" }, -- { "R", mode = { "n", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, -- { "", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" }, { "r", mode = "n", function() require("flash").remote() end, desc = "Remote Flash" }, { "R", mode = { "n", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, }, }, { 'stevearc/oil.nvim', ---@module 'oil' ---@type oil.SetupOpts opts = {}, -- Optional dependencies dependencies = { { "echasnovski/mini.icons", opts = {} } }, -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations. lazy = false, }, { "folke/noice.nvim", event = "VeryLazy", opts = { -- add any options here messages = { enabled = false, }, }, dependencies = { -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries "MunifTanjim/nui.nvim", -- OPTIONAL: -- `nvim-notify` is only needed, if you want to use the notification view. -- If not available, we use `mini` as the fallback "rcarriga/nvim-notify", } }, { "Isrothy/neominimap.nvim", version = "v3.x.x", lazy = false, -- NOTE: NO NEED to Lazy load -- Optional. You can alse set your own keybindings keys = { -- Global Minimap Controls { "mm", "Neominimap Toggle", desc = "Toggle global minimap" }, -- { "no", "Neominimap Enable", desc = "Enable global minimap" }, -- { "nc", "Neominimap Disable", desc = "Disable global minimap" }, -- { "nr", "Neominimap Refresh", desc = "Refresh global minimap" }, -- Window-Specific Minimap Controls { "nwt", "Neominimap WinToggle", desc = "Toggle minimap for current window" }, { "nwr", "Neominimap WinRefresh", desc = "Refresh minimap for current window" }, { "nwo", "Neominimap WinEnable", desc = "Enable minimap for current window" }, { "nwc", "Neominimap WinDisable", desc = "Disable minimap for current window" }, -- Tab-Specific Minimap Controls { "ntt", "Neominimap TabToggle", desc = "Toggle minimap for current tab" }, { "ntr", "Neominimap TabRefresh", desc = "Refresh minimap for current tab" }, { "nto", "Neominimap TabEnable", desc = "Enable minimap for current tab" }, { "ntc", "Neominimap TabDisable", desc = "Disable minimap for current tab" }, -- Buffer-Specific Minimap Controls { "nbt", "Neominimap BufToggle", desc = "Toggle minimap for current buffer" }, { "nbr", "Neominimap BufRefresh", desc = "Refresh minimap for current buffer" }, { "nbo", "Neominimap BufEnable", desc = "Enable minimap for current buffer" }, { "nbc", "Neominimap BufDisable", desc = "Disable minimap for current buffer" }, ---Focus Controls { "nf", "Neominimap Focus", desc = "Focus on minimap" }, { "nu", "Neominimap Unfocus", desc = "Unfocus minimap" }, { "ns", "Neominimap ToggleFocus", desc = "Switch focus on minimap" }, }, init = function() -- The following options are recommended when layout == "float" vim.opt.wrap = false vim.opt.sidescrolloff = 36 -- Set a large value --- Put your configuration here ---@type Neominimap.UserConfig vim.g.neominimap = { auto_enable = false, } end, }, }