mirror of
https://git.sr.ht/~coasteen/dotfiles
synced 2026-02-04 06:03:45 +01:00
124 lines
3.8 KiB
Lua
124 lines
3.8 KiB
Lua
vim.cmd("colorscheme moonfly")
|
|
|
|
local palette = {
|
|
black = "#0f0f0f",
|
|
surface = "#1a1a1a",
|
|
overlay = "#2a2a2a",
|
|
text = "#e0def4",
|
|
dim = "#6e6a86",
|
|
pink = "#ebbcba",
|
|
magenta = "#f2a7b0",
|
|
peach = "#f6c177",
|
|
white = "#ffffff",
|
|
comment = "#55505c",
|
|
}
|
|
|
|
vim.cmd("hi clear")
|
|
if vim.fn.exists("syntax_on") then
|
|
vim.cmd("syntax reset")
|
|
end
|
|
vim.o.background = "dark"
|
|
vim.g.colors_name = "pinkfly"
|
|
|
|
local ui = {
|
|
Normal = { fg = palette.text, bg = palette.black },
|
|
NormalNC = { fg = palette.text, bg = palette.black },
|
|
NormalFloat = { fg = palette.text, bg = palette.surface },
|
|
FloatBorder = { fg = palette.pink, bg = palette.surface },
|
|
VertSplit = { fg = palette.overlay, bg = palette.black },
|
|
StatusLine = { fg = palette.pink, bg = palette.black },
|
|
StatusLineNC = { fg = palette.dim, bg = palette.black },
|
|
TabLine = { fg = palette.text, bg = palette.overlay },
|
|
TabLineSel = { fg = palette.black, bg = palette.pink, bold = true },
|
|
Pmenu = { fg = palette.text, bg = palette.surface },
|
|
PmenuSel = { fg = palette.black, bg = palette.pink },
|
|
CursorLine = { bg = palette.surface },
|
|
CursorLineNr = { fg = palette.pink, bold = true },
|
|
LineNr = { fg = palette.comment },
|
|
Visual = { bg = "#2a1f2a" },
|
|
Search = { bg = palette.pink, fg = palette.black },
|
|
IncSearch = { bg = palette.magenta, fg = palette.black },
|
|
MatchParen = { fg = palette.pink, bold = true },
|
|
}
|
|
|
|
local syntax = {
|
|
Comment = { fg = palette.comment, italic = true },
|
|
Constant = { fg = palette.pink },
|
|
String = { fg = palette.peach },
|
|
Character = { fg = palette.peach },
|
|
Number = { fg = palette.magenta },
|
|
Boolean = { fg = palette.magenta, bold = true },
|
|
Identifier = { fg = palette.pink },
|
|
Function = { fg = palette.pink, bold = true },
|
|
Statement = { fg = palette.magenta },
|
|
Conditional = { fg = palette.pink, bold = true },
|
|
Repeat = { fg = palette.pink },
|
|
Label = { fg = palette.magenta },
|
|
Operator = { fg = palette.pink },
|
|
Keyword = { fg = palette.magenta, bold = true },
|
|
Exception = { fg = palette.pink },
|
|
PreProc = { fg = palette.pink },
|
|
Type = { fg = palette.pink },
|
|
StorageClass = { fg = palette.magenta },
|
|
Structure = { fg = palette.pink },
|
|
Typedef = { fg = palette.pink },
|
|
Delimiter = { fg = palette.text },
|
|
Special = { fg = palette.magenta },
|
|
}
|
|
|
|
local diagnostics = {
|
|
DiagnosticError = { fg = "#ff7b7b" },
|
|
DiagnosticWarn = { fg = palette.peach },
|
|
DiagnosticInfo = { fg = palette.pink },
|
|
DiagnosticHint = { fg = palette.magenta },
|
|
}
|
|
|
|
for group, opts in pairs(ui) do
|
|
vim.api.nvim_set_hl(0, group, opts)
|
|
end
|
|
for group, opts in pairs(syntax) do
|
|
vim.api.nvim_set_hl(0, group, opts)
|
|
end
|
|
for group, opts in pairs(diagnostics) do
|
|
vim.api.nvim_set_hl(0, group, opts)
|
|
end
|
|
|
|
local ok, lualine = pcall(require, "lualine")
|
|
if ok then
|
|
local lualine_pink = {
|
|
normal = {
|
|
a = { bg = palette.pink, fg = palette.black, gui = "bold" },
|
|
b = { bg = palette.surface, fg = palette.pink },
|
|
c = { bg = palette.black, fg = palette.text },
|
|
},
|
|
insert = {
|
|
a = { bg = palette.magenta, fg = palette.black, gui = "bold" },
|
|
},
|
|
visual = {
|
|
a = { bg = palette.peach, fg = palette.black, gui = "bold" },
|
|
},
|
|
replace = {
|
|
a = { bg = palette.pink, fg = palette.black, gui = "bold" },
|
|
},
|
|
inactive = {
|
|
a = { bg = palette.surface, fg = palette.dim },
|
|
b = { bg = palette.surface, fg = palette.dim },
|
|
c = { bg = palette.black, fg = palette.dim },
|
|
},
|
|
}
|
|
|
|
lualine.setup({
|
|
options = {
|
|
theme = lualine_pink,
|
|
section_separators = { left = "", right = "" },
|
|
component_separators = { left = "", right = "" },
|
|
},
|
|
})
|
|
end
|
|
|
|
vim.g.barbar_highlight = {
|
|
background = { fg = palette.dim, bg = palette.black },
|
|
buffer_visible = { fg = palette.text, bg = palette.black },
|
|
buffer_selected = { fg = palette.pink, bg = palette.black, bold = true },
|
|
modified_selected = { fg = palette.peach, bg = palette.black, bold = true },
|
|
}
|