nvim/lua/plugins/ui.lua
2024-05-31 11:03:10 +02:00

153 lines
3.4 KiB
Lua

return {
{
url = 'https://git.filnar.com/fiplox/gruber-darker.nvim',
lazy = false,
opts = {
-- invert = {
-- signs = true,
-- tabline = true,
-- visual = true,
-- },
},
},
{
'freddiehaddad/feline.nvim',
dependencies = {
'nvim-tree/nvim-web-devicons',
},
config = function()
local feline = require 'feline'
local utils = require 'config.utils'
local c = utils.feline_c
local theme = utils.feline_theme_dark
-- if l then
-- theme = utils.feline_theme_light
-- else
-- theme = utils.feline_theme_dark
-- end
local vi_mode_colors = utils.feline_vi_mode_colors
local left = {
c.vim_mode,
-- c.gitBranch,
-- c.gitDiffAdded,
-- c.gitDiffRemoved,
-- c.gitDiffChanged,
c.file_info,
c.right_separator,
c.lsp_client_names,
c.diagnostic_errors,
c.diagnostic_warnings,
c.diagnostic_info,
c.diagnostic_hints,
}
-- local middle = {
-- c.separator,
-- }
local right = {
c.file_type,
c.search_count,
c.macro,
c.file_encoding,
-- c.startup,
c.line_percentage,
c.select_count,
c.position,
}
local components = {
active = {
left,
-- middle,
right,
},
inactive = {
left,
-- middle,
right,
},
}
feline.setup {
components = components,
theme = theme,
vi_mode_colors = vi_mode_colors,
}
end,
},
{
'rcarriga/nvim-notify',
lazy = true,
keys = {
{
'<leader>k',
function()
require('notify').dismiss()
end,
desc = 'dismiss notifications',
},
},
init = function()
vim.notify = function(...)
return require 'notify' (...)
end
end,
},
{
'stevearc/dressing.nvim',
lazy = true,
opts = {
input = {
win_options = { winblend = 0 },
},
},
init = function()
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.select = function(...)
require('lazy').load { plugins = { 'dressing.nvim' } }
return vim.ui.select(...)
end
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.input = function(...)
require('lazy').load { plugins = { 'dressing.nvim' } }
return vim.ui.input(...)
end
end,
},
{
'lukas-reineke/indent-blankline.nvim',
event = { 'BufReadPost', 'BufNewFile' },
main = 'ibl',
config = function()
local highlight = {
'RainbowRed',
'RainbowYellow',
'RainbowBlue',
'RainbowOrange',
'RainbowGreen',
'RainbowViolet',
'RainbowCyan',
}
local hooks = require 'ibl.hooks'
-- create the highlight groups in the highlight setup hook, so they are reset
-- every time the colorscheme changes
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
vim.api.nvim_set_hl(0, 'RainbowRed', { fg = '#E06C75' })
vim.api.nvim_set_hl(0, 'RainbowYellow', { fg = '#E5C07B' })
vim.api.nvim_set_hl(0, 'RainbowBlue', { fg = '#61AFEF' })
vim.api.nvim_set_hl(0, 'RainbowOrange', { fg = '#D19A66' })
vim.api.nvim_set_hl(0, 'RainbowGreen', { fg = '#98C379' })
vim.api.nvim_set_hl(0, 'RainbowViolet', { fg = '#C678DD' })
vim.api.nvim_set_hl(0, 'RainbowCyan', { fg = '#56B6C2' })
end)
vim.g.rainbow_delimiters = { highlight = highlight }
require('ibl').setup { scope = { highlight = highlight, show_start = false, show_end = false } }
hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark)
end,
},
}