195 lines
6.9 KiB
Lua
195 lines
6.9 KiB
Lua
local tabline_provider = require('user.config.vars').tabline_provider
|
|
|
|
return {
|
|
{
|
|
'goolord/alpha-nvim',
|
|
event = 'VimEnter',
|
|
opts = function()
|
|
return require('user.plugins.ui.alpha')
|
|
end,
|
|
config = function(_, opts)
|
|
require('alpha').setup(opts)
|
|
|
|
-- Disable tabline in Alpha buffer
|
|
local showtabline_val = vim.o.showtabline
|
|
if showtabline_val ~= 0 then
|
|
vim.api.nvim_create_autocmd('User', {
|
|
pattern = 'AlphaReady',
|
|
callback = function()
|
|
vim.opt.showtabline = 0
|
|
vim.api.nvim_create_autocmd('BufUnload', {
|
|
buffer = 0,
|
|
once = true,
|
|
callback = function()
|
|
vim.opt.showtabline = showtabline_val
|
|
end,
|
|
})
|
|
end,
|
|
})
|
|
end
|
|
end,
|
|
},
|
|
{
|
|
'tiagovla/scope.nvim',
|
|
event = 'VeryLazy',
|
|
keys = {
|
|
{
|
|
'<leader>fB',
|
|
function()
|
|
require('telescope').load_extension('scope')
|
|
vim.cmd.Telescope { args = { 'scope', 'buffers' }}
|
|
end,
|
|
desc = 'Scoped buffers',
|
|
},
|
|
},
|
|
config = true,
|
|
},
|
|
{
|
|
'nanozuki/tabby.nvim',
|
|
enabled = vim.o.showtabline ~= 0 and tabline_provider == 'tabby',
|
|
event = 'VeryLazy',
|
|
config = function()
|
|
require('user.plugins.ui.tabby')
|
|
end,
|
|
},
|
|
{
|
|
'willothy/nvim-cokeline',
|
|
enabled = vim.o.showtabline ~= 0 and tabline_provider == 'cokeline',
|
|
event = 'VeryLazy',
|
|
keys = {
|
|
{ '[b', '<Plug>(cokeline-focus-prev)', desc = 'Previous buffer' },
|
|
{ ']b', '<Plug>(cokeline-focus-next)', desc = 'Next buffer' },
|
|
{ '<localleader>b', function() require('cokeline.mappings').pick('focus') end, desc = 'Pick buffer' },
|
|
{ '<localleader>q', function() require('cokeline.mappings').pick('close') end, desc = 'Close picked buffer' },
|
|
},
|
|
opts = function()
|
|
return require('user.plugins.ui.cokeline')
|
|
end,
|
|
},
|
|
{
|
|
'rebelot/heirline.nvim',
|
|
event = 'UIEnter',
|
|
config = function()
|
|
require('user.plugins.ui.heirline')
|
|
end,
|
|
},
|
|
{
|
|
'nvim-tree/nvim-tree.lua',
|
|
cmd = { 'NvimTreeToggle', 'NvimTreeFindFileToggle', 'NvimTreeFocus' },
|
|
keys = {
|
|
{ '<leader>n', function() require('nvim-tree.api').tree.toggle(false, true) end, desc = 'NvimTree' },
|
|
{ '<leader>N', function() require('nvim-tree.api').tree.focus() end, desc = 'NvimTree (focus)' },
|
|
},
|
|
opts = require('user.plugins.ui.tree'),
|
|
},
|
|
{
|
|
'petertriho/nvim-scrollbar',
|
|
event = 'BufReadPost',
|
|
opts = {
|
|
set_highlights = false,
|
|
show_in_active_only = true,
|
|
handle = { blend = 0 },
|
|
handlers = { cursor = false },
|
|
excluded_filetypes = {
|
|
'alpha',
|
|
'lazy',
|
|
'notify',
|
|
'aerial',
|
|
'Trouble',
|
|
'NvimTree',
|
|
'qf',
|
|
'prompt',
|
|
'noice',
|
|
'OverseerForm',
|
|
'TelescopePrompt',
|
|
},
|
|
},
|
|
},
|
|
{
|
|
'folke/which-key.nvim',
|
|
event = 'VeryLazy',
|
|
config = function()
|
|
require('user.plugins.ui.which-key')
|
|
end,
|
|
},
|
|
{
|
|
'stevearc/dressing.nvim',
|
|
event = 'VeryLazy',
|
|
init = function()
|
|
---@diagnostic disable-next-line: duplicate-set-field
|
|
vim.ui.select = function(...)
|
|
require('lazy').load({ plugins = { 'dressing.nvim' } })
|
|
return vim.ui.select(...)
|
|
end
|
|
end,
|
|
opts = require('user.plugins.ui.dressing'),
|
|
},
|
|
{
|
|
'folke/noice.nvim',
|
|
event = 'VeryLazy',
|
|
dependencies = {
|
|
{
|
|
'rcarriga/nvim-notify',
|
|
keys = {
|
|
{
|
|
'<leader>uN', function()
|
|
require('notify').dismiss { silent = true, pending = true }
|
|
end,
|
|
desc = 'Delete all notifications',
|
|
},
|
|
{
|
|
'<leader>un', function()
|
|
require('telescope').load_extension('notify')
|
|
vim.cmd.Telescope { args = { 'notify' } }
|
|
end,
|
|
desc = 'Show all notifications',
|
|
},
|
|
},
|
|
opts = require('user.plugins.ui.notify')
|
|
},
|
|
},
|
|
keys = {
|
|
{ '<S-Enter>', function() require('noice').redirect(vim.fn.getcmdline()) end, mode = 'c', desc = 'Redirect Cmdline' },
|
|
{ '<leader>ul', function() require('noice').cmd('last') end, desc = 'Noice Last Message' },
|
|
{ '<leader>uh', function() require('noice').cmd('history') end, desc = 'Noice History' },
|
|
{ '<leader>ua', function() require('noice').cmd('all') end, desc = 'Noice All' },
|
|
{ '<C-f>', function() if not require('noice.lsp').scroll(4) then return '<C-f>' end end, silent = true, expr = true, desc = 'Scroll forward', mode = {'i', 'n', 's'} },
|
|
{ '<C-b>', function() if not require('noice.lsp').scroll(-4) then return '<C-b>' end end, silent = true, expr = true, desc = 'Scroll backward', mode = {'i', 'n', 's'}},
|
|
},
|
|
opts = require('user.plugins.ui.noice'),
|
|
},
|
|
{
|
|
'folke/trouble.nvim',
|
|
cmd = { 'Trouble', 'TroubleToggle' },
|
|
keys = {
|
|
{
|
|
'[q',
|
|
function()
|
|
if require('trouble').is_open() then
|
|
require('trouble').previous { skip_groups = true, jump = true }
|
|
else
|
|
vim.cmd.cprev()
|
|
end
|
|
end,
|
|
desc = 'Previous trouble/quickfix item',
|
|
},
|
|
{
|
|
']q',
|
|
function()
|
|
if require('trouble').is_open() then
|
|
require('trouble').next { skip_groups = true, jump = true }
|
|
else
|
|
vim.cmd.cnext()
|
|
end
|
|
end,
|
|
desc = 'Next trouble/quickfix item',
|
|
},
|
|
{ 'gL', '<cmd>TroubleToggle loclist<CR>', desc = 'Location list (Trouble)' },
|
|
{ 'gQ', '<cmd>TroubleToggle quickfix<CR>', desc = 'Quickfix (Trouble)' },
|
|
},
|
|
opts = function()
|
|
return require('user.plugins.ui.trouble')
|
|
end,
|
|
},
|
|
}
|