101 lines
3.4 KiB
Lua
101 lines
3.4 KiB
Lua
return {
|
|
{
|
|
'uga-rosa/ccc.nvim',
|
|
opts = { highlighter = { auto_enable = true } },
|
|
keys = {
|
|
{ '<leader>cp', '<cmd>CccPick<cr>', desc = '[C]olor [P]icker' },
|
|
{ '<leader>ct', '<cmd>CccHighlighterToggle<cr>', desc = '[C]olor [T]oggle' },
|
|
},
|
|
},
|
|
{
|
|
'okuuva/auto-save.nvim',
|
|
cmd = 'ASToggle',
|
|
event = { 'InsertLeave', 'TextChanged' },
|
|
opts = {
|
|
execution_message = { enabled = false },
|
|
condition = function(buf)
|
|
return vim.fn.getbufvar(buf, '&buftype') == ''
|
|
end,
|
|
},
|
|
},
|
|
{
|
|
'rmagatti/auto-session',
|
|
config = function()
|
|
vim.opt.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions'
|
|
require('auto-session').setup({
|
|
log_level = 'error',
|
|
auto_session_suppress_dirs = { '~/', '/' },
|
|
})
|
|
local session = require('auto-session.session-lens')
|
|
vim.keymap.set('n', '<C-s>', session.search_session, { desc = '[S]ession Manager' })
|
|
end,
|
|
},
|
|
{ 'wakatime/vim-wakatime', lazy = false },
|
|
{
|
|
'mbbill/undotree',
|
|
keys = { { '<leader>ut', vim.cmd.UndotreeToggle } },
|
|
config = function()
|
|
vim.g.undotree_DiffAutoOpen = false
|
|
vim.g.undotree_DiffpanelHeight = 0
|
|
vim.g.undotree_SetFocusWhenToggle = false
|
|
vim.g.undotree_HelpLine = false
|
|
vim.g.undotree_TreeNodeShape = ''
|
|
vim.g.undotree_TreeVertShape = '│'
|
|
vim.g.undotree_TreeSplitShape = '─┘'
|
|
vim.g.undotree_TreeReturnShape = '─┐'
|
|
end,
|
|
},
|
|
-- NOTE: No keybindings, use `:Spectre` or `:Spectre <file>`
|
|
-- Spectre has no undo, so it should be rarely used, which is why no keybindings are defined
|
|
{ 'nvim-pack/nvim-spectre', cmd = 'Spectre', config = true },
|
|
{
|
|
'echasnovski/mini.nvim',
|
|
lazy = true,
|
|
version = false,
|
|
init = function()
|
|
local function quit_buffer()
|
|
if vim.bo.modified then
|
|
vim.cmd.write()
|
|
end
|
|
require('mini.bufremove').delete(0)
|
|
end
|
|
vim.keymap.set('n', 'Q', quit_buffer, { desc = '[Q]uit Buffer' })
|
|
end,
|
|
},
|
|
{
|
|
'kylechui/nvim-surround',
|
|
version = '*',
|
|
config = true,
|
|
keys = {
|
|
{ '(', '<Plug>(nvim-surround-visual)(', mode = 'v' },
|
|
{ ')', '<Plug>(nvim-surround-visual))', mode = 'v' },
|
|
{ '{', '<Plug>(nvim-surround-visual){', mode = 'v' },
|
|
{ '}', '<Plug>(nvim-surround-visual)}', mode = 'v' },
|
|
{ '[', '<Plug>(nvim-surround-visual)[', mode = 'v' },
|
|
{ '`', '<Plug>(nvim-surround-visual)`', mode = 'v' },
|
|
'cs',
|
|
'ds',
|
|
'ys',
|
|
},
|
|
},
|
|
{
|
|
-- TODO: Make sure it uses a diff color
|
|
-- the color rn is too similar to visual mode
|
|
'RRethy/vim-illuminate',
|
|
config = function()
|
|
vim.keymap.set('n', '<leader>it', '<cmd>IlluminateToggle<cr>', { desc = '[I]lluminate [Tloggle]' })
|
|
end,
|
|
},
|
|
{
|
|
'lukas-reineke/indent-blankline.nvim',
|
|
main = 'ibl',
|
|
event = 'BufEnter',
|
|
opts = {
|
|
scope = {
|
|
show_start = false,
|
|
show_end = false,
|
|
},
|
|
},
|
|
},
|
|
}
|