193 lines
7.5 KiB
Lua
193 lines
7.5 KiB
Lua
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', '<leader>e', function ()
|
|
snacks.picker.explorer()
|
|
end, { noremap = true, silent = true })
|
|
vim.keymap.set('n', '<leader>f', snacks.picker.files, { noremap = true, silent = true })
|
|
vim.keymap.set('n', '<leader>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', '<leader>cw', '<cmd>:FloatermNew git commit<cr>', { 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" },
|
|
-- { "<c-s>", 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
|
|
{ "<leader>mm", "<cmd>Neominimap Toggle<cr>", desc = "Toggle global minimap" },
|
|
-- { "<leader>no", "<cmd>Neominimap Enable<cr>", desc = "Enable global minimap" },
|
|
-- { "<leader>nc", "<cmd>Neominimap Disable<cr>", desc = "Disable global minimap" },
|
|
-- { "<leader>nr", "<cmd>Neominimap Refresh<cr>", desc = "Refresh global minimap" },
|
|
-- Window-Specific Minimap Controls
|
|
{ "<leader>nwt", "<cmd>Neominimap WinToggle<cr>", desc = "Toggle minimap for current window" },
|
|
{ "<leader>nwr", "<cmd>Neominimap WinRefresh<cr>", desc = "Refresh minimap for current window" },
|
|
{ "<leader>nwo", "<cmd>Neominimap WinEnable<cr>", desc = "Enable minimap for current window" },
|
|
{ "<leader>nwc", "<cmd>Neominimap WinDisable<cr>", desc = "Disable minimap for current window" },
|
|
-- Tab-Specific Minimap Controls
|
|
{ "<leader>ntt", "<cmd>Neominimap TabToggle<cr>", desc = "Toggle minimap for current tab" },
|
|
{ "<leader>ntr", "<cmd>Neominimap TabRefresh<cr>", desc = "Refresh minimap for current tab" },
|
|
{ "<leader>nto", "<cmd>Neominimap TabEnable<cr>", desc = "Enable minimap for current tab" },
|
|
{ "<leader>ntc", "<cmd>Neominimap TabDisable<cr>", desc = "Disable minimap for current tab" },
|
|
-- Buffer-Specific Minimap Controls
|
|
{ "<leader>nbt", "<cmd>Neominimap BufToggle<cr>", desc = "Toggle minimap for current buffer" },
|
|
{ "<leader>nbr", "<cmd>Neominimap BufRefresh<cr>", desc = "Refresh minimap for current buffer" },
|
|
{ "<leader>nbo", "<cmd>Neominimap BufEnable<cr>", desc = "Enable minimap for current buffer" },
|
|
{ "<leader>nbc", "<cmd>Neominimap BufDisable<cr>", desc = "Disable minimap for current buffer" },
|
|
---Focus Controls
|
|
{ "<leader>nf", "<cmd>Neominimap Focus<cr>", desc = "Focus on minimap" },
|
|
{ "<leader>nu", "<cmd>Neominimap Unfocus<cr>", desc = "Unfocus minimap" },
|
|
{ "<leader>ns", "<cmd>Neominimap ToggleFocus<cr>", 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,
|
|
},
|
|
}
|