258 lines
12 KiB
Lua
258 lines
12 KiB
Lua
return {
|
|
-- NOTE: Rose pine
|
|
{
|
|
"rose-pine/neovim",
|
|
name = "rose-pine",
|
|
-- priority = 1000,
|
|
config = function()
|
|
require("rose-pine").setup({
|
|
variant = "main", -- auto, main, moon, or dawn
|
|
dark_variant = "main", -- main, moon, or dawn
|
|
dim_inactive_windows = false,
|
|
-- disable_background = true,
|
|
-- disable_nc_background = false,
|
|
-- disable_float_background = false,
|
|
-- extend_background_behind_borders = false,
|
|
styles = {
|
|
bold = true,
|
|
italic = false,
|
|
transparency = true,
|
|
},
|
|
highlight_groups = {
|
|
ColorColumn = { bg = "#1C1C21" },
|
|
Normal = { bg = "none" }, -- Main background remains transparent
|
|
Pmenu = { bg = "", fg = "#e0def4" }, -- Completion menu background
|
|
PmenuSel = { bg = "#4a465d", fg = "#f8f5f2" }, -- Highlighted completion item
|
|
PmenuSbar = { bg = "#191724" }, -- Scrollbar background
|
|
PmenuThumb = { bg = "#9ccfd8" }, -- Scrollbar thumb
|
|
},
|
|
enable = {
|
|
terminal = false,
|
|
legacy_highlights = false, -- Improve compatibility for previous versions of Neovim
|
|
migrations = true, -- Handle deprecated options automatically
|
|
},
|
|
|
|
})
|
|
|
|
-- HACK: set this on the color you want to be persistent
|
|
-- when quit and reopening nvim
|
|
-- vim.cmd("colorscheme rose-pine")
|
|
end,
|
|
},
|
|
-- NOTE: gruvbox
|
|
{
|
|
"ellisonleao/gruvbox.nvim",
|
|
-- priority = 1000 ,
|
|
config = function()
|
|
require("gruvbox").setup({
|
|
terminal_colors = true, -- add neovim terminal colors
|
|
undercurl = true,
|
|
underline = true,
|
|
bold = true,
|
|
italic = {
|
|
strings = false,
|
|
emphasis = false,
|
|
comments = false,
|
|
folds = false,
|
|
operators = false,
|
|
},
|
|
strikethrough = true,
|
|
invert_selection = false,
|
|
invert_signs = false,
|
|
invert_tabline = false,
|
|
invert_intend_guides = false,
|
|
inverse = true, -- invert background for search, diffs, statuslines and errors
|
|
contrast = "", -- can be "hard", "soft" or empty string
|
|
palette_overrides = {},
|
|
overrides = {
|
|
Pmenu = { bg = "" }, -- Completion menu background
|
|
},
|
|
dim_inactive = false,
|
|
transparent_mode = true,
|
|
})
|
|
end,
|
|
},
|
|
-- NOTE: Kanagwa
|
|
{
|
|
"rebelot/kanagawa.nvim",
|
|
config = function()
|
|
require('kanagawa').setup({
|
|
compile = false, -- enable compiling the colorscheme
|
|
undercurl = true, -- enable undercurls
|
|
commentStyle = { italic = true },
|
|
functionStyle = {},
|
|
keywordStyle = { italic = false },
|
|
statementStyle = { bold = true },
|
|
typeStyle = {},
|
|
transparent = true, -- do not set background color
|
|
dimInactive = false, -- dim inactive window `:h hl-NormalNC`
|
|
terminalColors = true, -- define vim.g.terminal_color_{0,17}
|
|
colors = { -- add/modify theme and palette colors
|
|
palette = {},
|
|
theme = {
|
|
wave = {},
|
|
dragon = {},
|
|
all = {
|
|
ui = {
|
|
bg_gutter = "none",
|
|
border = "rounded"
|
|
}
|
|
}
|
|
},
|
|
},
|
|
overrides = function(colors) -- add/modify highlights
|
|
local theme = colors.theme
|
|
return {
|
|
NormalFloat = { bg = "none" },
|
|
FloatBorder = { bg = "none" },
|
|
FloatTitle = { bg = "none" },
|
|
Pmenu = { fg = theme.ui.shade0, bg = "NONE", blend = vim.o.pumblend }, -- add `blend = vim.o.pumblend` to enable transparency
|
|
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
|
PmenuSbar = { bg = theme.ui.bg_m1 },
|
|
PmenuThumb = { bg = theme.ui.bg_p2 },
|
|
|
|
-- Save an hlgroup with dark background and dimmed foreground
|
|
-- so that you can use it where your still want darker windows.
|
|
-- E.g.: autocmd TermOpen * setlocal winhighlight=Normal:NormalDark
|
|
NormalDark = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m3 },
|
|
|
|
-- Popular plugins that open floats will link to NormalFloat by default;
|
|
-- set their background accordingly if you wish to keep them dark and borderless
|
|
LazyNormal = { bg = theme.ui.bg_m3, fg = theme.ui.fg_dim },
|
|
MasonNormal = { bg = theme.ui.bg_m3, fg = theme.ui.fg_dim },
|
|
TelescopeTitle = { fg = theme.ui.special, bold = true },
|
|
TelescopePromptBorder = { fg = theme.ui.special, },
|
|
TelescopeResultsNormal = { fg = theme.ui.fg_dim, },
|
|
TelescopeResultsBorder = { fg = theme.ui.special, },
|
|
TelescopePreviewBorder = { fg = theme.ui.special },
|
|
}
|
|
end,
|
|
theme = "wave", -- Load "wave" theme when 'background' option is not set
|
|
background = { -- map the value of 'background' option to a theme
|
|
dark = "wave", -- try "dragon" !
|
|
},
|
|
})
|
|
end
|
|
},
|
|
-- NOTE: neosolarized
|
|
{
|
|
"craftzdog/solarized-osaka.nvim",
|
|
lazy = false,
|
|
config = function()
|
|
require("solarized-osaka").setup({
|
|
transparent = true,
|
|
terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim)
|
|
styles = {
|
|
-- Style to be applied to different syntax groups
|
|
-- Value is any valid attr-list value for `:help nvim_set_hl`
|
|
comments = { italic = true },
|
|
keywords = { italic = false },
|
|
functions = {},
|
|
variables = {},
|
|
-- Background styles. Can be "dark", "transparent" or "normal"
|
|
sidebars = "dark", -- style for sidebars, see below
|
|
floats = "dark", -- style for floating windows
|
|
},
|
|
sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
|
|
day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
|
|
hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
|
|
dim_inactive = false, -- dims inactive windows
|
|
lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
|
|
on_highlights = function(hl, c)
|
|
local prompt = "#2d3149"
|
|
hl.TelescopeNormal = {
|
|
bg = c.bg_dark,
|
|
fg = c.fg_dark,
|
|
}
|
|
hl.TelescopeBorder = {
|
|
bg = c.bg_dark,
|
|
fg = c.bg_dark,
|
|
}
|
|
hl.TelescopePromptNormal = {
|
|
bg = c.bg_dark,
|
|
}
|
|
hl.TelescopePromptBorder = {
|
|
bg = c.bg_dark,
|
|
fg = c.bg_dark,
|
|
}
|
|
hl.TelescopePromptTitle = {
|
|
bg = prompt,
|
|
fg = "#2C94DD",
|
|
}
|
|
hl.TelescopePreviewTitle = {
|
|
bg = c.bg_dark,
|
|
fg = c.bg_dark,
|
|
}
|
|
hl.TelescopeResultsTitle = {
|
|
bg = c.bg_dark,
|
|
fg = c.bg_dark,
|
|
}
|
|
end,
|
|
})
|
|
end
|
|
},
|
|
-- NOTE : tokyonight
|
|
{
|
|
"folke/tokyonight.nvim",
|
|
name = "folkeTokyonight",
|
|
-- priority = 1000,
|
|
config = function()
|
|
local transparent = true
|
|
local bg = "#011628"
|
|
local bg_dark = "#011423"
|
|
local bg_highlight = "#143652"
|
|
local bg_search = "#0A64AC"
|
|
local bg_visual = "#275378"
|
|
local fg = "#CBE0F0"
|
|
local fg_dark = "#B4D0E9"
|
|
local fg_gutter = "#627E97"
|
|
local border = "#547998"
|
|
|
|
require("tokyonight").setup({
|
|
style = "night",
|
|
transparent = transparent,
|
|
|
|
styles = {
|
|
comments = { italic = false },
|
|
keywords = { italic = false },
|
|
sidebars = transparent and "transparent" or "dark",
|
|
floats = transparent and "transparent" or "dark",
|
|
},
|
|
on_colors = function(colors)
|
|
colors.bg = transparent and colors.none or bg
|
|
colors.bg_dark = transparent and colors.none or bg_dark
|
|
colors.bg_float = transparent and colors.none or bg_dark
|
|
colors.bg_highlight = bg_highlight
|
|
colors.bg_popup = bg_dark
|
|
colors.bg_search = bg_search
|
|
colors.bg_sidebar = transparent and colors.none or bg_dark
|
|
colors.bg_statusline = transparent and colors.none or bg_dark
|
|
colors.bg_visual = bg_visual
|
|
colors.border = border
|
|
colors.fg = fg
|
|
colors.fg_dark = fg_dark
|
|
colors.fg_float = fg
|
|
colors.fg_gutter = fg_gutter
|
|
colors.fg_sidebar = fg_dark
|
|
end,
|
|
})
|
|
-- vim.cmd("colorscheme tokyonight")
|
|
-- NOTE: Auto switch to tokyonight for markdown files only
|
|
-- vim.api.nvim_create_autocmd("FileType", {
|
|
-- pattern = { "markdown" },
|
|
-- callback = function()
|
|
-- -- Ensure the theme switch only happens once for a buffer
|
|
-- local buffer = vim.api.nvim_get_current_buf()
|
|
-- if not vim.b[buffer].tokyonight_applied then
|
|
-- if vim.fn.expand("%:t") ~= "" and vim.api.nvim_buf_get_option(0, "buftype") ~= "nofile" then
|
|
-- vim.cmd("colorscheme tokyonight")
|
|
-- end
|
|
-- vim.b[buffer].tokyonight_applied = true
|
|
-- end
|
|
-- end,
|
|
-- })
|
|
end,
|
|
},
|
|
}
|
|
|