config/.config/nvim/lua/lazyvim/plugins/utility.lua
2023-02-04 19:18:17 +10:30

235 lines
6.0 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 = "fade_in_slide_out",
-- 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",
event = "BufReadPre",
config = function()
vim.g.indent_blankline_buftype_exclude = { "terminal", "nofile" }
vim.g.indent_blankline_filetype_exclude = {
"help",
"startify",
"dashboard",
"packer",
"neogitstatus",
"NvimTree",
"Trouble",
"text",
}
vim.g.indentLine_enabled = 1
vim.g.indent_blankline_char = ""
vim.g.indent_blankline_show_trailing_blankline_indent = false
vim.g.indent_blankline_show_first_indent_level = true
vim.g.indent_blankline_use_treesitter = false
vim.g.indent_blankline_show_current_context = true
require("indent_blankline").setup({
show_current_context = true,
})
end,
},
{
"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]])
end,
on_close = function()
vim.g.cmp_active = true
vim.cmd([[LspStart]])
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 },
},
}