adds vesktop, obs, nvim and easyeffects config
This commit is contained in:
@@ -0,0 +1,353 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
vim.cmd("highlight clear")
|
||||
if vim.fn.exists("syntax_on") == 1 then
|
||||
vim.cmd("syntax reset")
|
||||
end
|
||||
|
||||
vim.o.termguicolors = true
|
||||
vim.g.colors_name = "Serpensortia"
|
||||
|
||||
local c = {
|
||||
bg = "#080c08",
|
||||
surface = "#131d13",
|
||||
surface2 = "#424a42",
|
||||
fg = "#c0c0c0",
|
||||
muted = "#424a42",
|
||||
border = "#0b110b",
|
||||
accent = "#1c7a44",
|
||||
warn = "#dc143c",
|
||||
|
||||
-- richer editor palette inspired by Islands Dark / Darcula-like schemes
|
||||
green = "#1c7a44",
|
||||
red = "#dc143c",
|
||||
blue = "#6ca0ff",
|
||||
cyan = "#67c7ff",
|
||||
yellow = "#d9c36a",
|
||||
orange = "#d78a4a",
|
||||
purple = "#b48ef7",
|
||||
teal = "#4db6ac",
|
||||
|
||||
subtle = "#989898",
|
||||
comment = "#424a42",
|
||||
add = "#0c2415",
|
||||
change = "#292c29",
|
||||
delete = "#320e12",
|
||||
}
|
||||
|
||||
local function hi(group, opts)
|
||||
vim.api.nvim_set_hl(0, group, opts)
|
||||
end
|
||||
|
||||
-- Base UI
|
||||
hi("Normal", { fg = c.fg, bg = c.bg })
|
||||
hi("NormalNC", { fg = c.fg, bg = c.bg })
|
||||
hi("NormalFloat", { fg = c.fg, bg = c.surface })
|
||||
hi("FloatBorder", { fg = c.border, bg = c.surface })
|
||||
hi("FloatTitle", { fg = c.green, bg = c.surface, bold = true })
|
||||
hi("CursorLine", { bg = c.surface })
|
||||
hi("CursorColumn", { bg = c.surface })
|
||||
hi("ColorColumn", { bg = c.surface })
|
||||
hi("Conceal", { fg = c.muted })
|
||||
hi("LineNr", { fg = c.muted, bg = c.bg })
|
||||
hi("CursorLineNr", { fg = c.green, bg = c.bg, bold = true })
|
||||
hi("SignColumn", { fg = c.fg, bg = c.bg })
|
||||
hi("EndOfBuffer", { fg = c.bg, bg = c.bg })
|
||||
hi("VertSplit", { fg = c.border, bg = c.bg })
|
||||
hi("WinSeparator", { fg = c.border, bg = c.bg })
|
||||
hi("Folded", { fg = c.muted, bg = c.surface })
|
||||
hi("FoldColumn", { fg = c.muted, bg = c.bg })
|
||||
hi("MatchParen", { fg = c.yellow, bg = c.surface2, bold = true })
|
||||
hi("Whitespace", { fg = c.border })
|
||||
hi("NonText", { fg = c.border })
|
||||
|
||||
-- Selection / search
|
||||
hi("Visual", { bg = c.surface2 })
|
||||
hi("VisualNOS", { bg = c.surface2 })
|
||||
hi("Search", { fg = c.bg, bg = c.yellow, bold = true })
|
||||
hi("IncSearch", { fg = c.bg, bg = c.orange, bold = true })
|
||||
hi("CurSearch", { fg = c.bg, bg = c.orange, bold = true })
|
||||
hi("Substitute", { fg = c.bg, bg = c.green, bold = true })
|
||||
|
||||
-- Popup menu
|
||||
hi("Pmenu", { fg = c.fg, bg = c.surface })
|
||||
hi("PmenuSel", { fg = c.bg, bg = c.green, bold = true })
|
||||
hi("PmenuKind", { fg = c.cyan, bg = c.surface })
|
||||
hi("PmenuKindSel", { fg = c.bg, bg = c.green, bold = true })
|
||||
hi("PmenuExtra", { fg = c.muted, bg = c.surface })
|
||||
hi("PmenuExtraSel", { fg = c.bg, bg = c.green })
|
||||
hi("PmenuSbar", { bg = c.surface2 })
|
||||
hi("PmenuThumb", { bg = c.border })
|
||||
|
||||
-- Tabs / status
|
||||
hi("StatusLine", { fg = c.fg, bg = c.surface })
|
||||
hi("StatusLineNC", { fg = c.muted, bg = c.surface })
|
||||
hi("TabLine", { fg = c.muted, bg = c.surface })
|
||||
hi("TabLineSel", { fg = c.fg, bg = c.bg, bold = true })
|
||||
hi("TabLineFill", { bg = c.surface })
|
||||
hi("WinBar", { fg = c.fg, bg = c.bg })
|
||||
hi("WinBarNC", { fg = c.muted, bg = c.bg })
|
||||
|
||||
-- Syntax
|
||||
hi("Comment", { fg = c.comment, italic = true })
|
||||
hi("Constant", { fg = c.yellow, bold = true })
|
||||
hi("String", { fg = c.orange })
|
||||
hi("Character", { fg = c.orange })
|
||||
hi("Number", { fg = c.yellow, bold = true })
|
||||
hi("Boolean", { fg = c.purple, bold = true })
|
||||
hi("Float", { fg = c.yellow })
|
||||
hi("Identifier", { fg = c.fg })
|
||||
hi("Function", { fg = c.green, bold = true })
|
||||
hi("Statement", { fg = c.purple, bold = true })
|
||||
hi("Conditional", { fg = c.purple, bold = true })
|
||||
hi("Repeat", { fg = c.purple, bold = true })
|
||||
hi("Label", { fg = c.orange })
|
||||
hi("Operator", { fg = c.subtle })
|
||||
hi("Keyword", { fg = c.purple, italic = true, bold = true })
|
||||
hi("Exception", { fg = c.red, bold = true })
|
||||
hi("PreProc", { fg = c.blue })
|
||||
hi("Include", { fg = c.blue, italic = true })
|
||||
hi("Define", { fg = c.purple })
|
||||
hi("Macro", { fg = c.purple, bold = true })
|
||||
hi("PreCondit", { fg = c.blue })
|
||||
hi("Type", { fg = c.cyan, bold = true })
|
||||
hi("Typedef", { fg = c.cyan, bold = true })
|
||||
hi("StorageClass", { fg = c.blue, italic = true })
|
||||
hi("Structure", { fg = c.cyan, bold = true })
|
||||
hi("Special", { fg = c.teal })
|
||||
hi("SpecialChar", { fg = c.orange })
|
||||
hi("Tag", { fg = c.green })
|
||||
hi("Delimiter", { fg = c.subtle })
|
||||
hi("SpecialComment", { fg = c.comment, italic = true })
|
||||
hi("Debug", { fg = c.red, bold = true })
|
||||
hi("Title", { fg = c.green, bold = true })
|
||||
hi("Todo", { fg = c.bg, bg = c.yellow, bold = true })
|
||||
|
||||
-- Diagnostics
|
||||
hi("DiagnosticError", { fg = c.red })
|
||||
hi("DiagnosticWarn", { fg = c.orange })
|
||||
hi("DiagnosticInfo", { fg = c.blue })
|
||||
hi("DiagnosticHint", { fg = c.teal })
|
||||
hi("DiagnosticOk", { fg = c.green })
|
||||
|
||||
hi("DiagnosticVirtualTextError", { fg = c.red, bg = c.delete })
|
||||
hi("DiagnosticVirtualTextWarn", { fg = c.orange, bg = c.surface })
|
||||
hi("DiagnosticVirtualTextInfo", { fg = c.blue, bg = c.surface })
|
||||
hi("DiagnosticVirtualTextHint", { fg = c.teal, bg = c.surface })
|
||||
|
||||
hi("DiagnosticUnderlineError", { undercurl = true, sp = c.red })
|
||||
hi("DiagnosticUnderlineWarn", { undercurl = true, sp = c.orange })
|
||||
hi("DiagnosticUnderlineInfo", { undercurl = true, sp = c.blue })
|
||||
hi("DiagnosticUnderlineHint", { undercurl = true, sp = c.teal })
|
||||
|
||||
hi("DiagnosticSignError", { fg = c.red, bg = c.bg })
|
||||
hi("DiagnosticSignWarn", { fg = c.orange, bg = c.bg })
|
||||
hi("DiagnosticSignInfo", { fg = c.blue, bg = c.bg })
|
||||
hi("DiagnosticSignHint", { fg = c.teal, bg = c.bg })
|
||||
|
||||
-- LSP references / semantic-ish
|
||||
hi("LspReferenceText", { bg = c.surface2 })
|
||||
hi("LspReferenceRead", { bg = c.surface2 })
|
||||
hi("LspReferenceWrite", { bg = c.surface2, bold = true })
|
||||
hi("LspInlayHint", { fg = c.muted, bg = c.surface, italic = true })
|
||||
hi("LspCodeLens", { fg = c.muted, italic = true })
|
||||
hi("LspCodeLensSeparator", { fg = c.border })
|
||||
|
||||
-- Diff / Git
|
||||
hi("DiffAdd", { bg = c.add, fg = c.green })
|
||||
hi("DiffChange", { bg = c.change, fg = c.blue })
|
||||
hi("DiffDelete", { bg = c.delete, fg = c.red })
|
||||
hi("DiffText", { bg = c.blue, fg = c.bg, bold = true })
|
||||
|
||||
hi("Added", { fg = c.green })
|
||||
hi("Changed", { fg = c.blue })
|
||||
hi("Removed", { fg = c.red })
|
||||
|
||||
hi("GitSignsAdd", { fg = c.green, bg = c.bg })
|
||||
hi("GitSignsChange", { fg = c.blue, bg = c.bg })
|
||||
hi("GitSignsDelete", { fg = c.red, bg = c.bg })
|
||||
hi("GitSignsCurrentLineBlame", { fg = c.muted, italic = true })
|
||||
|
||||
-- Treesitter
|
||||
hi("@comment", { link = "Comment" })
|
||||
hi("@comment.documentation", { fg = c.comment, italic = true })
|
||||
|
||||
hi("@string", { link = "String" })
|
||||
hi("@string.escape", { fg = c.yellow, bold = true })
|
||||
hi("@string.regex", { fg = c.orange })
|
||||
hi("@string.special", { fg = c.orange })
|
||||
|
||||
hi("@character", { link = "Character" })
|
||||
hi("@character.special", { fg = c.orange })
|
||||
|
||||
hi("@number", { link = "Number" })
|
||||
hi("@number.float", { link = "Float" })
|
||||
hi("@boolean", { link = "Boolean" })
|
||||
hi("@constant", { link = "Constant" })
|
||||
hi("@constant.builtin", { fg = c.yellow, italic = true })
|
||||
hi("@constant.macro", { fg = c.purple, bold = true })
|
||||
|
||||
hi("@variable", { fg = c.fg })
|
||||
hi("@variable.builtin", { fg = c.red, italic = true })
|
||||
hi("@variable.parameter", { fg = c.fg, italic = true })
|
||||
hi("@variable.member", { fg = c.cyan })
|
||||
|
||||
hi("@module", { fg = c.blue })
|
||||
hi("@module.builtin", { fg = c.blue, italic = true })
|
||||
hi("@label", { fg = c.orange })
|
||||
|
||||
hi("@function", { link = "Function" })
|
||||
hi("@function.builtin", { fg = c.blue, italic = true, bold = true })
|
||||
hi("@function.call", { fg = c.green })
|
||||
hi("@function.macro", { fg = c.purple, bold = true })
|
||||
hi("@method", { fg = c.green })
|
||||
hi("@method.call", { fg = c.green })
|
||||
|
||||
hi("@constructor", { fg = c.cyan, bold = true })
|
||||
hi("@operator", { link = "Operator" })
|
||||
|
||||
hi("@keyword", { link = "Keyword" })
|
||||
hi("@keyword.function", { fg = c.purple, bold = true })
|
||||
hi("@keyword.operator", { fg = c.purple, italic = true })
|
||||
hi("@keyword.return", { fg = c.purple, bold = true, italic = true })
|
||||
hi("@keyword.import", { fg = c.blue, italic = true })
|
||||
hi("@keyword.conditional", { fg = c.purple, bold = true })
|
||||
hi("@keyword.repeat", { fg = c.purple, bold = true })
|
||||
hi("@keyword.exception", { fg = c.red, bold = true })
|
||||
|
||||
hi("@type", { link = "Type" })
|
||||
hi("@type.builtin", { fg = c.blue, italic = true, bold = true })
|
||||
hi("@type.definition", { fg = c.cyan, bold = true })
|
||||
hi("@attribute", { fg = c.yellow })
|
||||
hi("@property", { fg = c.cyan })
|
||||
hi("@field", { fg = c.cyan })
|
||||
hi("@parameter", { fg = c.fg, italic = true })
|
||||
|
||||
hi("@punctuation.delimiter", { fg = c.subtle })
|
||||
hi("@punctuation.bracket", { fg = c.subtle })
|
||||
hi("@punctuation.special", { fg = c.orange })
|
||||
|
||||
hi("@tag", { fg = c.green, bold = true })
|
||||
hi("@tag.attribute", { fg = c.yellow })
|
||||
hi("@tag.delimiter", { fg = c.subtle })
|
||||
|
||||
-- Telescope
|
||||
hi("TelescopeNormal", { fg = c.fg, bg = c.surface })
|
||||
hi("TelescopeBorder", { fg = c.border, bg = c.surface })
|
||||
hi("TelescopeTitle", { fg = c.green, bg = c.surface, bold = true })
|
||||
hi("TelescopePromptNormal", { fg = c.fg, bg = c.surface })
|
||||
hi("TelescopePromptBorder", { fg = c.border, bg = c.surface })
|
||||
hi("TelescopePromptTitle", { fg = c.bg, bg = c.green, bold = true })
|
||||
hi("TelescopePromptPrefix", { fg = c.green, bg = c.surface })
|
||||
hi("TelescopeResultsNormal", { fg = c.fg, bg = c.surface })
|
||||
hi("TelescopeResultsBorder", { fg = c.border, bg = c.surface })
|
||||
hi("TelescopePreviewNormal", { fg = c.fg, bg = c.surface })
|
||||
hi("TelescopePreviewBorder", { fg = c.border, bg = c.surface })
|
||||
hi("TelescopeSelection", { fg = c.fg, bg = c.surface2 })
|
||||
hi("TelescopeSelectionCaret", { fg = c.green, bg = c.surface2 })
|
||||
hi("TelescopeMatching", { fg = c.yellow, bold = true })
|
||||
|
||||
-- nvim-cmp
|
||||
hi("CmpDocumentation", { fg = c.fg, bg = c.surface })
|
||||
hi("CmpDocumentationBorder", { fg = c.border, bg = c.surface })
|
||||
hi("CmpItemAbbr", { fg = c.fg })
|
||||
hi("CmpItemAbbrMatch", { fg = c.green, bold = true })
|
||||
hi("CmpItemAbbrMatchFuzzy", { fg = c.green, italic = true })
|
||||
hi("CmpItemAbbrDeprecated", { fg = c.muted, strikethrough = true })
|
||||
hi("CmpItemKind", { fg = c.cyan })
|
||||
hi("CmpItemMenu", { fg = c.muted })
|
||||
|
||||
hi("CmpItemKindFunction", { fg = c.green })
|
||||
hi("CmpItemKindMethod", { fg = c.green })
|
||||
hi("CmpItemKindConstructor", { fg = c.cyan })
|
||||
hi("CmpItemKindVariable", { fg = c.fg })
|
||||
hi("CmpItemKindField", { fg = c.cyan })
|
||||
hi("CmpItemKindProperty", { fg = c.cyan })
|
||||
hi("CmpItemKindClass", { fg = c.cyan })
|
||||
hi("CmpItemKindInterface", { fg = c.blue })
|
||||
hi("CmpItemKindStruct", { fg = c.cyan })
|
||||
hi("CmpItemKindModule", { fg = c.blue })
|
||||
hi("CmpItemKindKeyword", { fg = c.purple })
|
||||
hi("CmpItemKindText", { fg = c.fg })
|
||||
hi("CmpItemKindSnippet", { fg = c.orange })
|
||||
hi("CmpItemKindFile", { fg = c.fg })
|
||||
hi("CmpItemKindFolder", { fg = c.green })
|
||||
hi("CmpItemKindEnum", { fg = c.blue })
|
||||
hi("CmpItemKindEnumMember", { fg = c.yellow })
|
||||
hi("CmpItemKindConstant", { fg = c.yellow })
|
||||
hi("CmpItemKindValue", { fg = c.yellow })
|
||||
hi("CmpItemKindUnit", { fg = c.orange })
|
||||
|
||||
-- Neo-tree / NvimTree
|
||||
hi("Directory", { fg = c.green, bold = true })
|
||||
hi("NeoTreeNormal", { fg = c.fg, bg = c.bg })
|
||||
hi("NeoTreeNormalNC", { fg = c.fg, bg = c.bg })
|
||||
hi("NeoTreeDirectoryName", { fg = c.green, bold = true })
|
||||
hi("NeoTreeDirectoryIcon", { fg = c.green })
|
||||
hi("NeoTreeFileName", { fg = c.fg })
|
||||
hi("NeoTreeFileIcon", { fg = c.subtle })
|
||||
hi("NeoTreeIndentMarker", { fg = c.border })
|
||||
hi("NeoTreeRootName", { fg = c.cyan, bold = true })
|
||||
hi("NeoTreeGitAdded", { fg = c.green })
|
||||
hi("NeoTreeGitModified", { fg = c.blue })
|
||||
hi("NeoTreeGitDeleted", { fg = c.red })
|
||||
hi("NeoTreeGitConflict", { fg = c.orange, bold = true })
|
||||
hi("NeoTreeFloatBorder", { fg = c.border, bg = c.surface })
|
||||
hi("NeoTreeFloatTitle", { fg = c.green, bg = c.surface, bold = true })
|
||||
hi("NvimTreeNormal", { fg = c.fg, bg = c.bg })
|
||||
hi("NvimTreeFolderName", { fg = c.green, bold = true })
|
||||
hi("NvimTreeRootFolder", { fg = c.cyan, bold = true })
|
||||
hi("NvimTreeOpenedFolderName", { fg = c.green, bold = true })
|
||||
hi("NvimTreeIndentMarker", { fg = c.border })
|
||||
hi("NvimTreeGitDirty", { fg = c.blue })
|
||||
hi("NvimTreeGitNew", { fg = c.green })
|
||||
hi("NvimTreeGitDeleted", { fg = c.red })
|
||||
|
||||
-- which-key
|
||||
hi("WhichKey", { fg = c.green, bold = true })
|
||||
hi("WhichKeyGroup", { fg = c.cyan })
|
||||
hi("WhichKeyDesc", { fg = c.fg })
|
||||
hi("WhichKeySeparator", { fg = c.border })
|
||||
hi("WhichKeyFloat", { bg = c.surface })
|
||||
hi("WhichKeyBorder", { fg = c.border, bg = c.surface })
|
||||
hi("WhichKeyValue", { fg = c.muted })
|
||||
|
||||
-- Indent guides
|
||||
hi("IblIndent", { fg = c.border })
|
||||
hi("IblScope", { fg = c.blue })
|
||||
hi("IndentBlanklineChar", { fg = c.border })
|
||||
hi("IndentBlanklineContextChar", { fg = c.blue })
|
||||
|
||||
-- lazy.nvim
|
||||
hi("LazyNormal", { fg = c.fg, bg = c.surface })
|
||||
hi("LazyBorder", { fg = c.border, bg = c.surface })
|
||||
hi("LazyButton", { fg = c.fg, bg = c.surface2 })
|
||||
hi("LazyButtonActive", { fg = c.bg, bg = c.green, bold = true })
|
||||
hi("LazyH1", { fg = c.bg, bg = c.green, bold = true })
|
||||
hi("LazySpecial", { fg = c.purple })
|
||||
hi("LazyReasonPlugin", { fg = c.cyan })
|
||||
hi("LazyReasonEvent", { fg = c.yellow })
|
||||
hi("LazyReasonKeys", { fg = c.green })
|
||||
hi("LazyReasonCmd", { fg = c.orange })
|
||||
hi("LazyReasonStart", { fg = c.green })
|
||||
|
||||
-- Markdown / help
|
||||
hi("markdownHeadingDelimiter", { fg = c.green, bold = true })
|
||||
hi("markdownCode", { fg = c.orange })
|
||||
hi("markdownCodeBlock", { fg = c.orange })
|
||||
hi("markdownLinkText", { fg = c.cyan, underline = true })
|
||||
hi("markdownUrl", { fg = c.blue, underline = true })
|
||||
hi("helpCommand", { fg = c.green })
|
||||
hi("helpExample", { fg = c.orange })
|
||||
|
||||
-- Notifications / misc
|
||||
hi("ErrorMsg", { fg = c.red, bold = true })
|
||||
hi("WarningMsg", { fg = c.orange })
|
||||
hi("MoreMsg", { fg = c.green })
|
||||
hi("ModeMsg", { fg = c.cyan, bold = true })
|
||||
hi("Question", { fg = c.green, bold = true })
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user