1
0
Files
dotfiles/nvim/.config/nvim/lua/plugins/ui.lua
2025-02-20 18:35:09 +01:00

174 lines
4.2 KiB
Lua

return {
{ -- colorscheme
"Mofiqul/dracula.nvim",
lazy = false,
name = "dracula",
priority = 1000,
config = function()
local dracula = require("dracula")
dracula.setup({
colors = {
visual = "#5a5e77",
},
-- show the '~' characters after the end of buffers
show_end_of_buffer = true, -- default false
-- use transparent background
transparent_bg = false, -- default false
-- set custom lualine background color
lualine_bg_color = "#44475a", -- default nil
-- set italic comment
italic_comment = true, -- default false
-- overrides the default highlights with table see `:h synIDattr`
overrides = {
CursorLine = { bg = "#3e4153" },
CursorLineNr = { fg = "DarkOrange", bold = true },
},
})
vim.cmd([[colorscheme dracula-soft]])
end,
},
-- highlight color hex codes
{
"brenoprata10/nvim-highlight-colors",
opts = {},
config = function()
local highlight = require("nvim-highlight-colors")
highlight.setup()
end,
},
{ --statusline
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
lazy = false,
opts = {
options = {
section_separators = "",
component_separators = "",
theme = "dracula-nvim",
},
-- extensions = { "neo-tree", "lazy", "fzf" },
extensions = { "fugitive", "lazy" },
},
},
{ -- git symbols on sidebar
"lewis6991/gitsigns.nvim",
opts = {
signs = {
add = { text = "+" },
change = { text = "~" },
delete = { text = "_" },
topdelete = { text = "" },
changedelete = { text = "~" },
},
signs_staged = {
add = { text = "+" },
change = { text = "~" },
delete = { text = "_" },
topdelete = { text = "" },
changedelete = { text = "~" },
},
},
},
{ -- cosmetic indent lines
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
opts = {
indent = {
char = "",
},
scope = {
show_start = false,
show_end = false,
show_exact_scope = false,
},
exclude = {
filetypes = {
"help",
"startify",
"dashboard",
"packer",
"neogitstatus",
"NvimTree",
"Trouble",
},
},
},
},
{ -- colorful mode indicators
"mvllow/modes.nvim",
tag = "v0.2.1",
config = function()
require("modes").setup()
end,
},
{ -- dashboard snack
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
dashboard = {
preset = {
header = [[
███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
]],
},
sections = {
{ section = "header" },
{
pane = 2,
section = "terminal",
cmd = "pokemon-colorscripts -n snorlax --no-title; sleep .1",
height = 20,
padding = 0,
},
{ section = "keys", gap = 1, padding = 1 },
{
pane = 2,
icon = "",
title = "Recent Files",
section = "recent_files",
indent = 2,
padding = 1,
},
{ pane = 2, icon = "", title = "Projects", section = "projects", indent = 2, padding = 1 },
{
pane = 2,
icon = "",
title = "Git Status",
section = "terminal",
enabled = function()
return Snacks.git.get_root() ~= nil
end,
cmd = "git status --short --branch --renames",
height = 5,
padding = 1,
ttl = 5 * 60,
indent = 3,
},
{ section = "startup" },
},
},
},
},
}