feat: ex catppuccin

This commit is contained in:
xfy 2026-05-29 10:49:31 +08:00
parent e0dfc66055
commit 3f0d338fb8
5 changed files with 315 additions and 1 deletions

View File

@ -0,0 +1,237 @@
-- This file is generated by ex-colors. The credit goes to the authors and contributors of the original colorscheme mytheme-mocha.
vim.api.nvim_set_var("colors_name", "ex-mytheme-mocha")
vim.api.nvim_set_hl(0, "@attribute", { link = "Constant" })
vim.api.nvim_set_hl(0, "@comment.documentation", { link = "Comment" })
vim.api.nvim_set_hl(0, "@comment.error", { bg = 15961000, fg = 1973806 })
vim.api.nvim_set_hl(0, "@comment.note", { bg = 9024762, fg = 1973806 })
vim.api.nvim_set_hl(0, "@comment.todo", { bg = 15912397, fg = 1973806 })
vim.api.nvim_set_hl(0, "@comment.warning", { bg = 16376495, fg = 1973806 })
vim.api.nvim_set_hl(0, "@constant.builtin", { fg = 16429959 })
vim.api.nvim_set_hl(0, "@constant.macro", { link = "Macro" })
vim.api.nvim_set_hl(0, "@constructor", { fg = 16376495 })
vim.api.nvim_set_hl(0, "@diff.delta", { link = "diffChanged" })
vim.api.nvim_set_hl(0, "@diff.minus", { link = "diffRemoved" })
vim.api.nvim_set_hl(0, "@diff.plus", { link = "diffAdded" })
vim.api.nvim_set_hl(0, "@function.builtin", { fg = 16429959 })
vim.api.nvim_set_hl(0, "@function.call", { link = "Function" })
vim.api.nvim_set_hl(0, "@function.macro", { fg = 16106215 })
vim.api.nvim_set_hl(0, "@function.method", { link = "Function" })
vim.api.nvim_set_hl(0, "@function.method.call", { link = "Function" })
vim.api.nvim_set_hl(0, "@keyword.conditional", { link = "Conditional" })
vim.api.nvim_set_hl(0, "@keyword.conditional.ternary", { link = "Operator" })
vim.api.nvim_set_hl(0, "@keyword.coroutine", { link = "Keyword" })
vim.api.nvim_set_hl(0, "@keyword.debug", { link = "Exception" })
vim.api.nvim_set_hl(0, "@keyword.directive", { link = "PreProc" })
vim.api.nvim_set_hl(0, "@keyword.directive.define", { link = "Define" })
vim.api.nvim_set_hl(0, "@keyword.exception", { link = "Exception" })
vim.api.nvim_set_hl(0, "@keyword.function", { fg = 13346551 })
vim.api.nvim_set_hl(0, "@keyword.import", { link = "Include" })
vim.api.nvim_set_hl(0, "@keyword.modifier", { link = "Keyword" })
vim.api.nvim_set_hl(0, "@keyword.operator", { fg = 13346551 })
vim.api.nvim_set_hl(0, "@keyword.repeat", { link = "Repeat" })
vim.api.nvim_set_hl(0, "@keyword.return", { fg = 13346551 })
vim.api.nvim_set_hl(0, "@keyword.type", { link = "Keyword" })
vim.api.nvim_set_hl(0, "@lsp.type.enumMember", { fg = 9757397 })
vim.api.nvim_set_hl(0, "@markup.heading", { fg = 9024762 })
vim.api.nvim_set_hl(0, "@markup.italic", { cterm = { italic = true }, fg = 15961000, italic = true })
vim.api.nvim_set_hl(0, "@markup.link", { fg = 11845374 })
vim.api.nvim_set_hl(0, "@markup.link.label", { fg = 11845374 })
vim.api.nvim_set_hl(
0,
"@markup.link.url",
{ cterm = { italic = true, underline = true }, fg = 9024762, italic = true, underline = true }
)
vim.api.nvim_set_hl(0, "@markup.list", { fg = 9757397 })
vim.api.nvim_set_hl(0, "@markup.list.checked", { fg = 10937249 })
vim.api.nvim_set_hl(0, "@markup.list.unchecked", { fg = 8357020 })
vim.api.nvim_set_hl(0, "@markup.math", { fg = 9024762 })
vim.api.nvim_set_hl(0, "@markup.quote", { fg = 16106215 })
vim.api.nvim_set_hl(0, "@markup.raw", { fg = 10937249 })
vim.api.nvim_set_hl(
0,
"@markup.strikethrough",
{ cterm = { strikethrough = true }, fg = 13489908, strikethrough = true }
)
vim.api.nvim_set_hl(0, "@markup.strong", { bold = true, cterm = { bold = true }, fg = 15961000 })
vim.api.nvim_set_hl(0, "@markup.underline", { link = "Underlined" })
vim.api.nvim_set_hl(0, "@module", { cterm = { italic = true }, fg = 16376495, italic = true })
vim.api.nvim_set_hl(0, "@property", { fg = 11845374 })
vim.api.nvim_set_hl(0, "@punctuation.bracket", { fg = 9673138 })
vim.api.nvim_set_hl(0, "@punctuation.delimiter", { link = "Delimiter" })
vim.api.nvim_set_hl(0, "@string.documentation", { fg = 9757397 })
vim.api.nvim_set_hl(0, "@string.escape", { fg = 16106215 })
vim.api.nvim_set_hl(0, "@string.regexp", { fg = 16106215 })
vim.api.nvim_set_hl(0, "@string.special", { link = "Special" })
vim.api.nvim_set_hl(0, "@string.special.path", { link = "Special" })
vim.api.nvim_set_hl(0, "@string.special.symbol", { fg = 15912397 })
vim.api.nvim_set_hl(
0,
"@string.special.url",
{ cterm = { italic = true, underline = true }, fg = 9024762, italic = true, underline = true }
)
vim.api.nvim_set_hl(0, "@tag", { fg = 9024762 })
vim.api.nvim_set_hl(0, "@tag.attribute", { cterm = { italic = true }, fg = 16376495, italic = true })
vim.api.nvim_set_hl(0, "@tag.builtin", { fg = 9024762 })
vim.api.nvim_set_hl(0, "@tag.delimiter", { fg = 9757397 })
vim.api.nvim_set_hl(0, "@type.builtin", { fg = 13346551 })
vim.api.nvim_set_hl(0, "@type.definition", { link = "Type" })
vim.api.nvim_set_hl(0, "@variable", { fg = 13489908 })
vim.api.nvim_set_hl(0, "@variable.builtin", { fg = 15961000 })
vim.api.nvim_set_hl(0, "@variable.member", { fg = 11845374 })
vim.api.nvim_set_hl(0, "@variable.parameter", { fg = 15442092 })
vim.api.nvim_set_hl(0, "Added", { fg = 10937249 })
vim.api.nvim_set_hl(0, "Boolean", { fg = 16429959 })
vim.api.nvim_set_hl(0, "Changed", { fg = 9024762 })
vim.api.nvim_set_hl(0, "Character", { fg = 9757397 })
vim.api.nvim_set_hl(0, "ColorColumn", { bg = 3224132 })
vim.api.nvim_set_hl(0, "Comment", { cterm = { italic = true }, fg = 9673138, italic = true })
vim.api.nvim_set_hl(0, "ComplMatchIns", { link = "PreInsert" })
vim.api.nvim_set_hl(0, "Conceal", { fg = 8357020 })
vim.api.nvim_set_hl(0, "Conditional", { cterm = { italic = true }, fg = 13346551, italic = true })
vim.api.nvim_set_hl(0, "Constant", { fg = 16429959 })
vim.api.nvim_set_hl(0, "CurSearch", { bg = 15961000, fg = 1579045 })
vim.api.nvim_set_hl(0, "Cursor", { bg = 16113884, fg = 1973806 })
vim.api.nvim_set_hl(0, "CursorColumn", { bg = 1579045 })
vim.api.nvim_set_hl(0, "CursorIM", { bg = 16113884, fg = 1973806 })
vim.api.nvim_set_hl(0, "CursorLine", { bg = 2763580 })
vim.api.nvim_set_hl(0, "CursorLineNr", { fg = 11845374 })
vim.api.nvim_set_hl(0, "Delimiter", { fg = 9673138 })
vim.api.nvim_set_hl(0, "DiagnosticError", { cterm = { italic = true }, fg = 15961000, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticFloatingError", { fg = 15961000 })
vim.api.nvim_set_hl(0, "DiagnosticFloatingHint", { fg = 9757397 })
vim.api.nvim_set_hl(0, "DiagnosticFloatingInfo", { fg = 9034987 })
vim.api.nvim_set_hl(0, "DiagnosticFloatingOk", { fg = 10937249 })
vim.api.nvim_set_hl(0, "DiagnosticFloatingWarn", { fg = 16376495 })
vim.api.nvim_set_hl(0, "DiagnosticHint", { cterm = { italic = true }, fg = 9757397, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticInfo", { cterm = { italic = true }, fg = 9034987, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticOk", { cterm = { italic = true }, fg = 10937249, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticSignError", { fg = 15961000 })
vim.api.nvim_set_hl(0, "DiagnosticSignHint", { fg = 9757397 })
vim.api.nvim_set_hl(0, "DiagnosticSignInfo", { fg = 9034987 })
vim.api.nvim_set_hl(0, "DiagnosticSignOk", { fg = 10937249 })
vim.api.nvim_set_hl(0, "DiagnosticSignWarn", { fg = 16376495 })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineError", { cterm = { underline = true }, sp = 15961000, underline = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineHint", { cterm = { underline = true }, sp = 9757397, underline = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineInfo", { cterm = { underline = true }, sp = 9034987, underline = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineOk", { cterm = { underline = true }, sp = 10937249, underline = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineWarn", { cterm = { underline = true }, sp = 16376495, underline = true })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextError", { cterm = { italic = true }, fg = 15961000, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextHint", { cterm = { italic = true }, fg = 9757397, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { cterm = { italic = true }, fg = 9034987, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextOk", { cterm = { italic = true }, fg = 10937249, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { cterm = { italic = true }, fg = 16376495, italic = true })
vim.api.nvim_set_hl(0, "DiagnosticWarn", { cterm = { italic = true }, fg = 16376495, italic = true })
vim.api.nvim_set_hl(0, "DiffAdd", { bg = 3555651 })
vim.api.nvim_set_hl(0, "DiffChange", { bg = 2435388 })
vim.api.nvim_set_hl(0, "DiffDelete", { bg = 4469316 })
vim.api.nvim_set_hl(0, "DiffText", { bg = 4082539 })
vim.api.nvim_set_hl(0, "Directory", { fg = 9024762 })
vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = 4540250 })
vim.api.nvim_set_hl(0, "Error", { fg = 15961000 })
vim.api.nvim_set_hl(
0,
"ErrorMsg",
{ bold = true, cterm = { bold = true, italic = true }, fg = 15961000, italic = true }
)
vim.api.nvim_set_hl(0, "Exception", { fg = 13346551 })
vim.api.nvim_set_hl(0, "FloatBorder", { bg = 1579045, fg = 9024762 })
vim.api.nvim_set_hl(0, "FloatTitle", { bg = 1579045, fg = 10923464 })
vim.api.nvim_set_hl(0, "FoldColumn", { fg = 7106694 })
vim.api.nvim_set_hl(0, "Folded", { fg = 9024762 })
vim.api.nvim_set_hl(0, "Function", { fg = 9024762 })
vim.api.nvim_set_hl(0, "Identifier", { fg = 15912397 })
vim.api.nvim_set_hl(0, "IncSearch", { bg = 8309208, fg = 1579045 })
vim.api.nvim_set_hl(0, "Include", { fg = 13346551 })
vim.api.nvim_set_hl(0, "Keyword", { fg = 13346551 })
vim.api.nvim_set_hl(0, "Label", { fg = 7653356 })
vim.api.nvim_set_hl(0, "LineNr", { fg = 4540250 })
vim.api.nvim_set_hl(0, "LspCodeLens", { fg = 7106694 })
vim.api.nvim_set_hl(0, "LspInlayHint", { fg = 7106694 })
vim.api.nvim_set_hl(0, "LspReferenceRead", { bg = 4540250 })
vim.api.nvim_set_hl(0, "LspReferenceText", { bg = 4540250 })
vim.api.nvim_set_hl(0, "LspReferenceWrite", { bg = 4540250 })
vim.api.nvim_set_hl(0, "LspSignatureActiveParameter", { bg = 3224132, bold = true, cterm = { bold = true } })
vim.api.nvim_set_hl(0, "Macro", { fg = 13346551 })
vim.api.nvim_set_hl(0, "MatchParen", { bg = 3750733, bold = true, cterm = { bold = true }, fg = 16429959 })
vim.api.nvim_set_hl(0, "ModeMsg", { bold = true, cterm = { bold = true }, fg = 13489908 })
vim.api.nvim_set_hl(0, "MoreMsg", { fg = 9024762 })
vim.api.nvim_set_hl(0, "MsgSeparator", { link = "WinSeparator" })
vim.api.nvim_set_hl(0, "NonText", { fg = 7106694 })
vim.api.nvim_set_hl(0, "Normal", { fg = 13489908 })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = 1579045, fg = 13489908 })
vim.api.nvim_set_hl(0, "NormalNC", { fg = 13489908 })
vim.api.nvim_set_hl(0, "Number", { fg = 16429959 })
vim.api.nvim_set_hl(0, "Operator", { fg = 9034987 })
vim.api.nvim_set_hl(0, "Pmenu", { fg = 9673138 })
vim.api.nvim_set_hl(0, "PmenuExtra", { fg = 7106694 })
vim.api.nvim_set_hl(0, "PmenuExtraSel", { bg = 3224132, bold = true, cterm = { bold = true }, fg = 7106694 })
vim.api.nvim_set_hl(0, "PmenuMatch", { bold = true, cterm = { bold = true }, fg = 13489908 })
vim.api.nvim_set_hl(0, "PmenuSbar", { bg = 3224132 })
vim.api.nvim_set_hl(0, "PmenuSel", { bg = 3224132, bold = true, cterm = { bold = true } })
vim.api.nvim_set_hl(0, "PmenuThumb", { bg = 7106694 })
vim.api.nvim_set_hl(0, "PreProc", { fg = 16106215 })
vim.api.nvim_set_hl(0, "Question", { fg = 9024762 })
vim.api.nvim_set_hl(0, "QuickFixLine", { bg = 3750733, bold = true, cterm = { bold = true } })
vim.api.nvim_set_hl(0, "Repeat", { fg = 13346551 })
vim.api.nvim_set_hl(0, "Search", { bg = 4085607, fg = 13489908 })
vim.api.nvim_set_hl(0, "SignColumn", { fg = 4540250 })
vim.api.nvim_set_hl(0, "Special", { fg = 16106215 })
vim.api.nvim_set_hl(0, "SpecialKey", { link = "NonText" })
vim.api.nvim_set_hl(0, "SpellBad", { cterm = { undercurl = true }, sp = 15961000, undercurl = true })
vim.api.nvim_set_hl(0, "SpellCap", { cterm = { undercurl = true }, sp = 16376495, undercurl = true })
vim.api.nvim_set_hl(0, "SpellLocal", { cterm = { undercurl = true }, sp = 9024762, undercurl = true })
vim.api.nvim_set_hl(0, "SpellRare", { cterm = { undercurl = true }, sp = 10937249, undercurl = true })
vim.api.nvim_set_hl(0, "Statement", { fg = 13346551 })
vim.api.nvim_set_hl(0, "StatusLine", { fg = 13489908 })
vim.api.nvim_set_hl(0, "StatusLineNC", { fg = 4540250 })
vim.api.nvim_set_hl(0, "StorageClass", { fg = 16376495 })
vim.api.nvim_set_hl(0, "String", { fg = 10937249 })
vim.api.nvim_set_hl(0, "Structure", { fg = 16376495 })
vim.api.nvim_set_hl(0, "Substitute", { bg = 4540250, fg = 16106215 })
vim.api.nvim_set_hl(0, "TabLine", { bg = 1118491, fg = 7106694 })
vim.api.nvim_set_hl(0, "TabLineSel", { link = "Normal" })
vim.api.nvim_set_hl(0, "Tag", { bold = true, cterm = { bold = true }, fg = 11845374 })
vim.api.nvim_set_hl(0, "TermCursor", { bg = 16113884, fg = 1973806 })
vim.api.nvim_set_hl(0, "Title", { bold = true, cterm = { bold = true }, fg = 9024762 })
vim.api.nvim_set_hl(0, "Todo", { bg = 15912397, bold = true, cterm = { bold = true }, fg = 1973806 })
vim.api.nvim_set_hl(0, "Type", { fg = 16376495 })
vim.api.nvim_set_hl(0, "Visual", { bg = 4540250, bold = true, cterm = { bold = true } })
vim.api.nvim_set_hl(0, "VisualNOS", { bg = 4540250, bold = true, cterm = { bold = true } })
vim.api.nvim_set_hl(0, "WarningMsg", { fg = 16376495 })
vim.api.nvim_set_hl(0, "Whitespace", { fg = 4540250 })
vim.api.nvim_set_hl(0, "WildMenu", { bg = 7106694 })
vim.api.nvim_set_hl(0, "WinBar", { fg = 16113884 })
vim.api.nvim_set_hl(0, "WinBarNC", { link = "WinBar" })
vim.api.nvim_set_hl(0, "WinSeparator", { fg = 4540250 })
vim.api.nvim_set_hl(0, "diffAdded", { fg = 10937249 })
vim.api.nvim_set_hl(0, "diffChanged", { fg = 9024762 })
vim.api.nvim_set_hl(0, "diffFile", { fg = 9024762 })
vim.api.nvim_set_hl(0, "diffIndexLine", { fg = 9757397 })
vim.api.nvim_set_hl(0, "diffLine", { fg = 7106694 })
vim.api.nvim_set_hl(0, "diffNewFile", { fg = 16429959 })
vim.api.nvim_set_hl(0, "diffOldFile", { fg = 16376495 })
vim.api.nvim_set_hl(0, "diffRemoved", { fg = 15961000 })
vim.api.nvim_set_hl(0, "htmlH1", { bold = true, cterm = { bold = true }, fg = 16106215 })
vim.api.nvim_set_hl(0, "htmlH2", { bold = true, cterm = { bold = true }, fg = 9024762 })
vim.api.nvim_set_hl(0, "lCursor", { bg = 16113884, fg = 1973806 })
vim.api.nvim_set_hl(0, "markdownH1", { link = "rainbow1" })
vim.api.nvim_set_hl(0, "markdownH2", { link = "rainbow2" })
vim.api.nvim_set_hl(0, "markdownH3", { link = "rainbow3" })
vim.api.nvim_set_hl(0, "markdownH4", { link = "rainbow4" })
vim.api.nvim_set_hl(0, "markdownH5", { link = "rainbow5" })
vim.api.nvim_set_hl(0, "markdownH6", { link = "rainbow6" })
vim.api.nvim_set_hl(0, "rainbow1", { fg = 15961000 })
vim.api.nvim_set_hl(0, "rainbow2", { fg = 16429959 })
vim.api.nvim_set_hl(0, "rainbow3", { fg = 16376495 })
vim.api.nvim_set_hl(0, "rainbow4", { fg = 10937249 })
vim.api.nvim_set_hl(0, "rainbow5", { fg = 7653356 })
vim.api.nvim_set_hl(0, "rainbow6", { fg = 11845374 })
vim.api.nvim_create_autocmd("CmdlineEnter", {
once = true,
callback = function()
vim.api.nvim_set_hl(0, "debugBreakpoint", { bg = 1973806, fg = 7106694 })
vim.api.nvim_set_hl(0, "healthError", { fg = 15961000 })
vim.api.nvim_set_hl(0, "healthSuccess", { fg = 9757397 })
vim.api.nvim_set_hl(0, "healthWarning", { fg = 16376495 })
end,
})

View File

@ -83,7 +83,7 @@ vim.g.moonflyTransparent = true
-- 应用 colorscheme。catppuccin-mocha 的定义在 colors/catppuccin-mocha.lua 中。
-- 该文件是一个精简版,只包含 Mocha 变体的调色板和高亮组定义。
vim.cmd("colorscheme catppuccin-mocha")
vim.cmd("colorscheme ex-catppuccin-mocha")
-- 记录 init.lua 执行完成时间(含 colorscheme供启动页展示更接近 --startuptime 的耗时。
-- pack.lua 中的 footer 优先使用 VimEnter 时间,回退到此时间点。

View File

@ -107,4 +107,39 @@ M.on_keys = function(name, keys, mode, fn, action, opts)
end, { desc = opts.desc, buffer = opts.buffer })
end
-- ---------------------------------------------------------------------------
-- 命令触发懒加载
-- ---------------------------------------------------------------------------
-- 参数:
-- name - 模块标识名
-- cmd - 命令名(如 "ExColors"
-- fn - 初始化函数,在首次执行命令时调用
-- opts - 用户命令选项bang, nargs, desc 等)
--
-- 原理:
-- 创建一个同名的临时用户命令,首次执行时:
-- 1. 删除临时命令(避免与插件注册的命令冲突)
-- 2. 调用 M.load(name, fn) 完成插件初始化
-- 3. 插件初始化后通常会注册同名命令,覆盖临时命令
-- 4. 如果插件没有注册同名命令,则递归执行该命令
--
-- 注意:
-- 要求插件在初始化setup时会注册同名用户命令。
-- 如果插件不注册命令,可在 fn 中手动处理命令逻辑。
M.on_cmd = function(name, cmd, fn, opts)
opts = opts or {}
vim.api.nvim_create_user_command(cmd, function(cmd_opts)
vim.api.nvim_del_user_command(cmd)
M.load(name, fn)
-- 如果插件注册了新命令,这里需要重新执行
-- 由于 del + load 后命令可能已不存在(插件未注册)
-- 或已变成插件的命令,所以用 pcall 安全地尝试执行
local ok = pcall(vim.cmd, cmd .. (cmd_opts.bang and "!" or ""))
if not ok then
-- 插件未注册同名命令,命令已执行完毕
vim.notify("[" .. name .. "] 已加载", vim.log.levels.INFO)
end
end, { bang = opts.bang, nargs = opts.nargs, desc = opts.desc })
end
return M

View File

@ -42,6 +42,7 @@ vim.pack.add({
"https://github.com/stevearc/conform.nvim", -- 格式化
"https://github.com/tpope/vim-fugitive", -- Git 集成
"https://github.com/MagicDuck/grug-far.nvim", -- 搜索替换
"https://github.com/aileot/ex-colors.nvim", -- colorscheme 提取与优化
}, { load = false })
-- ---------------------------------------------------------------------------
@ -174,6 +175,7 @@ local all_modules = {
"mason",
"fugitive",
"grugfar",
"ex-colors",
}
-- 计算 Logo 的最大显示宽度,用于页脚居中计算
@ -466,3 +468,39 @@ end
-- Normal 模式和 Visual 模式均绑定 <leader>sr
lazy.on_keys("grugfar", "<leader>sr", "n", load_grug_far, open_grug_far, { desc = "搜索并替换" })
lazy.on_keys("grugfar", "<leader>sr", "x", load_grug_far, open_grug_far, { desc = "搜索并替换" })
-- ---------------------------------------------------------------------------
-- ex-colors.nvim — colorscheme 提取与优化(命令触发懒加载)
-- ---------------------------------------------------------------------------
-- 将当前 colorscheme 的高亮定义提取为独立的优化版 colorscheme 文件。
-- 仅在执行 :ExColors 时加载,不占用启动时间。
-- 生成的文件保存在 ~/.config/nvim/colors/ex-{colors_name}.lua
lazy.on_cmd("ex-colors", "ExColors", function()
vim.cmd.packadd("ex-colors.nvim")
require("ex-colors").setup({
colors_dir = vim.fn.stdpath("config") .. "/colors",
clear_highlight = false,
reset_syntax = false,
ignore_default_colors = true,
ignore_clear = true,
omit_default = true,
relinker = require("ex-colors.presets").recommended.relinker,
required_syntaxes = { "diff", "html", "markdown" },
included_hlgroups = require("ex-colors.presets").recommended.included_hlgroups,
excluded_hlgroups = require("ex-colors.presets").recommended.excluded_hlgroups,
included_patterns = require("ex-colors.presets").recommended.included_patterns,
excluded_patterns = require("ex-colors.presets").recommended.excluded_patterns,
autocmd_patterns = {
CmdlineEnter = {
["*"] = { "^debug%u", "^health%u" },
},
},
embedded_global_options = { "background" },
embedded_global_variables = {
"terminal_color_0", "terminal_color_1", "terminal_color_2", "terminal_color_3",
"terminal_color_4", "terminal_color_5", "terminal_color_6", "terminal_color_7",
"terminal_color_8", "terminal_color_9", "terminal_color_10", "terminal_color_11",
"terminal_color_12", "terminal_color_13", "terminal_color_14", "terminal_color_15",
},
})
end, { bang = true, desc = "提取当前 colorscheme 为优化版 ex-colors" })

View File

@ -4,6 +4,10 @@
"rev": "619363c30309d29ffa631e67c8183f2a72caa373",
"src": "https://github.com/stevearc/conform.nvim"
},
"ex-colors.nvim": {
"rev": "76a20ce29d160a4eb9f275a615dc8257cb15c58c",
"src": "https://github.com/aileot/ex-colors.nvim"
},
"friendly-snippets": {
"rev": "6cd7280adead7f586db6fccbd15d2cac7e2188b9",
"src": "https://github.com/rafamadriz/friendly-snippets"