I can't be bothered
This commit is contained in:
+17252
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,432 @@
|
||||
-- Generated by zshell. Material 3 based Neovim colorscheme.
|
||||
-- This file is a Jinja template rendered by zshell.
|
||||
|
||||
vim.g.colors_name = nil
|
||||
vim.o.background = "dark"
|
||||
|
||||
vim.cmd("highlight clear")
|
||||
if vim.fn.exists("syntax_on") == 1 then
|
||||
vim.cmd("syntax reset")
|
||||
end
|
||||
|
||||
vim.g.colors_name = "zshell"
|
||||
vim.o.termguicolors = true
|
||||
|
||||
local set = vim.api.nvim_set_hl
|
||||
local function hl(group, opts)
|
||||
set(0, group, opts)
|
||||
end
|
||||
|
||||
local function link(from, to)
|
||||
hl(from, { link = to })
|
||||
end
|
||||
|
||||
local is_light = "dark" == "light"
|
||||
local function pick(light, dark)
|
||||
return is_light and light or dark
|
||||
end
|
||||
|
||||
local c = {
|
||||
bg = "#171216",
|
||||
bg_alt = "#201A1F",
|
||||
bg_float = "#241E23",
|
||||
bg_popup = "#2E282D",
|
||||
bg_cursorline = pick("#2E282D", "#3A3338"),
|
||||
bg_fold = "#201A1F",
|
||||
bg_visual = "#5D3F5C",
|
||||
bg_search = pick("#8CAB44", "#5D3F5C"),
|
||||
bg_incsearch = "#D285D3",
|
||||
bg_selection = "#D285D3",
|
||||
bg_statusline = pick("#2E282D", "#241E23"),
|
||||
bg_statusline_nc = "#201A1F",
|
||||
bg_tabline = "#201A1F",
|
||||
bg_tabsel = "#2E282D",
|
||||
|
||||
fg = "#EBDFE6",
|
||||
fg_muted = "#D2C2CE",
|
||||
fg_subtle = "#9B8C98",
|
||||
fg_comment = pick("#9B8C98", "#4F434D"),
|
||||
fg_strong = pick("#1A1B1F", "#F2F2F7"),
|
||||
fg_on_soft = pick("#17181C", "#F4F4F8"),
|
||||
|
||||
border = "#4F434D",
|
||||
accent = "#FCABFC",
|
||||
accent_container = "#D285D3",
|
||||
accent_fg = "#5B1961",
|
||||
accent_solid_fg = "#53115A",
|
||||
|
||||
secondary = "#E2BADE",
|
||||
secondary_container = "#5D3F5C",
|
||||
secondary_fg = "#D3ADCF",
|
||||
secondary_solid_fg = "#422742",
|
||||
|
||||
tertiary = "#B2D266",
|
||||
tertiary_container = "#8CAB44",
|
||||
tertiary_fg = "#2C3C00",
|
||||
tertiary_solid_fg = "#263500",
|
||||
|
||||
error = "#FFB4AB",
|
||||
error_container = "#93000A",
|
||||
error_fg = "#FFDAD6",
|
||||
error_solid_fg = "#690005",
|
||||
|
||||
ok = "#FFBAC2",
|
||||
warn = "#FFDDEA",
|
||||
info = "#B3A2D5",
|
||||
hint = "#FFBA93",
|
||||
add = "#FFBAC2",
|
||||
change = "#B3A2D5",
|
||||
delete = "#F248D2",
|
||||
|
||||
cursor_fg = "#53115A",
|
||||
cursor_bg = "#FCABFC",
|
||||
match_bg = "#8CAB44",
|
||||
match_fg = "#2C3C00",
|
||||
todo_bg = "#8CAB44",
|
||||
todo_fg = "#2C3C00",
|
||||
|
||||
-- Syntax accents must stay dynamic. These come from your generated palette
|
||||
-- instead of fixed hex values, so foregrounds change with the wallpaper too.
|
||||
code_keyword = "#D994CF",
|
||||
code_func = "#FFBA93",
|
||||
code_string = "#FFBAC2",
|
||||
code_number = "#FFDDEA",
|
||||
code_const = "#F248D2",
|
||||
code_type = "#FCABFC",
|
||||
code_special = "#B2D266",
|
||||
code_preproc = "#E2BADE",
|
||||
code_builtin = "#FCABFC",
|
||||
code_param = "#FFDDEA",
|
||||
code_field = "#E2BADE",
|
||||
code_namespace = "#B2D266",
|
||||
code_operator = pick("#FCABFC", "#E2BADE"),
|
||||
|
||||
line_current = pick("#232428", "#E7E7EC"),
|
||||
ref_bg = pick("#3A3338", "#2E282D"),
|
||||
}
|
||||
|
||||
-- Core UI -------------------------------------------------------------------
|
||||
hl("Normal", { fg = c.fg, bg = c.bg })
|
||||
hl("NormalNC", { fg = c.fg, bg = c.bg })
|
||||
hl("NormalFloat", { fg = c.fg, bg = c.bg_float })
|
||||
hl("FloatBorder", { fg = c.border, bg = c.bg_float })
|
||||
hl("FloatTitle", { fg = c.accent, bg = c.bg_float, bold = true })
|
||||
hl("FloatFooter", { fg = c.fg_muted, bg = c.bg_float })
|
||||
hl("WinSeparator", { fg = c.border, bg = "NONE" })
|
||||
link("VertSplit", "WinSeparator")
|
||||
|
||||
hl("Cursor", { fg = c.cursor_fg, bg = c.cursor_bg })
|
||||
link("lCursor", "Cursor")
|
||||
link("CursorIM", "Cursor")
|
||||
link("TermCursor", "Cursor")
|
||||
|
||||
hl("CursorLine", { bg = c.bg_cursorline })
|
||||
hl("CursorColumn", { bg = c.bg_cursorline })
|
||||
hl("ColorColumn", { bg = c.bg_alt })
|
||||
|
||||
hl("LineNr", { fg = c.fg_subtle, bg = c.bg })
|
||||
hl("LineNrAbove", { fg = c.fg_subtle, bg = c.bg })
|
||||
hl("LineNrBelow", { fg = c.fg_subtle, bg = c.bg })
|
||||
hl("CursorLineNr", { fg = c.line_current, bg = c.bg_cursorline, bold = true })
|
||||
|
||||
hl("SignColumn", { fg = c.fg_muted, bg = c.bg })
|
||||
hl("FoldColumn", { fg = c.fg_muted, bg = c.bg })
|
||||
hl("Folded", { fg = c.fg_muted, bg = c.bg_fold, italic = true })
|
||||
|
||||
hl("NonText", { fg = c.border, bg = "NONE" })
|
||||
link("EndOfBuffer", "NonText")
|
||||
hl("Whitespace", { fg = c.border, bg = "NONE" })
|
||||
hl("SpecialKey", { fg = c.border, bg = "NONE" })
|
||||
|
||||
hl("Visual", { bg = c.bg_visual })
|
||||
link("VisualNOS", "Visual")
|
||||
hl("Search", { fg = c.tertiary_fg, bg = c.bg_search })
|
||||
hl("CurSearch", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true })
|
||||
link("IncSearch", "CurSearch")
|
||||
hl("Substitute", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true })
|
||||
hl("MatchParen", { fg = c.match_fg, bg = c.match_bg, bold = true })
|
||||
|
||||
hl("Pmenu", { fg = c.fg, bg = c.bg_popup })
|
||||
hl("PmenuSel", { fg = c.fg_on_soft, bg = c.bg_selection, bold = true })
|
||||
hl("PmenuKind", { fg = c.secondary, bg = c.bg_popup })
|
||||
hl("PmenuKindSel", { fg = c.fg_on_soft, bg = c.secondary_container, bold = true })
|
||||
hl("PmenuExtra", { fg = c.fg_muted, bg = c.bg_popup })
|
||||
hl("PmenuExtraSel", { fg = c.fg_on_soft, bg = c.bg_selection })
|
||||
hl("PmenuSbar", { bg = c.bg_alt })
|
||||
hl("PmenuThumb", { bg = c.border })
|
||||
hl("PmenuMatch", { fg = c.accent, bg = c.bg_popup, bold = true })
|
||||
hl("PmenuMatchSel", { fg = c.accent, bg = c.bg_selection, bold = true })
|
||||
hl("PmenuBorder", { fg = c.border, bg = c.bg_popup })
|
||||
|
||||
hl("StatusLine", { fg = c.fg_strong, bg = c.bg_statusline })
|
||||
hl("StatusLineNC", { fg = c.fg_muted, bg = c.bg_statusline_nc })
|
||||
link("StatusLineTerm", "StatusLine")
|
||||
link("StatusLineTermNC", "StatusLineNC")
|
||||
hl("TabLine", { fg = c.fg_muted, bg = c.bg_tabline })
|
||||
hl("TabLineFill", { bg = c.bg_tabline })
|
||||
hl("TabLineSel", { fg = c.fg_on_soft, bg = c.accent_container, bold = true })
|
||||
hl("WinBar", { fg = c.fg, bg = c.bg })
|
||||
hl("WinBarNC", { fg = c.fg_muted, bg = c.bg })
|
||||
|
||||
hl("Directory", { fg = c.accent, bg = "NONE" })
|
||||
hl("Title", { fg = c.accent, bg = "NONE", bold = true })
|
||||
hl("Question", { fg = c.secondary, bg = "NONE", bold = true })
|
||||
hl("ModeMsg", { fg = c.accent, bg = "NONE", bold = true })
|
||||
hl("MoreMsg", { fg = c.info, bg = "NONE", bold = true })
|
||||
hl("ErrorMsg", { fg = c.error, bg = "NONE", bold = true })
|
||||
hl("WarningMsg", { fg = c.warn, bg = "NONE", bold = true })
|
||||
hl("OkMsg", { fg = c.ok, bg = "NONE", bold = true })
|
||||
hl("QuickFixLine", { bg = c.bg_selection, bold = true })
|
||||
|
||||
-- Diffs ---------------------------------------------------------------------
|
||||
hl("DiffAdd", { fg = c.add, bg = c.bg_alt })
|
||||
hl("DiffChange", { fg = c.change, bg = c.bg_alt })
|
||||
hl("DiffDelete", { fg = c.delete, bg = c.bg_alt })
|
||||
hl("DiffText", { fg = c.fg_on_soft, bg = c.accent_container, bold = true })
|
||||
link("DiffTextAdd", "DiffText")
|
||||
hl("Added", { fg = c.add })
|
||||
hl("Changed", { fg = c.change })
|
||||
hl("Removed", { fg = c.delete })
|
||||
|
||||
-- Standard syntax groups ----------------------------------------------------
|
||||
hl("Comment", { fg = c.fg_comment, italic = true })
|
||||
hl("Constant", { fg = c.code_const })
|
||||
hl("String", { fg = c.code_string })
|
||||
hl("Character", { fg = c.code_string })
|
||||
hl("Number", { fg = c.code_number })
|
||||
hl("Boolean", { fg = c.code_number, bold = true })
|
||||
hl("Float", { fg = c.code_number })
|
||||
|
||||
hl("Identifier", { fg = c.fg })
|
||||
hl("Function", { fg = c.code_func, bold = true })
|
||||
|
||||
hl("Statement", { fg = c.code_keyword, bold = true })
|
||||
link("Conditional", "Statement")
|
||||
link("Repeat", "Statement")
|
||||
link("Label", "Statement")
|
||||
hl("Operator", { fg = c.code_operator })
|
||||
hl("Keyword", { fg = c.code_keyword, italic = true })
|
||||
link("Exception", "Statement")
|
||||
|
||||
hl("PreProc", { fg = c.code_preproc })
|
||||
link("Include", "PreProc")
|
||||
link("Define", "PreProc")
|
||||
link("Macro", "PreProc")
|
||||
link("PreCondit", "PreProc")
|
||||
|
||||
hl("Type", { fg = c.code_type, bold = true })
|
||||
link("StorageClass", "Type")
|
||||
link("Structure", "Type")
|
||||
link("Typedef", "Type")
|
||||
|
||||
hl("Special", { fg = c.code_special })
|
||||
link("SpecialChar", "Special")
|
||||
link("Tag", "Special")
|
||||
hl("Delimiter", { fg = c.fg_muted })
|
||||
link("SpecialComment", "Special")
|
||||
link("Debug", "Special")
|
||||
|
||||
hl("Underlined", { fg = c.accent, underline = true })
|
||||
hl("Todo", { fg = c.todo_fg, bg = c.todo_bg, bold = true })
|
||||
hl("Error", { fg = c.error, bold = true })
|
||||
|
||||
-- Spell ---------------------------------------------------------------------
|
||||
hl("SpellBad", { sp = c.error, undercurl = true })
|
||||
hl("SpellCap", { sp = c.info, undercurl = true })
|
||||
hl("SpellLocal", { sp = c.hint, undercurl = true })
|
||||
hl("SpellRare", { sp = c.secondary, undercurl = true })
|
||||
|
||||
-- Diagnostics ---------------------------------------------------------------
|
||||
hl("DiagnosticError", { fg = c.error })
|
||||
hl("DiagnosticWarn", { fg = c.warn })
|
||||
hl("DiagnosticInfo", { fg = c.info })
|
||||
hl("DiagnosticHint", { fg = c.hint })
|
||||
hl("DiagnosticOk", { fg = c.ok })
|
||||
|
||||
hl("DiagnosticUnderlineError", { sp = c.error, undercurl = true })
|
||||
hl("DiagnosticUnderlineWarn", { sp = c.warn, undercurl = true })
|
||||
hl("DiagnosticUnderlineInfo", { sp = c.info, undercurl = true })
|
||||
hl("DiagnosticUnderlineHint", { sp = c.hint, undercurl = true })
|
||||
hl("DiagnosticUnderlineOk", { sp = c.ok, undercurl = true })
|
||||
|
||||
link("DiagnosticSignError", "DiagnosticError")
|
||||
link("DiagnosticSignWarn", "DiagnosticWarn")
|
||||
link("DiagnosticSignInfo", "DiagnosticInfo")
|
||||
link("DiagnosticSignHint", "DiagnosticHint")
|
||||
link("DiagnosticSignOk", "DiagnosticOk")
|
||||
|
||||
link("DiagnosticFloatingError", "DiagnosticError")
|
||||
link("DiagnosticFloatingWarn", "DiagnosticWarn")
|
||||
link("DiagnosticFloatingInfo", "DiagnosticInfo")
|
||||
link("DiagnosticFloatingHint", "DiagnosticHint")
|
||||
link("DiagnosticFloatingOk", "DiagnosticOk")
|
||||
|
||||
hl("DiagnosticVirtualTextError", { fg = c.error, bg = c.error_container })
|
||||
hl("DiagnosticVirtualTextWarn", { fg = c.warn, bg = c.bg_alt })
|
||||
hl("DiagnosticVirtualTextInfo", { fg = c.info, bg = c.bg_alt })
|
||||
hl("DiagnosticVirtualTextHint", { fg = c.hint, bg = c.bg_alt })
|
||||
hl("DiagnosticVirtualTextOk", { fg = c.ok, bg = c.bg_alt })
|
||||
|
||||
link("DiagnosticVirtualLinesError", "DiagnosticVirtualTextError")
|
||||
link("DiagnosticVirtualLinesWarn", "DiagnosticVirtualTextWarn")
|
||||
link("DiagnosticVirtualLinesInfo", "DiagnosticVirtualTextInfo")
|
||||
link("DiagnosticVirtualLinesHint", "DiagnosticVirtualTextHint")
|
||||
link("DiagnosticVirtualLinesOk", "DiagnosticVirtualTextOk")
|
||||
|
||||
hl("DiagnosticDeprecated", { fg = c.fg_muted, strikethrough = true })
|
||||
hl("DiagnosticUnnecessary", { fg = c.fg_muted, italic = true })
|
||||
|
||||
-- LSP reference/inlay/codelens ---------------------------------------------
|
||||
hl("LspReferenceText", { bg = c.ref_bg })
|
||||
hl("LspReferenceRead", { bg = c.ref_bg })
|
||||
hl("LspReferenceWrite", { bg = c.ref_bg, sp = c.accent, undercurl = true })
|
||||
hl("LspReferenceTarget", { fg = c.accent, bg = c.ref_bg, bold = true })
|
||||
hl("LspInlayHint", { fg = c.fg_muted, bg = c.bg_alt, italic = true })
|
||||
hl("LspCodeLens", { fg = c.fg_muted, italic = true })
|
||||
hl("LspCodeLensSeparator", { fg = c.border })
|
||||
hl("LspSignatureActiveParameter", { fg = c.accent, bold = true, underline = true })
|
||||
|
||||
-- Treesitter captures -------------------------------------------------------
|
||||
link("@comment", "Comment")
|
||||
link("@comment.documentation", "Comment")
|
||||
link("@comment.todo", "Todo")
|
||||
link("@comment.error", "DiagnosticError")
|
||||
link("@comment.warning", "DiagnosticWarn")
|
||||
link("@comment.note", "DiagnosticInfo")
|
||||
|
||||
link("@constant", "Constant")
|
||||
hl("@constant.builtin", { fg = c.code_builtin, italic = true, bold = true })
|
||||
hl("@constant.macro", { fg = c.code_preproc, bold = true })
|
||||
link("@string", "String")
|
||||
hl("@string.escape", { fg = c.code_special, bold = true })
|
||||
link("@string.regex", "Special")
|
||||
link("@character", "Character")
|
||||
link("@number", "Number")
|
||||
link("@boolean", "Boolean")
|
||||
link("@float", "Float")
|
||||
|
||||
link("@variable", "Identifier")
|
||||
hl("@variable.builtin", { fg = c.code_builtin, italic = true, bold = true })
|
||||
hl("@variable.parameter", { fg = c.code_param, italic = true })
|
||||
hl("@variable.member", { fg = c.code_field })
|
||||
hl("@property", { fg = c.code_field })
|
||||
hl("@field", { fg = c.code_field })
|
||||
|
||||
link("@function", "Function")
|
||||
hl("@function.builtin", { fg = c.code_builtin, bold = true })
|
||||
link("@function.call", "Function")
|
||||
hl("@function.method", { fg = c.code_func })
|
||||
hl("@function.method.call", { fg = c.code_func })
|
||||
hl("@constructor", { fg = c.code_type, bold = true })
|
||||
|
||||
link("@keyword", "Keyword")
|
||||
hl("@keyword.function", { fg = c.code_keyword, bold = true })
|
||||
hl("@keyword.operator", { fg = c.code_operator })
|
||||
link("@keyword.return", "Keyword")
|
||||
link("@conditional", "Conditional")
|
||||
link("@repeat", "Repeat")
|
||||
link("@label", "Label")
|
||||
link("@operator", "Operator")
|
||||
link("@exception", "Exception")
|
||||
|
||||
link("@preproc", "PreProc")
|
||||
link("@include", "Include")
|
||||
link("@define", "Define")
|
||||
link("@macro", "Macro")
|
||||
|
||||
link("@type", "Type")
|
||||
hl("@type.builtin", { fg = c.code_type, italic = true, bold = true })
|
||||
link("@type.definition", "Type")
|
||||
hl("@attribute", { fg = c.code_preproc })
|
||||
hl("@module", { fg = c.code_namespace })
|
||||
hl("@namespace", { fg = c.code_namespace })
|
||||
|
||||
link("@punctuation.delimiter", "Delimiter")
|
||||
link("@punctuation.bracket", "Delimiter")
|
||||
hl("@punctuation.special", { fg = c.code_special })
|
||||
link("@tag", "Tag")
|
||||
hl("@tag.attribute", { fg = c.code_field })
|
||||
link("@tag.delimiter", "Delimiter")
|
||||
|
||||
-- LSP semantic token families ----------------------------------------------
|
||||
link("@lsp.type.class", "@type")
|
||||
link("@lsp.type.comment", "@comment")
|
||||
link("@lsp.type.decorator", "@attribute")
|
||||
link("@lsp.type.enum", "@type")
|
||||
link("@lsp.type.enumMember", "@constant")
|
||||
link("@lsp.type.event", "@property")
|
||||
link("@lsp.type.function", "@function")
|
||||
link("@lsp.type.interface", "@type")
|
||||
link("@lsp.type.keyword", "@keyword")
|
||||
link("@lsp.type.macro", "@macro")
|
||||
link("@lsp.type.method", "@function.method")
|
||||
link("@lsp.type.modifier", "@keyword")
|
||||
link("@lsp.type.namespace", "@namespace")
|
||||
link("@lsp.type.number", "@number")
|
||||
link("@lsp.type.operator", "@operator")
|
||||
link("@lsp.type.parameter", "@variable.parameter")
|
||||
link("@lsp.type.property", "@property")
|
||||
link("@lsp.type.regexp", "@string.regex")
|
||||
link("@lsp.type.string", "@string")
|
||||
link("@lsp.type.struct", "@type")
|
||||
link("@lsp.type.type", "@type")
|
||||
link("@lsp.type.typeParameter", "@type")
|
||||
link("@lsp.type.variable", "@variable")
|
||||
|
||||
hl("@lsp.mod.deprecated", { strikethrough = true })
|
||||
link("@lsp.mod.readonly", "Constant")
|
||||
link("@lsp.typemod.variable.readonly", "Constant")
|
||||
|
||||
-- Common plugin aliases -----------------------------------------------------
|
||||
hl("GitSignsAdd", { fg = c.add, bg = c.bg })
|
||||
hl("GitSignsChange", { fg = c.change, bg = c.bg })
|
||||
hl("GitSignsDelete", { fg = c.delete, bg = c.bg })
|
||||
|
||||
hl("MiniIndentscopeSymbol", { fg = c.border, nocombine = true })
|
||||
hl("IblIndent", { fg = c.border, nocombine = true })
|
||||
hl("IblScope", { fg = c.fg_muted, nocombine = true })
|
||||
|
||||
link("TelescopeNormal", "NormalFloat")
|
||||
link("TelescopeBorder", "FloatBorder")
|
||||
link("TelescopeTitle", "FloatTitle")
|
||||
link("TelescopeSelection", "PmenuSel")
|
||||
hl("TelescopeMatching", { fg = c.accent, bold = true })
|
||||
|
||||
-- Snacks.nvim picker / explorer --------------------------------------------
|
||||
hl("SnacksPicker", { fg = c.fg, bg = c.bg })
|
||||
hl("SnacksPickerBorder", { fg = c.border, bg = c.bg })
|
||||
hl("SnacksPickerBoxBorder", { fg = c.border, bg = c.bg_alt })
|
||||
hl("SnacksPickerTitle", { fg = c.accent, bg = c.bg_alt, bold = true })
|
||||
|
||||
hl("SnacksPickerInput", { fg = c.fg, bg = c.bg_alt })
|
||||
hl("SnacksPickerInputBorder", { fg = c.border, bg = c.bg_alt })
|
||||
hl("SnacksPickerInputTitle", { fg = c.accent, bg = c.bg_alt, bold = true })
|
||||
hl("SnacksPickerInputSearch", { fg = c.accent, bg = c.bg_alt, bold = true })
|
||||
hl("SnacksPickerPrompt", { fg = c.accent, bg = c.bg_alt, bold = true })
|
||||
|
||||
hl("SnacksPickerList", { fg = c.fg, bg = c.bg })
|
||||
hl("SnacksPickerListBorder", { fg = c.border, bg = c.bg })
|
||||
hl("SnacksPickerListTitle", { fg = c.secondary, bg = c.bg, bold = true })
|
||||
hl("SnacksPickerListCursorLine", { bg = c.bg_cursorline })
|
||||
|
||||
hl("SnacksPickerPreview", { fg = c.fg, bg = c.bg_float })
|
||||
hl("SnacksPickerPreviewBorder", { fg = c.border, bg = c.bg_float })
|
||||
hl("SnacksPickerPreviewTitle", { fg = c.tertiary, bg = c.bg_float, bold = true })
|
||||
|
||||
hl("SnacksPickerMatch", { fg = c.accent, bold = true })
|
||||
hl("SnacksPickerFile", { fg = c.fg })
|
||||
hl("SnacksPickerDir", { fg = c.secondary })
|
||||
hl("SnacksPickerPathHidden", { fg = c.fg_muted })
|
||||
hl("SnacksPickerPathIgnored", { fg = c.fg_subtle, italic = true })
|
||||
hl("SnacksPickerPathExcluded", { fg = c.fg_subtle, italic = true })
|
||||
|
||||
hl("SnacksPickerGitStatusAdded", { fg = c.add })
|
||||
hl("SnacksPickerGitStatusModified", { fg = c.change })
|
||||
hl("SnacksPickerGitStatusDeleted", { fg = c.delete })
|
||||
hl("SnacksPickerGitStatusRenamed", { fg = c.info })
|
||||
hl("SnacksPickerGitStatusCopied", { fg = c.info })
|
||||
hl("SnacksPickerGitStatusUntracked", { fg = c.hint })
|
||||
hl("SnacksPickerGitStatusIgnored", { fg = c.fg_subtle })
|
||||
hl("SnacksPickerGitStatusStaged", { fg = c.ok })
|
||||
|
||||
return c
|
||||
@@ -1,3 +1,4 @@
|
||||
if not MiniSplitjoin then return end
|
||||
local gen_hook = MiniSplitjoin.gen_hook
|
||||
|
||||
local curly = { brackets = { '%b{}' }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
require("config.lazy")
|
||||
require("options")
|
||||
require("config.lazy")
|
||||
require("globals")
|
||||
require("mappings")
|
||||
require("autocmd")
|
||||
|
||||
+24
-24
@@ -3,40 +3,40 @@ local autocmd = vim.api.nvim_create_autocmd
|
||||
autocmd("LspAttach", {
|
||||
callback = function(args)
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
if client and vim.lsp.document_color and vim.lsp.document_color.enable then
|
||||
vim.lsp.document_color.enable(false, args.buf, { "background" })
|
||||
if client then
|
||||
vim.lsp.document_color.enable(false, { bufnr = args.buf })
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd("VimLeave", {
|
||||
command = "set guicursor=a:ver25-Cursor",
|
||||
command = "set guicursor=a:ver25-Cursor",
|
||||
})
|
||||
|
||||
autocmd("BufWritePre", {
|
||||
callback = function()
|
||||
local ok = pcall(function()
|
||||
vim.cmd "undojoin"
|
||||
end)
|
||||
vim.cmd "Neoformat"
|
||||
end,
|
||||
callback = function()
|
||||
local ok = pcall(function()
|
||||
vim.cmd "undojoin"
|
||||
end)
|
||||
vim.cmd "Neoformat"
|
||||
end,
|
||||
})
|
||||
|
||||
-- fWindows
|
||||
autocmd("VimLeavePre", {
|
||||
group = vim.api.nvim_create_augroup('fuck_shada_temp', { clear = true }),
|
||||
pattern = { '*' },
|
||||
callback = function()
|
||||
local status = 0
|
||||
for _, f in ipairs(vim.fn.globpath(vim.fn.stdpath('data') .. '/shada', '*tmp*', false, true)) do
|
||||
if vim.tbl_isempty(vim.fn.readfile(f)) then
|
||||
status = status + vim.fn.delete(f)
|
||||
end
|
||||
end
|
||||
if status ~= 0 then
|
||||
vim.notify('Could not delete empty temporary ShaDa files.', vim.log.levels.ERROR)
|
||||
vim.fn.getchar()
|
||||
end
|
||||
end,
|
||||
desc = "Delete empty temp ShaDa files"
|
||||
group = vim.api.nvim_create_augroup("fuck_shada_temp", { clear = true }),
|
||||
pattern = { "*" },
|
||||
callback = function()
|
||||
local status = 0
|
||||
for _, f in ipairs(vim.fn.globpath(vim.fn.stdpath "data" .. "/shada", "*tmp*", false, true)) do
|
||||
if vim.tbl_isempty(vim.fn.readfile(f)) then
|
||||
status = status + vim.fn.delete(f)
|
||||
end
|
||||
end
|
||||
if status ~= 0 then
|
||||
vim.notify("Could not delete empty temporary ShaDa files.", vim.log.levels.ERROR)
|
||||
vim.fn.getchar()
|
||||
end
|
||||
end,
|
||||
desc = "Delete empty temp ShaDa files",
|
||||
})
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
require("copilot_cmp").setup {
|
||||
event = { "InsertEnter", "LspAttach" },
|
||||
fix_pairs = true,
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
require("colorizer").setup({
|
||||
user_default_options = {
|
||||
mode = "virtualtext",
|
||||
virtualtext = "■",
|
||||
css = true,
|
||||
tailwind = true,
|
||||
sass = { enable = true, parsers = { "css" }},
|
||||
virtualtext_inline = 'before',
|
||||
AARRGGBB = true,
|
||||
},
|
||||
})
|
||||
require("colorizer").setup {
|
||||
user_default_options = {
|
||||
mode = "virtualtext",
|
||||
virtualtext = "■",
|
||||
css = true,
|
||||
tailwind = true,
|
||||
sass = { enable = true, parsers = { "css" } },
|
||||
virtualtext_inline = "before",
|
||||
AARRGGBB = true,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
-- Generated by zshell. Lualine theme matching the zshell colorscheme.
|
||||
|
||||
local is_light = "dark" == "light"
|
||||
local function pick(light, dark)
|
||||
return is_light and light or dark
|
||||
end
|
||||
|
||||
local c = {
|
||||
bg = "#171216",
|
||||
bg_alt = "#201A1F",
|
||||
bg_mid = pick("#2E282D", "#241E23"),
|
||||
fg = "#EBDFE6",
|
||||
fg_muted = "#D2C2CE",
|
||||
fg_strong = pick("#15161A", "#F4F4F8"),
|
||||
|
||||
normal = "#D285D3",
|
||||
insert = "#5D3F5C",
|
||||
visual = "#8CAB44",
|
||||
replace = "#93000A",
|
||||
command = pick("#FFDDEA", "#B3A2D5"),
|
||||
inactive = "#201A1F",
|
||||
|
||||
normal_fg = pick("#15161A", "#F4F4F8"),
|
||||
insert_fg = pick("#15161A", "#F4F4F8"),
|
||||
visual_fg = pick("#15161A", "#F4F4F8"),
|
||||
replace_fg = pick("#15161A", "#F4F4F8"),
|
||||
command_fg = pick("#15161A", "#F4F4F8"),
|
||||
}
|
||||
|
||||
return {
|
||||
normal = {
|
||||
a = { fg = c.normal_fg, bg = c.normal, gui = "bold" },
|
||||
b = { fg = c.fg_strong, bg = c.bg_mid },
|
||||
c = { fg = c.fg, bg = c.bg_alt },
|
||||
},
|
||||
insert = {
|
||||
a = { fg = c.insert_fg, bg = c.insert, gui = "bold" },
|
||||
b = { fg = c.fg_strong, bg = c.bg_mid },
|
||||
c = { fg = c.fg, bg = c.bg_alt },
|
||||
},
|
||||
visual = {
|
||||
a = { fg = c.visual_fg, bg = c.visual, gui = "bold" },
|
||||
b = { fg = c.fg_strong, bg = c.bg_mid },
|
||||
c = { fg = c.fg, bg = c.bg_alt },
|
||||
},
|
||||
replace = {
|
||||
a = { fg = c.replace_fg, bg = c.replace, gui = "bold" },
|
||||
b = { fg = c.fg_strong, bg = c.bg_mid },
|
||||
c = { fg = c.fg, bg = c.bg_alt },
|
||||
},
|
||||
command = {
|
||||
a = { fg = c.command_fg, bg = c.command, gui = "bold" },
|
||||
b = { fg = c.fg_strong, bg = c.bg_mid },
|
||||
c = { fg = c.fg, bg = c.bg_alt },
|
||||
},
|
||||
inactive = {
|
||||
a = { fg = c.fg_muted, bg = c.inactive, gui = "bold" },
|
||||
b = { fg = c.fg_muted, bg = c.inactive },
|
||||
c = { fg = c.fg_muted, bg = c.bg },
|
||||
},
|
||||
}
|
||||
+250
-257
@@ -1,261 +1,254 @@
|
||||
return {
|
||||
{
|
||||
require("config.snacks")
|
||||
},
|
||||
{
|
||||
"nvim-mini/mini.nvim",
|
||||
version = false,
|
||||
{
|
||||
require "config.snacks",
|
||||
},
|
||||
{
|
||||
"nvim-mini/mini.nvim",
|
||||
version = false,
|
||||
|
||||
modules = function()
|
||||
require("config.mini-modules")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
lazy = false,
|
||||
build = ":TSUpdate",
|
||||
branch = "main",
|
||||
config = function()
|
||||
require "config.treesitter"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"sainnhe/edge",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
vim.g.edge_enable_italic = 1
|
||||
vim.g.edge_style = "default"
|
||||
vim.g.edge_menu_selection_background = "purple"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rmagatti/auto-session",
|
||||
config = function()
|
||||
require("config.autosession")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"lambdalisue/vim-suda",
|
||||
init = function()
|
||||
vim.g.suda_smart_edit = 1
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("config.barbar")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mawkler/modicator.nvim",
|
||||
config = function()
|
||||
require("config.modicator")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"shinchu/lightline-gruvbox.vim",
|
||||
},
|
||||
{
|
||||
"jiaoshijie/undotree",
|
||||
config = function()
|
||||
require("config.undotree")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hiphish/rainbow-delimiters.nvim",
|
||||
enabled = true,
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("config.autopairs")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"tpope/vim-fugitive",
|
||||
},
|
||||
{
|
||||
"rcarriga/nvim-notify",
|
||||
config = function()
|
||||
require "config.notify"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require "config.ai.copilot"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"zbirenbaum/copilot-cmp",
|
||||
config = function ()
|
||||
require "config.ai.copilot_cmp"
|
||||
end,
|
||||
modules = function()
|
||||
require "config.mini-modules"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
lazy = false,
|
||||
build = ":TSUpdate",
|
||||
branch = "main",
|
||||
config = function()
|
||||
require "config.treesitter"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"sainnhe/edge",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
vim.g.edge_enable_italic = 1
|
||||
vim.g.edge_style = "default"
|
||||
vim.g.edge_menu_selection_background = "purple"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rmagatti/auto-session",
|
||||
config = function()
|
||||
require "config.autosession"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"lambdalisue/vim-suda",
|
||||
init = function()
|
||||
vim.g.suda_smart_edit = 1
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require "config.barbar"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mawkler/modicator.nvim",
|
||||
config = function()
|
||||
require "config.modicator"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"shinchu/lightline-gruvbox.vim",
|
||||
},
|
||||
{
|
||||
"jiaoshijie/undotree",
|
||||
config = function()
|
||||
require "config.undotree"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hiphish/rainbow-delimiters.nvim",
|
||||
enabled = true,
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require "config.autopairs"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"tpope/vim-fugitive",
|
||||
},
|
||||
{
|
||||
"rcarriga/nvim-notify",
|
||||
config = function()
|
||||
require "config.notify"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require "config.ai.copilot"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"CopilotC-Nvim/CopilotChat.nvim",
|
||||
dependencies = {
|
||||
{ "zbirenbaum/copilot.lua" },
|
||||
{ "nvim-lua/plenary.nvim", branch = "master" },
|
||||
},
|
||||
{
|
||||
"CopilotC-Nvim/CopilotChat.nvim",
|
||||
dependencies = {
|
||||
{ "zbirenbaum/copilot.lua" },
|
||||
{ "nvim-lua/plenary.nvim", branch = "master" },
|
||||
},
|
||||
build = "make tiktoken",
|
||||
config = function()
|
||||
require "config.ai.copilotchat"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
config = function()
|
||||
require("config.dapconf")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
opts = {},
|
||||
dependencies = {
|
||||
{ "mason-org/mason.nvim", opts = {} },
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = function()
|
||||
require("config.lazydev")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
enabled = true,
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/nvim-cmp",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"j-hui/fidget.nvim",
|
||||
"b0o/schemastore.nvim",
|
||||
"saghen/blink.cmp",
|
||||
},
|
||||
config = function()
|
||||
require("config.format.lspconfig")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"smolck/command-completion.nvim",
|
||||
opts = {
|
||||
border = nil,
|
||||
highlight_selection = true,
|
||||
use_matchfuzzy = true,
|
||||
tab_completion = true,
|
||||
},
|
||||
},
|
||||
{
|
||||
"andweeb/presence.nvim",
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-jdtls",
|
||||
},
|
||||
{
|
||||
"ziglang/zig.vim",
|
||||
},
|
||||
{
|
||||
"mg979/vim-visual-multi",
|
||||
branch = "master",
|
||||
},
|
||||
{
|
||||
"elkowar/yuck.vim",
|
||||
},
|
||||
{
|
||||
"f3fora/nvim-texlabconfig",
|
||||
config = function()
|
||||
require("config.format.texlab")
|
||||
end,
|
||||
build = "go build",
|
||||
},
|
||||
{
|
||||
"lancewilhelm/horizon-extended.nvim",
|
||||
},
|
||||
{
|
||||
"vimpostor/vim-tpipeline",
|
||||
},
|
||||
{
|
||||
"yazeed1s/minimal.nvim",
|
||||
config = function()
|
||||
vim.g.minimal_italic_comments = true
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
config = function()
|
||||
require("config.format.refactoring")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Yazeed1s/minimal.nvim",
|
||||
config = function()
|
||||
vim.g.minimal_italic_comments = true
|
||||
vim.g.minimal_italic_functions = true
|
||||
end,
|
||||
},
|
||||
{
|
||||
"aserowy/tmux.nvim",
|
||||
config = function()
|
||||
require("config.terminal.tmux")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rachartier/tiny-inline-diagnostic.nvim",
|
||||
config = function ()
|
||||
require("config.format.TID")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
config = function()
|
||||
require("config.harpoon")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"aznhe21/actions-preview.nvim",
|
||||
config = function()
|
||||
require("config.actions-preview")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"sbdchd/neoformat",
|
||||
config = function()
|
||||
require("config.format.neoformat")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Zacharias-Brohn/zterm-navigator.nvim",
|
||||
config = function()
|
||||
require("config.terminal.zterm-navigator")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Fildo7525/pretty_hover",
|
||||
event = "LspAttach",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"artemave/workspace-diagnostics.nvim",
|
||||
},
|
||||
build = "make tiktoken",
|
||||
config = function()
|
||||
require "config.ai.copilotchat"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
config = function()
|
||||
require "config.dapconf"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
opts = {},
|
||||
dependencies = {
|
||||
{ "mason-org/mason.nvim", opts = {} },
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = function()
|
||||
require "config.lazydev"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
enabled = true,
|
||||
dependencies = {
|
||||
-- "williamboman/mason.nvim",
|
||||
-- "williamboman/mason-lspconfig.nvim",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/nvim-cmp",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"j-hui/fidget.nvim",
|
||||
"b0o/schemastore.nvim",
|
||||
},
|
||||
config = function()
|
||||
require "config.format.lspconfig"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"smolck/command-completion.nvim",
|
||||
opts = {
|
||||
border = nil,
|
||||
highlight_selection = true,
|
||||
use_matchfuzzy = true,
|
||||
tab_completion = true,
|
||||
},
|
||||
},
|
||||
{
|
||||
"andweeb/presence.nvim",
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-jdtls",
|
||||
},
|
||||
{
|
||||
"ziglang/zig.vim",
|
||||
},
|
||||
{
|
||||
"mg979/vim-visual-multi",
|
||||
branch = "master",
|
||||
},
|
||||
{
|
||||
"elkowar/yuck.vim",
|
||||
},
|
||||
{
|
||||
"f3fora/nvim-texlabconfig",
|
||||
config = function()
|
||||
require "config.format.texlab"
|
||||
end,
|
||||
build = "go build",
|
||||
},
|
||||
{
|
||||
"lancewilhelm/horizon-extended.nvim",
|
||||
},
|
||||
{
|
||||
"vimpostor/vim-tpipeline",
|
||||
},
|
||||
{
|
||||
"yazeed1s/minimal.nvim",
|
||||
config = function()
|
||||
vim.g.minimal_italic_comments = true
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
config = function()
|
||||
require "config.format.refactoring"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Yazeed1s/minimal.nvim",
|
||||
config = function()
|
||||
vim.g.minimal_italic_comments = true
|
||||
vim.g.minimal_italic_functions = true
|
||||
end,
|
||||
},
|
||||
{
|
||||
"aserowy/tmux.nvim",
|
||||
config = function()
|
||||
require "config.terminal.tmux"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rachartier/tiny-inline-diagnostic.nvim",
|
||||
config = function()
|
||||
require "config.format.TID"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
config = function()
|
||||
require "config.harpoon"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"aznhe21/actions-preview.nvim",
|
||||
config = function()
|
||||
require "config.actions-preview"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"sbdchd/neoformat",
|
||||
config = function()
|
||||
require "config.format.neoformat"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Zacharias-Brohn/zterm-navigator.nvim",
|
||||
config = function()
|
||||
require "config.terminal.zterm-navigator"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Fildo7525/pretty_hover",
|
||||
event = "LspAttach",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"artemave/workspace-diagnostics.nvim",
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user