feat: enable dms theme, if available

This commit is contained in:
2026-07-12 08:14:37 +02:00
parent ad27c2ce6d
commit 159e95081d
+142 -131
View File
@@ -1,140 +1,151 @@
return {
-- color theme
"EdenEast/nightfox.nvim",
lazy = false,
priority = 1000,
config = function()
local Shade = require("nightfox.lib.shade")
require("nightfox").setup({
options = {
transparent = true,
styles = {
comments = "italic",
functions = "italic",
keywords = "italic",
types = "italic",
},
},
palettes = {
all = {
black = Shade.new("#404944", 0.15, -0.15),
gray = Shade.new("#505050", 0.15, -0.15),
white = Shade.new("#dee4df", 0.15, -0.15),
red = Shade.new("#ff6060", 0.15, -0.15),
darkred = Shade.new("#AA3030", 0.15, -0.15),
strongred = Shade.new("#bb0000", 0.15, -0.15),
orange = Shade.new("#ce8c14", 0.15, -0.15),
green = Shade.new("#a3d397", 0.10, -0.15),
darkgreen = Shade.new("#005602", 0.10, -0.15),
darkyellow = Shade.new("#dfd100", 0.10, -0.15),
yellow = Shade.new("#e3c46d", 0.15, -0.15),
darkblue = Shade.new("#1010cc", 0.15, -0.15),
blue = Shade.new("#7070dd", 0.15, -0.15),
magenta = Shade.new("#C02490", 0.30, -0.15),
pink = Shade.new("#ff82c2", 0.15, -0.15),
purple = Shade.new("#761464", 0.15, -0.15),
turquoise = Shade.new("#3fffb0", 0.15, -0.15),
cyan = Shade.new("#7ac9ff", 0.15, -0.15),
lightblue = Shade.new("#add8e6", 0.15, -0.15),
softblue = Shade.new("#10aaff", 0.15, -0.15),
brown = Shade.new("#664010", 0.15, -0.15),
-- color theme
"EdenEast/nightfox.nvim",
lazy = false,
priority = 1000,
config = function()
local Shade = require("nightfox.lib.shade")
require("nightfox").setup({
options = {
transparent = true,
styles = {
comments = "italic",
functions = "italic",
keywords = "italic",
types = "italic",
},
},
palettes = {
all = {
black = Shade.new("#404944", 0.15, -0.15),
gray = Shade.new("#505050", 0.15, -0.15),
white = Shade.new("#dee4df", 0.15, -0.15),
red = Shade.new("#ff6060", 0.15, -0.15),
darkred = Shade.new("#AA3030", 0.15, -0.15),
strongred = Shade.new("#bb0000", 0.15, -0.15),
orange = Shade.new("#ce8c14", 0.15, -0.15),
green = Shade.new("#a3d397", 0.10, -0.15),
darkgreen = Shade.new("#005602", 0.10, -0.15),
darkyellow = Shade.new("#dfd100", 0.10, -0.15),
yellow = Shade.new("#e3c46d", 0.15, -0.15),
darkblue = Shade.new("#1010cc", 0.15, -0.15),
blue = Shade.new("#7070dd", 0.15, -0.15),
magenta = Shade.new("#C02490", 0.30, -0.15),
pink = Shade.new("#ff82c2", 0.15, -0.15),
purple = Shade.new("#761464", 0.15, -0.15),
turquoise = Shade.new("#3fffb0", 0.15, -0.15),
cyan = Shade.new("#7ac9ff", 0.15, -0.15),
lightblue = Shade.new("#add8e6", 0.15, -0.15),
softblue = Shade.new("#10aaff", 0.15, -0.15),
brown = Shade.new("#664010", 0.15, -0.15),
bg0 = "#0f1512", -- Dark bg (status line and float)
bg1 = "#0f1512", -- Default bg
bg2 = "#1b211e", -- Lighter bg (colorcolm folds)
bg3 = "#252b28", -- Lighter bg (cursor line)
bg4 = "#303633", -- Conceal, border fg
bg0 = "#0f1512", -- Dark bg (status line and float)
bg1 = "#0f1512", -- Default bg
bg2 = "#1b211e", -- Lighter bg (colorcolm folds)
bg3 = "#252b28", -- Lighter bg (cursor line)
bg4 = "#303633", -- Conceal, border fg
bgDark = "#0c0c0c",
fg0 = "#dee4df", -- Lighter fg
fg1 = "#dee4df", -- Default fg
fg2 = "#dee4df", -- Darker fg (status line)
fg3 = "#89938d", -- Darker fg (line numbers, fold colums)
fg0 = "#dee4df", -- Lighter fg
fg1 = "#dee4df", -- Default fg
fg2 = "#dee4df", -- Darker fg (status line)
fg3 = "#89938d", -- Darker fg (line numbers, fold colums)
sel0 = "#404944", -- Popup bg, visual selection
sel1 = "#00513b", -- Popup sel bg, search bg
sel0 = "#404944", -- Popup bg, visual selection
sel1 = "#00513b", -- Popup sel bg, search bg
comment = "#89938d",
},
},
specs = {
carbonfox = {
syntax = {
comment = "comment",
bracket = "darkyellow",
builtin0 = "turquoise",
builtin1 = "cyan",
builtin2 = "lightblue",
conditional = "darkblue",
const = "gray",
dep = "darkred",
field = "green",
func = "pink",
ident = "darkgreen",
keyword = "blue",
number = "yellow",
operator = "white",
preproc = "strongred",
regex = "purple",
statement = "magenta",
string = "softblue",
type = "red",
variable = "orange",
},
diag = {
error = "darkred",
warn = "yellow",
info = "softblue",
hint = "fg3",
ok = "darkgreen",
},
diag_bg = {
error = "red",
warn = "#a16b00",
info = "cyan",
hint = "bg3",
ok = "green",
},
diff = {
add = "darkgreen",
delete = "darkred",
changed = "softblue",
text = "fg0",
},
git = {
add = "darkgreen",
removed = "darkred",
changed = "softblue",
conflict = "orange",
ignored = "gray",
},
},
},
groups = {
all = {
Cursor = { fg = "palette.white", bg = "palette.lightblue" }, -- character under the cursor
WinSeparator = { fg = "palette.bg2" }, -- the column separating vertically split windows
EndOfBuffer = { link = "WinSeparator" }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
CursorLine = { bg = "palette.bg1" },
CursorLineNr = { fg = "palette.cyan", style = "bold" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
Search = { fg = "palette.softblue", bg = "#00513b" }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
IncSearch = { fg = "palette.softblue", bg = "#1a6b51" }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
ModeMsg = { fg = "palette.fg3", style = "bold" }, -- 'showmode' message (e.g., "-- INSERT --")
comment = "#89938d",
},
},
specs = {
carbonfox = {
syntax = {
comment = "comment",
bracket = "darkyellow",
builtin0 = "turquoise",
builtin1 = "cyan",
builtin2 = "lightblue",
conditional = "darkblue",
const = "gray",
dep = "darkred",
field = "green",
func = "pink",
ident = "darkgreen",
keyword = "blue",
number = "yellow",
operator = "white",
preproc = "strongred",
regex = "purple",
statement = "magenta",
string = "softblue",
type = "red",
variable = "orange",
},
diag = {
error = "darkred",
warn = "yellow",
info = "softblue",
hint = "fg3",
ok = "darkgreen",
},
diag_bg = {
error = "red",
warn = "#a16b00",
info = "cyan",
hint = "bg3",
ok = "green",
},
diff = {
add = "darkgreen",
delete = "darkred",
changed = "softblue",
text = "fg0",
},
git = {
add = "darkgreen",
removed = "darkred",
changed = "softblue",
conflict = "orange",
ignored = "gray",
},
},
},
groups = {
all = {
Cursor = { fg = "palette.white", bg = "palette.lightblue" }, -- character under the cursor
WinSeparator = { fg = "palette.bg2" }, -- the column separating vertically split windows
EndOfBuffer = { link = "WinSeparator" }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
CursorLine = { bg = "palette.bg1" },
CursorLineNr = { fg = "palette.cyan", style = "bold" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
Search = { fg = "palette.softblue", bg = "#00513b" }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
IncSearch = { fg = "palette.softblue", bg = "#1a6b51" }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
ModeMsg = { fg = "palette.fg3", style = "bold" }, -- 'showmode' message (e.g., "-- INSERT --")
SnacksDashboardNormal = { fg = "palette.green" },
SnacksDashboardDesc = { fg = "palette.softblue" },
SnacksDashboardFile = { fg = "palette.softblue" },
SnacksDashboardIcon = { fg = "palette.orange" },
SnacksDashboardHeader = { fg = "palette.darkred" },
SnacksDashboardTitle = { fg = "palette.turquoise" },
SnacksIndentScope = { fg = "palette.lightblue" },
SnacksDashboardNormal = { fg = "palette.green" },
SnacksDashboardDesc = { fg = "palette.softblue" },
SnacksDashboardFile = { fg = "palette.softblue" },
SnacksDashboardIcon = { fg = "palette.orange" },
SnacksDashboardHeader = { fg = "palette.darkred" },
SnacksDashboardTitle = { fg = "palette.turquoise" },
SnacksIndentScope = { fg = "palette.lightblue" },
NormalFloat = { bg = "palette.bgDark" },
Directory = { fg = "palette.cyan" }
},
},
})
if not vim.g.vscode then
vim.cmd.colorscheme('carbonfox')
end
end,
Directory = { fg = "palette.cyan" },
},
},
})
if not vim.g.vscode then
local function apply()
local files = vim.fn.globpath(vim.o.runtimepath, "colors/*", false, true) ---@type string[]
for _, file in ipairs(files) do
local name = vim.fn.fnamemodify(file, ":t:r")
if name == "dms" then
vim.cmd.colorscheme("dms")
return
end
end
vim.cmd.colorscheme("carbonfox")
end
apply()
end
end,
}