213 lines
6.9 KiB
Lua
213 lines
6.9 KiB
Lua
local icons = require("lazyvim.config.icons")
|
|
|
|
return {
|
|
{
|
|
"nvim-lua/plenary.nvim",
|
|
},
|
|
{
|
|
"RRethy/vim-illuminate",
|
|
event = "BufReadPost",
|
|
config = function()
|
|
require("illuminate").configure({ delay = 200 })
|
|
end,
|
|
-- stylua: ignore
|
|
keys = {
|
|
{ "]]", function() require("illuminate").goto_next_reference(false) end, desc = "Next Reference", },
|
|
{ "[[", function() require("illuminate").goto_prev_reference(false) end, desc = "Prev Reference" },
|
|
},
|
|
},
|
|
{
|
|
"nvim-lua/popup.nvim",
|
|
},
|
|
{
|
|
"folke/neodev.nvim",
|
|
},
|
|
-- {
|
|
-- "rcarriga/nvim-notify",
|
|
-- opts = {
|
|
-- -- Animation style (see below for details)
|
|
-- stages = "static",
|
|
--
|
|
-- -- Render function for notifications. See notify-render()
|
|
-- render = "default",
|
|
--
|
|
-- -- Default timeout for notifications
|
|
-- timeout = 2000,
|
|
--
|
|
-- -- For stages that change opacity this is treated as the highlight behind the window
|
|
-- -- Set this to either a highlight group or an RGB hex value e.g. "#000000"
|
|
-- background_colour = "Normal",
|
|
--
|
|
-- -- Minimum width for notification windows
|
|
-- minimum_width = 10,
|
|
--
|
|
-- -- Icons for the different levels
|
|
-- icons = {
|
|
-- ERROR = icons.diagnostics.Error,
|
|
-- WARN = icons.diagnostics.Warning,
|
|
-- INFO = icons.diagnostics.Information,
|
|
-- DEBUG = icons.ui.Bug,
|
|
-- TRACE = icons.ui.Pencil,
|
|
-- },
|
|
-- },
|
|
-- },
|
|
{
|
|
"echasnovski/mini.bufremove",
|
|
event = "VeryLazy",
|
|
-- stylua: ignore
|
|
keys = {
|
|
{ "<leader>bd", function() require("mini.bufremove").delete(0, false) end, desc = "Delete Buffer" },
|
|
{ "<leader>bD", function() require("mini.bufremove").delete(0, true) end, desc = "Delete Buffer (Force)" },
|
|
},
|
|
},
|
|
-- {
|
|
-- "ghillb/cybu.nvim",
|
|
-- event = "VeryLazy",
|
|
-- keys = {
|
|
-- { "<leader>bl", "<cmd>CybuNext<cr>", desc = "Next Buffer" },
|
|
-- { "<leader>bh", "<cmd>CybuPrev<cr>", desc = "Prev Buffer" },
|
|
-- },
|
|
-- opts = {
|
|
-- position = {
|
|
-- relative_to = "win", -- win, editor, cursor
|
|
-- anchor = "topright", -- topleft, topcenter, topright,
|
|
-- -- centerleft, center, centerright,
|
|
-- -- bottomleft, bottomcenter, bottomright
|
|
-- -- vertical_offset = 10, -- vertical offset from anchor in lines
|
|
-- -- horizontal_offset = 0, -- vertical offset from anchor in columns
|
|
-- -- max_win_height = 5, -- height of cybu window in lines
|
|
-- -- max_win_width = 0.5, -- integer for absolute in columns
|
|
-- -- float for relative to win/editor width
|
|
-- },
|
|
-- display_time = 1750, -- time the cybu window is displayed
|
|
-- style = {
|
|
-- separator = " ", -- string used as separator
|
|
-- prefix = "…", -- string used as prefix for truncated paths
|
|
-- padding = 1, -- left & right padding in number of spaces
|
|
-- hide_buffer_id = true,
|
|
-- devicons = {
|
|
-- enabled = true, -- enable or disable web dev icons
|
|
-- colored = true, -- enable color for web dev icons
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- },
|
|
{
|
|
"mbbill/undotree",
|
|
cmd = { "UndotreeToggle" },
|
|
},
|
|
{
|
|
"MunifTanjim/nui.nvim",
|
|
},
|
|
{
|
|
"kyazdani42/nvim-web-devicons",
|
|
},
|
|
{
|
|
"lukas-reineke/indent-blankline.nvim",
|
|
opts = {},
|
|
},
|
|
-- {
|
|
-- "windwp/nvim-autopairs",
|
|
-- event = "VeryLazy",
|
|
-- opts = {
|
|
-- disable_filetype = { "TelescopePrompt", "spectre_panel" },
|
|
-- ignored_next_char = "[%w%.*]", -- don't place autopairs when cursor sits infront of any character.
|
|
-- },
|
|
-- config = function(_, opts)
|
|
-- require("nvim-autopairs").setup(opts)
|
|
-- end,
|
|
-- },
|
|
{
|
|
"preservim/vim-markdown",
|
|
},
|
|
{
|
|
"nacro90/numb.nvim",
|
|
event = "BufEnter",
|
|
config = function()
|
|
require("numb").setup({
|
|
show_numbers = true, -- enable 'number' for the window while peeking
|
|
show_cursorline = true, -- enable 'cursorline' for window wdile peeking
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"junegunn/vim-slash",
|
|
},
|
|
{
|
|
"folke/zen-mode.nvim",
|
|
cmd = { "ZenMode" },
|
|
config = function()
|
|
require("zen-mode").setup({
|
|
window = {
|
|
backdrop = 1,
|
|
height = 0.9,
|
|
width = 80,
|
|
options = {
|
|
signcolumn = "no",
|
|
number = false,
|
|
relativenumber = false,
|
|
cursorline = true,
|
|
cursorcolumn = false, -- disable cursor column
|
|
},
|
|
},
|
|
plugins = {
|
|
gitsigns = { enabled = false },
|
|
tmux = { enabled = false },
|
|
twilight = { enabled = false },
|
|
},
|
|
on_open = function()
|
|
vim.g.cmp_active = false
|
|
vim.cmd([[LspStop]])
|
|
vim.opt.sidescrolloff = 0
|
|
end,
|
|
on_close = function()
|
|
vim.g.cmp_active = true
|
|
vim.cmd([[LspStart]])
|
|
vim.opt.sidescrolloff = 8
|
|
end,
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"echasnovski/mini.surround",
|
|
keys = { "gz" },
|
|
opts = {
|
|
mappings = {
|
|
add = "gza", -- Add surrounding in Normal and Visual modes
|
|
delete = "gzd", -- Delete surrounding
|
|
find = "gzf", -- Find surrounding (to the right)
|
|
find_left = "gzF", -- Find surrounding (to the left)
|
|
highlight = "gzh", -- Highlight surrounding
|
|
replace = "gzr", -- Replace surrounding
|
|
update_n_lines = "gzn", -- Update `n_lines`
|
|
},
|
|
},
|
|
config = function(_, opts)
|
|
-- use gz mappings instead of s to prevent conflict with leap
|
|
require("mini.surround").setup(opts)
|
|
end,
|
|
},
|
|
{
|
|
"danymat/neogen",
|
|
event = "BufEnter",
|
|
config = function()
|
|
require("neogen").setup({
|
|
enabled = true,
|
|
input_after_comment = true,
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"SmiteshP/nvim-navic",
|
|
init = function()
|
|
vim.g.navic_silence = true
|
|
require("lazyvim.utils").on_attach(function(client, buffer)
|
|
if client.server_capabilities.documentSymbolProvider then
|
|
require("nvim-navic").attach(client, buffer)
|
|
end
|
|
end)
|
|
end,
|
|
opts = { separator = " ", highlight = true, depth_limit = 5 },
|
|
},
|
|
}
|