NIVM/lua/plugins/specs/UI.lua
Robert Morrison fb537df11b chore(init): Initial working version
Create and push an initial working version of this repo before I change
things on this machine

Signed-off-by: Robert Morrison <robert@closedless.xyz>
2023-09-10 22:22:30 +01:00

124 lines
2.4 KiB
Lua

-- UI
-- These plugins make up a large portion of the UI that I use to interact with nvim
return {
{ -- Colorscheme
'ellisonleao/gruvbox.nvim',
name = 'gruvbox',
priority = 1000,
},
{ -- lualine is real light and looks real good
'nvim-lualine/lualine.nvim',
opts = function()
return require('plugins.configs.UI.lualine')
end,
config = true,
event = 'VeryLazy',
dependencies = {
'nvim-web-devicons',
'sherlock5512/lualine-spell-status', -- custom lualine module
},
},
{ -- neo-tree the superior filetree
'nvim-neo-tree/neo-tree.nvim',
version = '^3',
init = function()
vim.g.neo_tree_remove_legacy_commands = 1
end,
opts = function()
return require('plugins.configs.UI.neo-tree')
end,
config = true,
-- can't lazy load as the netrw replacement functionality
-- requires hooking to be done early in the startup process
lazy = false,
dependencies = {
'plenary.nvim',
'nvim-web-devicons',
'nui.nvim',
},
keys = {
{
'<leader>n',
'<CMD>Neotree action=focus source=filesystem position=left toggle=true<CR>',
desc = 'toggle neotree',
},
},
},
{ -- Since I commonly use a lot of buffers it is good to be able to see them.
'akinsho/bufferline.nvim',
config = true,
event = 'VeryLazy',
dependencies = {
'nvim-web-devicons',
},
},
{ -- Alternative configurable UI for a lot of things
'folke/noice.nvim',
opts = function()
return require('plugins.configs.UI.noice')
end,
event = 'VeryLazy',
config = true,
dependencies = {
'nui.nvim',
'nvim-notify',
},
},
{
'folke/which-key.nvim',
opts = function()
return require('plugins.configs.UI.whichkey')
end,
config = function(_, opts)
require('which-key').setup(opts.config)
require('which-key').register(opts.default_bindings)
end,
event = 'VeryLazy',
},
{
'lukas-reineke/indent-blankline.nvim',
opts = {
filetype_exclude = {
'help',
'alpha',
'dashboard',
'neo-tree',
'Trouble',
'lazy',
'mason',
'notify',
'oil_preview',
'vim',
},
},
event = 'BufReadPost',
},
{
'folke/zen-mode.nvim',
opts = function()
return require('plugins.configs.UI.zen')
end,
config = true,
cmd = { 'ZenMode' },
keys = {
{
'<leader>z',
function()
require('zen-mode').toggle()
end,
desc = 'zen-mode',
},
},
dependencies = 'folke/twilight.nvim',
},
}