add custom colorscheme

This commit is contained in:
xfy
2025-05-12 01:12:57 +08:00
parent 9fda712cb3
commit deab200566
4 changed files with 357 additions and 3 deletions

160
colors/ex-lackluster.lua Normal file
View File

@ -0,0 +1,160 @@
-- This file is generated by ex-colors. The credit goes to the authors and contributors of the original colorscheme lackluster.
vim.api.nvim_set_var("colors_name", "ex-lackluster")
vim.api.nvim_set_hl(0, "@attribute", { fg = 6710886 })
vim.api.nvim_set_hl(0, "@boolean", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@character", { fg = 7372944 })
vim.api.nvim_set_hl(0, "@comment", { fg = 3881787 })
vim.api.nvim_set_hl(0, "@comment.documentation", { fg = 3881787 })
vim.api.nvim_set_hl(0, "@comment.error", { fg = 14090240 })
vim.api.nvim_set_hl(0, "@comment.note", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@comment.todo", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@constant", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@constant.builtin", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@constructor", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@diff.delta", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@diff.minus", { fg = 16755336 })
vim.api.nvim_set_hl(0, "@function", { fg = 14610157 })
vim.api.nvim_set_hl(0, "@function.builtin", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@function.call", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@function.method", { fg = 14610157 })
vim.api.nvim_set_hl(0, "@function.method.call", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@keyword", { fg = 6710886 })
vim.api.nvim_set_hl(0, "@keyword.exception", { fg = 5263440 })
vim.api.nvim_set_hl(0, "@keyword.return", { fg = 5263440 })
vim.api.nvim_set_hl(0, "@label", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@lsp.type.enumMember", { link = "@variable.member" })
vim.api.nvim_set_hl(0, "@markup.heading", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@markup.italic", { fg = 4473924 })
vim.api.nvim_set_hl(0, "@markup.link", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@markup.link.label", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@markup.link.url", { fg = 4473924 })
vim.api.nvim_set_hl(0, "@markup.list", { fg = 4473924 })
vim.api.nvim_set_hl(0, "@markup.list.checked", { fg = 7903608 })
vim.api.nvim_set_hl(0, "@markup.list.unchecked", { fg = 14090240 })
vim.api.nvim_set_hl(0, "@markup.math", { fg = 16755336 })
vim.api.nvim_set_hl(0, "@markup.quote", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@markup.strikethrough", { fg = 4473924 })
vim.api.nvim_set_hl(0, "@markup.strong", { fg = 4473924 })
vim.api.nvim_set_hl(0, "@module.builtin", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@number", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@operator", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@property", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@punctuation.bracket", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@punctuation.delimiter", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@punctuation.special", { fg = 8026746 })
vim.api.nvim_set_hl(0, "@string", { fg = 7372944 })
vim.api.nvim_set_hl(0, "@string.escape", { fg = 7903608 })
vim.api.nvim_set_hl(0, "@string.regexp", { fg = 7903608 })
vim.api.nvim_set_hl(0, "@string.special", { fg = 7903608 })
vim.api.nvim_set_hl(0, "@tag", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@tag.attribute", { fg = 4473924 })
vim.api.nvim_set_hl(0, "@tag.builtin", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@tag.delimiter", { fg = 5592405 })
vim.api.nvim_set_hl(0, "@type", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@type.builtin", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@type.definition", { fg = 13421772 })
vim.api.nvim_set_hl(0, "@variable", { fg = 13421772 })
vim.api.nvim_set_hl(0, "@variable.builtin", { fg = 13421772 })
vim.api.nvim_set_hl(0, "@variable.member", { fg = 11184810 })
vim.api.nvim_set_hl(0, "@variable.parameter", { fg = 9342606 })
vim.api.nvim_set_hl(0, "Added", { fg = 7903608 })
vim.api.nvim_set_hl(0, "Changed", { fg = 8026746 })
vim.api.nvim_set_hl(0, "Character", { link = "String" })
vim.api.nvim_set_hl(0, "ColorColumn", { bg = 526344 })
vim.api.nvim_set_hl(0, "Comment", { fg = 3881787 })
vim.api.nvim_set_hl(0, "Conceal", { fg = 5198424 })
vim.api.nvim_set_hl(0, "Conditional", { link = "Keyword" })
vim.api.nvim_set_hl(0, "Constant", { fg = 11184810 })
vim.api.nvim_set_hl(0, "CurSearch", { bg = 13421772, fg = 0 })
vim.api.nvim_set_hl(0, "Cursor", { bg = 13421772 })
vim.api.nvim_set_hl(0, "CursorLine", { bg = 1644825 })
vim.api.nvim_set_hl(0, "CursorLineNr", { fg = 11184810 })
vim.api.nvim_set_hl(0, "Delimiter", { fg = 8026746 })
vim.api.nvim_set_hl(0, "DiagnosticDeprecated", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticError", { fg = 14090240 })
vim.api.nvim_set_hl(0, "DiagnosticHint", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticInfo", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticOk", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticSignError", { fg = 14090240 })
vim.api.nvim_set_hl(0, "DiagnosticSignHint", { fg = 8026746 })
vim.api.nvim_set_hl(0, "DiagnosticSignInfo", { fg = 8026746 })
vim.api.nvim_set_hl(0, "DiagnosticSignOk", { fg = 7903608 })
vim.api.nvim_set_hl(0, "DiagnosticSignWarn", { fg = 16755336 })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineError", { cterm = { undercurl = true }, sp = 14090240, undercurl = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineHint", { cterm = { undercurl = true }, sp = 8026746, undercurl = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineInfo", { cterm = { undercurl = true }, sp = 8026746, undercurl = true })
vim.api.nvim_set_hl(0, "DiagnosticUnderlineWarn", { cterm = { undercurl = true }, sp = 16755336, undercurl = true })
vim.api.nvim_set_hl(0, "DiagnosticUnnecessary", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextError", { fg = 14090240 })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextHint", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextOk", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiagnosticWarn", { fg = 4473924 })
vim.api.nvim_set_hl(0, "DiffAdd", { fg = 7903608 })
vim.api.nvim_set_hl(0, "DiffChange", { fg = 8026746 })
vim.api.nvim_set_hl(0, "DiffDelete", { fg = 16755336 })
vim.api.nvim_set_hl(0, "DiffText", { fg = 5592405 })
vim.api.nvim_set_hl(0, "Directory", { fg = 5592405 })
vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = 1052688 })
vim.api.nvim_set_hl(0, "Error", { fg = 14090240 })
vim.api.nvim_set_hl(0, "ErrorMsg", { link = "Error" })
vim.api.nvim_set_hl(0, "Exception", { link = "Keyword" })
vim.api.nvim_set_hl(0, "Float", { link = "Constant" })
vim.api.nvim_set_hl(0, "FloatBorder", { bg = 1710618, fg = 4473924 })
vim.api.nvim_set_hl(0, "FloatTitle", { fg = 5592405 })
vim.api.nvim_set_hl(0, "FoldColumn", { fg = 4473924 })
vim.api.nvim_set_hl(0, "Folded", { fg = 4473924 })
vim.api.nvim_set_hl(0, "Function", { fg = 8026746 })
vim.api.nvim_set_hl(0, "Identifier", { fg = 11184810 })
vim.api.nvim_set_hl(0, "Keyword", { fg = 6710886 })
vim.api.nvim_set_hl(0, "Label", { link = "Keyword" })
vim.api.nvim_set_hl(0, "LineNr", { fg = 4473924 })
vim.api.nvim_set_hl(0, "MatchParen", { bg = 7372944, fg = 13421772 })
vim.api.nvim_set_hl(0, "ModeMsg", { fg = 14610157 })
vim.api.nvim_set_hl(0, "MoreMsg", { fg = 14610157 })
vim.api.nvim_set_hl(0, "MsgArea", { fg = 14610157 })
vim.api.nvim_set_hl(0, "NonText", { fg = 5592405 })
vim.api.nvim_set_hl(0, "Normal", { fg = 13421772 })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = 1710618, fg = 13421772 })
vim.api.nvim_set_hl(0, "Operator", { fg = 8026746 })
vim.api.nvim_set_hl(0, "Pmenu", { bg = 1644825, fg = 8026746 })
vim.api.nvim_set_hl(0, "PmenuSbar", { bg = 2763306, fg = 2763306 })
vim.api.nvim_set_hl(0, "PmenuSel", { bg = 13421772, fg = 0 })
vim.api.nvim_set_hl(0, "PmenuThumb", { bg = 5592405, fg = 5592405 })
vim.api.nvim_set_hl(0, "PreProc", { link = "Keyword" })
vim.api.nvim_set_hl(0, "Question", { fg = 8026746 })
vim.api.nvim_set_hl(0, "QuickFixLine", { fg = 7903608 })
vim.api.nvim_set_hl(0, "Removed", { fg = 16755336 })
vim.api.nvim_set_hl(0, "Repeat", { link = "Keyword" })
vim.api.nvim_set_hl(0, "Search", { bg = 7372944, fg = 0 })
vim.api.nvim_set_hl(0, "SignColumn", { fg = 4473924 })
vim.api.nvim_set_hl(0, "Special", { fg = 7372944 })
vim.api.nvim_set_hl(0, "SpecialComment", { fg = 3881787 })
vim.api.nvim_set_hl(0, "SpellBad", { cterm = { undercurl = true }, undercurl = true })
vim.api.nvim_set_hl(0, "SpellCap", { link = "SpellBad" })
vim.api.nvim_set_hl(0, "SpellLocal", { link = "SpellBad" })
vim.api.nvim_set_hl(0, "SpellRare", { link = "SpellBad" })
vim.api.nvim_set_hl(0, "Statement", { fg = 6710886 })
vim.api.nvim_set_hl(0, "StatusLine", { bg = 2368548, fg = 11184810 })
vim.api.nvim_set_hl(0, "StatusLineNC", { bg = 526344, fg = 4473924 })
vim.api.nvim_set_hl(0, "String", { fg = 7372944 })
vim.api.nvim_set_hl(0, "TabLine", { bg = 1644825, fg = 4473924 })
vim.api.nvim_set_hl(0, "TabLineFill", { bg = 2368548, fg = 11184810 })
vim.api.nvim_set_hl(0, "TabLineSel", { bg = 13421772, fg = 526344 })
vim.api.nvim_set_hl(0, "Title", { fg = 5592405 })
vim.api.nvim_set_hl(0, "Todo", { fg = 8026746 })
vim.api.nvim_set_hl(0, "Type", { fg = 11184810 })
vim.api.nvim_set_hl(0, "Visual", { bg = 13421772, fg = 0 })
vim.api.nvim_set_hl(0, "WarningMsg", { fg = 16755336 })
vim.api.nvim_set_hl(0, "Whitespace", { fg = 2105376 })
vim.api.nvim_set_hl(0, "WinSeparator", { fg = 4473924 })
vim.api.nvim_set_hl(0, "lCursor", { bg = 13421772 })
vim.api.nvim_create_autocmd("CmdlineEnter", {
once = true,
callback = function()
vim.api.nvim_set_hl(0, "healthError", { fg = 14090240 })
vim.api.nvim_set_hl(0, "healthSuccess", { fg = 7903608 })
vim.api.nvim_set_hl(0, "healthWarning", { fg = 16755336 })
end,
})

View File

@ -24,13 +24,13 @@ require("lazy").setup({
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false,
lazy = true,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "tokyonight", "habamax" } },
-- install = { colorscheme = { "tokyonight", "habamax" } },
checker = {
enabled = true, -- check for plugin updates periodically
notify = false, -- notify on update

194
lua/plugins/colorscheme.lua Normal file
View File

@ -0,0 +1,194 @@
local init_lackluster_icons = function()
-- local lackluster = require("lackluster")
require("nvim-web-devicons").setup({
color_icons = false,
override = {
["default_icon"] = {
-- color = lackluster.color.gray4,
color = "#444444",
name = "Default",
},
},
})
end
local init_lackluster = function()
require("ex-colors").setup({
-- included_patterns = require("ex-colors.presets").recommended.included_patterns + {
-- "^Cmp%u", -- hrsh7th/nvim-cmp
-- '^GitSigns%u', -- lewis6991/gitsigns.nvim
-- '^RainbowDelimiter%u', -- HiPhish/rainbow-delimiters.nvim
-- },
autocmd_patterns = {
CmdlineEnter = {
["*"] = {
"^debug%u",
"^health%u",
},
},
-- FileType = {
-- ['Telescope*'] = {
-- '^Telescope%u', -- nvim-telescope/telescope.nvim
-- },
-- },
},
})
require("lackluster").setup({
tweak_syntax = {
string = "default",
string_escape = "default",
comment = "#3b3b3b",
builtin = "default", -- builtin modules and functions
type = "default",
keyword = "default",
keyword_return = "default",
keyword_exception = "default",
},
tweak_background = {
normal = "none",
},
})
-- vim.cmd.colorscheme("lackluster")
-- vim.cmd.colorscheme("lackluster-hack")
-- vim.cmd.colorscheme("lackluster-mint")
end
return {
-- {
-- "catppuccin/nvim",
-- name = "catppuccin",
-- -- priority = 1000,
-- -- lazy = true,
-- config = function()
-- require("catppuccin").setup({
-- flavour = "macchiato", -- latte, frappe, macchiato, mocha
-- background = { -- :h background
-- light = "latte",
-- dark = "mocha",
-- },
-- transparent_background = true, -- disables setting the background color.
-- show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
-- term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
-- dim_inactive = {
-- enabled = false, -- dims the background color of inactive window
-- shade = "dark",
-- percentage = 0.15, -- percentage of the shade to apply to the inactive window
-- },
-- no_italic = false, -- Force no italic
-- no_bold = false, -- Force no bold
-- no_underline = false, -- Force no underline
-- styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
-- comments = { "italic" }, -- Change the style of comments
-- conditionals = { "italic" },
-- loops = {},
-- functions = {},
-- keywords = {},
-- strings = {},
-- variables = {},
-- numbers = {},
-- booleans = {},
-- properties = {},
-- types = {},
-- operators = {},
-- -- miscs = {}, -- Uncomment to turn off hard-coded styles
-- },
-- color_overrides = {
-- rosewater = "#f4dbd6",
-- flamingo = "#f0c6c6",
-- pink = "#f5bde6",
-- mauve = "#B9AEE6",
-- red = "#A87692",
-- maroon = "#FD9491",
-- peach = "#f5a97f",
-- yellow = "#FCD0A1",
-- green = "#809FA1",
-- teal = "#8bd5ca",
-- sky = "#91d7e3",
-- sapphire = "#7dc4e4",
-- blue = "#91B8E9",
-- lavender = "#b7bdf8",
-- text = "#DAD0E9",
-- subtext1 = "#b8c0e0",
-- subtext0 = "#a5adcb",
-- overlay2 = "#939ab7",
-- overlay1 = "#8087a2",
-- overlay0 = "#6e738d",
-- surface2 = "#5b6078",
-- surface1 = "#494d64",
-- surface0 = "#363a4f",
-- base = "#24273a",
-- mantle = "#1e2030",
-- crust = "#181926",
-- },
-- custom_highlights = {},
-- default_integrations = true,
-- integrations = {
-- cmp = true,
-- gitsigns = true,
-- nvimtree = true,
-- treesitter = true,
-- alpha = true,
-- mini = {
-- enabled = true,
-- indentscope_color = "",
-- },
-- mason = true,
-- markdown = true,
-- dap = true,
-- dap_ui = true,
-- which_key = false,
-- native_lsp = {
-- enabled = true,
-- virtual_text = {
-- errors = { "italic" },
-- hints = { "italic" },
-- warnings = { "italic" },
-- information = { "italic" },
-- ok = { "italic" },
-- },
-- underlines = {
-- errors = { "underline" },
-- hints = { "underline" },
-- warnings = { "underline" },
-- information = { "underline" },
-- ok = { "underline" },
-- },
-- inlay_hints = {
-- background = true,
-- },
-- },
-- telescope = {
-- enabled = true,
-- -- style = "nvchad"
-- },
-- -- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
-- },
-- })
-- -- vim.cmd.colorscheme("catppuccin")
-- end,
-- },
-- {
-- "aileot/ex-colors.nvim",
-- lazy = true,
-- cmd = "ExColors",
-- ---@type ExColors.Config
-- opts = {},
-- },
-- {
-- "nvim-tree/nvim-web-devicons",
-- lazy = true,
-- init = init_lackluster_icons,
-- },
-- {
-- "slugbyte/lackluster.nvim",
-- lazy = true,
-- priority = 1000,
-- init = init_lackluster,
-- },
{
"LazyVim/LazyVim",
opts = {
-- colorscheme = "lackluster",
colorscheme = "ex-lackluster",
},
},
}

View File

@ -8,7 +8,7 @@ return {
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
},
extensions = { "quickfix", "trouble", "mason", "lazy", "nvim-tree" },
extensions = { "quickfix", "trouble", "mason", "lazy" },
sections = {
lualine_x = {
{ "encoding" },