consolidated colors
This commit is contained in:
1 parent
e3b43d2274
commit
857d5d78e8
5 files changed
+493
-299
No files matched your search
@@ -0,0 +1,5 @@
|
|||||||
|
choosewin_color_other
|
||||||
|
darcula_lush
|
||||||
|
lualine
|
||||||
|
termguicolors
|
||||||
|
vim
|
||||||
@@ -1,5 +1,11 @@
|
|||||||
A Lush Theme for Neovim.
|
# darcula_lush
|
||||||
===
|
|
||||||
|
A dark [Lush](https://github.com/rktjmp/lush.nvim) theme for Neovim.
|
||||||
|
|
||||||
|
The theme includes both its full RGB palette and a dark 16-color ANSI
|
||||||
|
fallback. With `termguicolors` disabled, Neovim uses the `cterm` colors, so the
|
||||||
|
theme remains usable in a Linux console or another TTY without true color or
|
||||||
|
256-color support.
|
||||||
|
|
||||||
See: http://git.io/lush.nvim for more information on Lush and a helper script
|
See: http://git.io/lush.nvim for more information on Lush and a helper script
|
||||||
to setup your repo clone.
|
to setup your repo clone.
|
||||||
@@ -3,4 +3,7 @@ vim.g.colors_name = "darcula_lush"
|
|||||||
|
|
||||||
package.loaded["lush_theme.darcula_lush"] = nil
|
package.loaded["lush_theme.darcula_lush"] = nil
|
||||||
|
|
||||||
require("lush")(require("lush_theme.darcula_lush"))
|
local theme = require("lush_theme.darcula_lush")
|
||||||
|
|
||||||
|
require("lush")(theme)
|
||||||
|
require("lush_theme.darcula_lush.cterm").apply(theme)
|
||||||
+308
-296
@@ -15,124 +15,136 @@
|
|||||||
|
|
||||||
---@diagnostic disable: undefined-global
|
---@diagnostic disable: undefined-global
|
||||||
local lush = require("lush")
|
local lush = require("lush")
|
||||||
local hsl = lush.hsl
|
|
||||||
|
|
||||||
local darken = function(color, by)
|
|
||||||
by = 12 * (by or 1)
|
|
||||||
return color.darken(by)
|
|
||||||
end
|
|
||||||
|
|
||||||
local lighten = function(color, by)
|
|
||||||
by = 12 * (by or 1)
|
|
||||||
return color.lighten(by)
|
|
||||||
end
|
|
||||||
|
|
||||||
local black = hsl("#101017")
|
|
||||||
local black2 = hsl("#101016")
|
|
||||||
|
|
||||||
local base_colors = {
|
|
||||||
black = black,
|
|
||||||
black2 = black2,
|
|
||||||
blue = hsl("#6877bb"),
|
|
||||||
cyan = hsl("#00FFFF").darken(40),
|
|
||||||
green = hsl("#6A906A"),
|
|
||||||
orange = hsl("#BC8043").lighten(8),
|
|
||||||
red = hsl("#CF6060"),
|
|
||||||
tan = hsl("#9A8065"),
|
|
||||||
purple = hsl("#9876AA"),
|
|
||||||
yellow = hsl("#ffff80").darken(53),
|
|
||||||
white = hsl("#a5a0a1").lighten(12)
|
|
||||||
}
|
|
||||||
|
|
||||||
local primary_colors = {
|
local primary_colors = {
|
||||||
black = base_colors.black,
|
none = "NONE",
|
||||||
black2 = base_colors.black2,
|
black_dark = "#0A0A0F",
|
||||||
blue = base_colors.blue,
|
black = "#111118",
|
||||||
cyan = base_colors.cyan,
|
black_light = "#1D1B1C",
|
||||||
green = base_colors.green,
|
grey_darkest = "#474344",
|
||||||
grey = darken(base_colors.white, 5),
|
grey_darker = "#5C5758",
|
||||||
orange = base_colors.orange,
|
grey_dark = "#5F595A",
|
||||||
light_orange = lighten(base_colors.orange, 1.5),
|
grey = "#766F71",
|
||||||
purple = base_colors.purple,
|
grey_lighter = "#9C9697",
|
||||||
light_grey = darken(base_colors.white, 1.4),
|
silver = "#B0ABAC",
|
||||||
white = base_colors.white,
|
silver_lighter = "#BFBBBC",
|
||||||
red = base_colors.red,
|
white = "#FFFFFF",
|
||||||
tan = base_colors.tan,
|
blue_saturated = "#004EAD",
|
||||||
yellow = base_colors.yellow
|
blue_darkest = "#344074",
|
||||||
|
blue_darker = "#445397",
|
||||||
|
blue = "#727FAF",
|
||||||
|
blue_black_dark = "#20202C",
|
||||||
|
blue_black = "#212130",
|
||||||
|
blue_black_light = "#242433",
|
||||||
|
blue_grey_darkest = "#282839",
|
||||||
|
blue_grey_darker = "#2E2E42",
|
||||||
|
blue_grey_dark = "#3F3F5A",
|
||||||
|
blue_grey = "#434360",
|
||||||
|
blue_grey_light = "#4D4D6F",
|
||||||
|
cyan = "#009999",
|
||||||
|
green_darkest = "#1E3A1E",
|
||||||
|
green_darker = "#364936",
|
||||||
|
green_dark = "#506D50",
|
||||||
|
green = "#6A906A",
|
||||||
|
yellow_darkest = "#2E2E1E",
|
||||||
|
yellow = "#B5A15A",
|
||||||
|
orange_darkest = "#4D3D22",
|
||||||
|
orange_dark = "#B47A41",
|
||||||
|
orange = "#C18A53",
|
||||||
|
orange_light = "#CC9E71",
|
||||||
|
red_darkest = "#3A1E1E",
|
||||||
|
red_darker = "#4A2020",
|
||||||
|
red_dark = "#952D2D",
|
||||||
|
red = "#C96B68",
|
||||||
|
purple = "#927B9E",
|
||||||
|
tan = "#9A8065"
|
||||||
}
|
}
|
||||||
|
|
||||||
local colors = {
|
local colors = {
|
||||||
BufferBackground = primary_colors.black,
|
None = primary_colors.none,
|
||||||
ColorColumnBackground = lighten(primary_colors.black, 0.8),
|
IconAzureForeground = primary_colors.blue_saturated,
|
||||||
CommentForeground = lighten(primary_colors.grey, 2.1),
|
IconCyanForeground = primary_colors.cyan,
|
||||||
ConcealBackground = primary_colors.grey,
|
GutterBackground = primary_colors.black_dark,
|
||||||
ConcealForeground = darken(primary_colors.white),
|
Background = primary_colors.black,
|
||||||
|
FaintForeground = primary_colors.black_light,
|
||||||
|
AddedBackground = primary_colors.green_darkest,
|
||||||
|
InactiveStatusBackground = primary_colors.blue_black_dark,
|
||||||
|
StatusBackground = primary_colors.blue_black,
|
||||||
|
RaisedBackground = primary_colors.blue_black_light,
|
||||||
|
TabBackground = primary_colors.blue_grey_darkest,
|
||||||
|
ChangedBackground = primary_colors.yellow_darkest,
|
||||||
|
SecondaryBackground = primary_colors.blue_grey_darker,
|
||||||
|
ModeCommandBackground = primary_colors.blue_darkest,
|
||||||
|
TodoBackground = primary_colors.green_darker,
|
||||||
|
RemovedBackground = primary_colors.red_darkest,
|
||||||
|
SelectionBackground = primary_colors.blue_grey_dark,
|
||||||
|
ModeNormalBackground = primary_colors.blue_grey,
|
||||||
|
ModeVisualBackground = primary_colors.blue_darker,
|
||||||
|
ConcealBackground = primary_colors.grey_darkest,
|
||||||
|
ScrollbarBackground = primary_colors.blue_grey_light,
|
||||||
|
ModeInsertBackground = primary_colors.green_dark,
|
||||||
|
LineNrForeground = primary_colors.grey_darker,
|
||||||
|
ErrorBackground = primary_colors.red_darker,
|
||||||
|
DiffTextBackground = primary_colors.orange_darkest,
|
||||||
|
DimForeground = primary_colors.grey_dark,
|
||||||
|
AccentForeground = primary_colors.blue,
|
||||||
|
PositiveForeground = primary_colors.green,
|
||||||
|
CommentForeground = primary_colors.grey,
|
||||||
|
ModeReplaceBackground = primary_colors.red_dark,
|
||||||
ConstantForeground = primary_colors.purple,
|
ConstantForeground = primary_colors.purple,
|
||||||
CursorLineBackground = lighten(primary_colors.black, 0.8),
|
|
||||||
CursorLineNrForeground = primary_colors.green,
|
|
||||||
DirectoryForeground = lighten(primary_colors.light_grey, 1),
|
|
||||||
DirectoryIconForeground = primary_colors.tan,
|
DirectoryIconForeground = primary_colors.tan,
|
||||||
EOBBackground = primary_colors.black,
|
SecondaryForeground = primary_colors.grey_lighter,
|
||||||
ErrorBackground = darken(primary_colors.red, 5),
|
NormalForeground = primary_colors.silver,
|
||||||
|
WarningForeground = primary_colors.yellow,
|
||||||
|
OperatorForeground = primary_colors.orange_dark,
|
||||||
|
EmphasisForeground = primary_colors.silver_lighter,
|
||||||
|
SyntaxForeground = primary_colors.orange,
|
||||||
|
FunctionForeground = primary_colors.orange_light,
|
||||||
ErrorForeground = primary_colors.red,
|
ErrorForeground = primary_colors.red,
|
||||||
FileForeground = primary_colors.light_grey,
|
ScrollbarThumbBackground = primary_colors.white
|
||||||
FloatBackground = lighten(primary_colors.black, 0.8),
|
|
||||||
FloatForeground = lighten(primary_colors.white, 2),
|
|
||||||
FunctionForeground = primary_colors.light_orange,
|
|
||||||
HighlightBackground = "NONE",
|
|
||||||
HighlightForeground = lighten(primary_colors.white, 1.5),
|
|
||||||
HintForeground = darken(primary_colors.white, 1),
|
|
||||||
InfoForeground = lighten(primary_colors.white),
|
|
||||||
InlayForeground = lighten(primary_colors.grey, 1),
|
|
||||||
KeywordForeground = primary_colors.orange,
|
|
||||||
LineNrForeground = darken(primary_colors.white, 4),
|
|
||||||
NamespaceForeground = primary_colors.orange,
|
|
||||||
NonTextForeground = lighten(primary_colors.grey, 1),
|
|
||||||
NormalForeground = primary_colors.white,
|
|
||||||
NumberForeground = primary_colors.blue,
|
|
||||||
NrBackground = darken(primary_colors.black, 3.5),
|
|
||||||
OperatorForeground = darken(primary_colors.orange, 1),
|
|
||||||
PmenuSelBackground = lighten(primary_colors.black, 2),
|
|
||||||
PreProcForeground = primary_colors.yellow,
|
|
||||||
ProgressForeground = darken(primary_colors.white),
|
|
||||||
RootForeground = primary_colors.green,
|
|
||||||
ScrollViewBackground = hsl("#FFFFFF"),
|
|
||||||
ScrollViewForeground = "NONE",
|
|
||||||
SearchBackground = "NONE",
|
|
||||||
SearchForeground = primary_colors.blue,
|
|
||||||
SelectionBackground = lighten(primary_colors.black, 2),
|
|
||||||
SpecialForeground = primary_colors.orange,
|
|
||||||
StatusBackground = lighten(primary_colors.black, 0.7),
|
|
||||||
StatusBackgroundNC = lighten(primary_colors.black2, 0.7),
|
|
||||||
StringForeground = primary_colors.green,
|
|
||||||
WarningForeground = primary_colors.yellow
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.g.choosewin_color_label = {
|
vim.g.choosewin_color_label = {
|
||||||
gui = {colors.PmenuSelBackground.hex, colors.FloatForeground.hex, "bold"}
|
gui = {colors.SelectionBackground, colors.EmphasisForeground, "bold"}
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.g.choosewin_color_label_current = {
|
vim.g.choosewin_color_label_current = {
|
||||||
gui = {primary_colors.green.hex, colors.FloatBackground.hex, "bold"}
|
gui = {colors.PositiveForeground, colors.RaisedBackground, "bold"}
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.g.choosewin_color_other = {
|
vim.g.choosewin_color_other = {
|
||||||
gui = {colors.StatusBackground.hex}
|
gui = {colors.StatusBackground}
|
||||||
}
|
}
|
||||||
|
|
||||||
local create_lualine_theme = function()
|
local create_lualine_theme = function()
|
||||||
local theme_colors = {
|
local theme_colors
|
||||||
background_i = darken(primary_colors.green, 2).hex,
|
if vim.o.termguicolors then
|
||||||
background_n = lighten(primary_colors.black, 2.2).hex,
|
theme_colors = {
|
||||||
background_b = lighten(primary_colors.black, 1.3).hex,
|
background_i = colors.ModeInsertBackground,
|
||||||
background_c = colors.StatusBackground.hex,
|
background_n = colors.ModeNormalBackground,
|
||||||
background_cm = darken(primary_colors.blue, 3.5).hex,
|
background_b = colors.SecondaryBackground,
|
||||||
background_r = darken(primary_colors.red, 3).hex,
|
background_c = colors.StatusBackground,
|
||||||
background_v = darken(primary_colors.blue, 2).hex,
|
background_cm = colors.ModeCommandBackground,
|
||||||
foreground = lighten(primary_colors.white, 1).hex,
|
background_r = colors.ModeReplaceBackground,
|
||||||
foreground_2 = primary_colors.white.hex,
|
background_v = colors.ModeVisualBackground,
|
||||||
foreground_3 = darken(primary_colors.white).hex
|
foreground = colors.EmphasisForeground,
|
||||||
}
|
foreground_2 = colors.NormalForeground,
|
||||||
|
foreground_3 = colors.SecondaryForeground
|
||||||
|
}
|
||||||
|
else
|
||||||
|
theme_colors = {
|
||||||
|
background_i = 2,
|
||||||
|
background_n = 8,
|
||||||
|
background_b = 8,
|
||||||
|
background_c = 0,
|
||||||
|
background_cm = 4,
|
||||||
|
background_r = 1,
|
||||||
|
background_v = 4,
|
||||||
|
foreground = 15,
|
||||||
|
foreground_2 = 7,
|
||||||
|
foreground_3 = 8
|
||||||
|
}
|
||||||
|
end
|
||||||
return {
|
return {
|
||||||
normal = {
|
normal = {
|
||||||
a = {
|
a = {
|
||||||
@@ -204,6 +216,7 @@ if ok then
|
|||||||
pattern = "darcula_lush",
|
pattern = "darcula_lush",
|
||||||
callback = function()
|
callback = function()
|
||||||
lualine.setup({options = {theme = create_lualine_theme()}})
|
lualine.setup({options = {theme = create_lualine_theme()}})
|
||||||
|
require("lush_theme.darcula_lush.cterm").apply_matching("^lualine_")
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -220,11 +233,11 @@ local theme =
|
|||||||
CodeHint {gui = "reverse"},
|
CodeHint {gui = "reverse"},
|
||||||
CodeInfo {gui = "reverse"},
|
CodeInfo {gui = "reverse"},
|
||||||
CodeWarn {gui = "reverse"},
|
CodeWarn {gui = "reverse"},
|
||||||
ErrorSign {bg = colors.NrBackground, fg = colors.ErrorForeground},
|
ErrorSign {bg = colors.GutterBackground, fg = colors.ErrorForeground},
|
||||||
HintSign {bg = colors.NrBackground, fg = colors.HintForeground},
|
HintSign {bg = colors.GutterBackground, fg = colors.SecondaryForeground},
|
||||||
InfoSign {bg = colors.NrBackground, fg = colors.InfoForeground},
|
InfoSign {bg = colors.GutterBackground, fg = colors.EmphasisForeground},
|
||||||
WarningSign {bg = colors.NrBackground, fg = colors.WarningForeground},
|
WarningSign {bg = colors.GutterBackground, fg = colors.WarningForeground},
|
||||||
IblScope {fg = colors.ConcealForeground, bg = "NONE"},
|
IblScope {fg = colors.SecondaryForeground, bg = colors.None},
|
||||||
IdentifierUnderCaret {
|
IdentifierUnderCaret {
|
||||||
gui = "underline,bold,italic"
|
gui = "underline,bold,italic"
|
||||||
},
|
},
|
||||||
@@ -239,63 +252,63 @@ local theme =
|
|||||||
--
|
--
|
||||||
-- CoC
|
-- CoC
|
||||||
CocErrorHighlight {fg = colors.ErrorForeground, gui = "bold,underline"},
|
CocErrorHighlight {fg = colors.ErrorForeground, gui = "bold,underline"},
|
||||||
CocHintHighlight {fg = colors.HintForeground, gui = "bold,underline"},
|
CocHintHighlight {fg = colors.SecondaryForeground, gui = "bold,underline"},
|
||||||
CocInfoHighlight {fg = colors.InfoForeground, gui = "bold,underline"},
|
CocInfoHighlight {fg = colors.EmphasisForeground, gui = "bold,underline"},
|
||||||
CocWarnHighlight {fg = colors.WarningForeground, gui = "bold,underline"},
|
CocWarnHighlight {fg = colors.WarningForeground, gui = "bold,underline"},
|
||||||
CocHighlightRead {IdentifierUnderCaret},
|
CocHighlightRead {IdentifierUnderCaret},
|
||||||
CocHighlightText {IdentifierUnderCaret},
|
CocHighlightText {IdentifierUnderCaret},
|
||||||
CocHighlightWrite {IdentifierUnderCaretWrite},
|
CocHighlightWrite {IdentifierUnderCaretWrite},
|
||||||
CocCodeLens {fg = colors.InlayForeground, bg = "NONE"},
|
CocCodeLens {fg = colors.DimForeground, bg = colors.None},
|
||||||
CocErrorFloat {fg = colors.FloatForeground, bg = colors.FloatBackground},
|
CocErrorFloat {fg = colors.EmphasisForeground, bg = colors.RaisedBackground},
|
||||||
CocFloating {fg = colors.FloatForeground, bg = colors.FloatBackground},
|
CocFloating {fg = colors.EmphasisForeground, bg = colors.RaisedBackground},
|
||||||
CocHintFloat {fg = colors.FloatForeground, bg = colors.FloatBackground},
|
CocHintFloat {fg = colors.EmphasisForeground, bg = colors.RaisedBackground},
|
||||||
CocHintVirtualText {fg = colors.InlayForeground, bg = "NONE"},
|
CocHintVirtualText {fg = colors.DimForeground, bg = colors.None},
|
||||||
CocInfoFloat {fg = colors.FloatForeground, bg = colors.FloatBackground},
|
CocInfoFloat {fg = colors.EmphasisForeground, bg = colors.RaisedBackground},
|
||||||
CocInlayHint {fg = colors.InlayForeground, bg = "NONE"},
|
CocInlayHint {fg = colors.DimForeground, bg = colors.None},
|
||||||
CocMenuSel {bg = colors.PmenuSelBackground},
|
CocMenuSel {bg = colors.SelectionBackground},
|
||||||
CocNotificationError {
|
CocNotificationError {
|
||||||
fg = colors.FloatForeground,
|
fg = colors.EmphasisForeground,
|
||||||
bg = colors.FloatBackground
|
bg = colors.RaisedBackground
|
||||||
},
|
},
|
||||||
CocNotificationInfo {
|
CocNotificationInfo {
|
||||||
fg = colors.FloatForeground,
|
fg = colors.EmphasisForeground,
|
||||||
bg = colors.FloatBackground
|
bg = colors.RaisedBackground
|
||||||
},
|
},
|
||||||
CocNotificationProgress {
|
CocNotificationProgress {
|
||||||
fg = colors.ProgressForeground,
|
fg = colors.SecondaryForeground,
|
||||||
bg = colors.FloatBackground
|
bg = colors.RaisedBackground
|
||||||
},
|
},
|
||||||
CocNotificationWarning {
|
CocNotificationWarning {
|
||||||
fg = colors.FloatForeground,
|
fg = colors.EmphasisForeground,
|
||||||
bg = colors.FloatBackground
|
bg = colors.RaisedBackground
|
||||||
},
|
},
|
||||||
CocPumMenu {fg = colors.FloatForeground, bg = colors.FloatBackground},
|
CocPumMenu {fg = colors.EmphasisForeground, bg = colors.RaisedBackground},
|
||||||
CocSearch {fg = colors.SearchForeground},
|
CocSearch {fg = colors.AccentForeground},
|
||||||
CocSemClass {fg = colors.FunctionForeground},
|
CocSemClass {fg = colors.FunctionForeground},
|
||||||
CocSymbolConstant {fg = colors.ConstantForeground},
|
CocSymbolConstant {fg = colors.ConstantForeground},
|
||||||
CocSymbolConstructor {fg = colors.FunctionForeground},
|
CocSymbolConstructor {fg = colors.FunctionForeground},
|
||||||
CocSymbolFunction {fg = colors.FunctionForeground},
|
CocSymbolFunction {fg = colors.FunctionForeground},
|
||||||
CocSymbolMethod {fg = colors.FunctionForeground},
|
CocSymbolMethod {fg = colors.FunctionForeground},
|
||||||
CocUnderline {fg = colors.NumberForeground, gui = "bold,underline"},
|
CocUnderline {fg = colors.AccentForeground, gui = "bold,underline"},
|
||||||
CocWarningFloat {fg = colors.FloatForeground, bg = colors.FloatBackground},
|
CocWarningFloat {fg = colors.EmphasisForeground, bg = colors.RaisedBackground},
|
||||||
-- easymotion
|
-- easymotion
|
||||||
EasyMotionShade {fg = colors.CommentForeground},
|
EasyMotionShade {fg = colors.CommentForeground},
|
||||||
EasyMotionIncSearch {
|
EasyMotionIncSearch {
|
||||||
fg = colors.SearchForeground,
|
fg = colors.AccentForeground,
|
||||||
gui = "bold,italic,underline"
|
gui = "bold,italic,underline"
|
||||||
},
|
},
|
||||||
EasyMotionTarget {gui = "underline", fg = colors.WarningForeground},
|
EasyMotionTarget {gui = "underline", fg = colors.WarningForeground},
|
||||||
--
|
--
|
||||||
-- fidget
|
-- fidget
|
||||||
FidgetDone {fg = colors.StringForeground},
|
FidgetDone {fg = colors.PositiveForeground},
|
||||||
FidgetGroup {fg = darken(colors.NormalForeground, 7)},
|
FidgetGroup {fg = colors.FaintForeground},
|
||||||
FidgetProgress {fg = colors.NumberForeground},
|
FidgetProgress {fg = colors.AccentForeground},
|
||||||
--
|
--
|
||||||
-- gitsigns
|
-- gitsigns
|
||||||
GitSignsCurrentLineBlame {fg = colors.CommentForeground, bg = "NONE"},
|
GitSignsCurrentLineBlame {fg = colors.CommentForeground, bg = colors.None},
|
||||||
--
|
--
|
||||||
-- lua
|
-- lua
|
||||||
luaParenError {bg = "NONE"},
|
luaParenError {bg = colors.None},
|
||||||
--
|
--
|
||||||
-- nvim-cmp
|
-- nvim-cmp
|
||||||
CmpItemAbbr {fg = colors.NormalForeground},
|
CmpItemAbbr {fg = colors.NormalForeground},
|
||||||
@@ -303,137 +316,137 @@ local theme =
|
|||||||
fg = colors.CommentForeground,
|
fg = colors.CommentForeground,
|
||||||
gui = "strikethrough"
|
gui = "strikethrough"
|
||||||
},
|
},
|
||||||
CmpItemAbbrMatch {fg = colors.NumberForeground},
|
CmpItemAbbrMatch {fg = colors.AccentForeground},
|
||||||
CmpItemAbbrMatchFuzzy {CmpItemAbbrMatch},
|
CmpItemAbbrMatchFuzzy {CmpItemAbbrMatch},
|
||||||
CmpItemKind {fg = colors.KeywordForeground},
|
CmpItemKind {fg = colors.SyntaxForeground},
|
||||||
CmpItemKindDefault {fg = colors.KeywordForeground},
|
CmpItemKindDefault {fg = colors.SyntaxForeground},
|
||||||
CmpItemMenu {fg = colors.FloatForeground},
|
CmpItemMenu {fg = colors.EmphasisForeground},
|
||||||
--
|
--
|
||||||
-- nvim notify
|
-- nvim notify
|
||||||
NotifyBackground {
|
NotifyBackground {
|
||||||
bg = colors.FloatBackground,
|
bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatBackground
|
fg = colors.RaisedBackground
|
||||||
},
|
},
|
||||||
NotifyINFOBody {
|
NotifyINFOBody {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyINFOBorder {
|
NotifyINFOBorder {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyINFOIcon {
|
NotifyINFOIcon {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.StringForeground
|
fg = colors.PositiveForeground
|
||||||
},
|
},
|
||||||
NotifyINFOTitle {
|
NotifyINFOTitle {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.StringForeground
|
fg = colors.PositiveForeground
|
||||||
},
|
},
|
||||||
NotifyERRORBody {
|
NotifyERRORBody {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyERRORBorder {
|
NotifyERRORBorder {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyERRORIcon {
|
NotifyERRORIcon {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.ErrorForeground
|
fg = colors.ErrorForeground
|
||||||
},
|
},
|
||||||
NotifyERRORTitle {
|
NotifyERRORTitle {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.ErrorForeground
|
fg = colors.ErrorForeground
|
||||||
},
|
},
|
||||||
NotifyWARNBody {
|
NotifyWARNBody {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyWARNBorder {
|
NotifyWARNBorder {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyWARNIcon {
|
NotifyWARNIcon {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.WarningForeground
|
fg = colors.WarningForeground
|
||||||
},
|
},
|
||||||
NotifyWARNTitle {
|
NotifyWARNTitle {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.WarningForeground
|
fg = colors.WarningForeground
|
||||||
},
|
},
|
||||||
NotifyDEBUGBody {
|
NotifyDEBUGBody {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyDEBUGBorder {
|
NotifyDEBUGBorder {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.FloatForeground
|
fg = colors.EmphasisForeground
|
||||||
},
|
},
|
||||||
NotifyDEBUGIcon {
|
NotifyDEBUGIcon {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.NumberForeground
|
fg = colors.AccentForeground
|
||||||
},
|
},
|
||||||
NotifyDEBUGTitle {
|
NotifyDEBUGTitle {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.NumberForeground
|
fg = colors.AccentForeground
|
||||||
},
|
},
|
||||||
NotifyTRACEBody {
|
NotifyTRACEBody {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.ConstantForeground
|
fg = colors.ConstantForeground
|
||||||
},
|
},
|
||||||
NotifyTRACEBorder {
|
NotifyTRACEBorder {
|
||||||
-- bg = colors.FloatBackground,
|
-- bg = colors.RaisedBackground,
|
||||||
fg = colors.ConstantForeground
|
fg = colors.ConstantForeground
|
||||||
},
|
},
|
||||||
--
|
--
|
||||||
-- nvim tree
|
-- nvim tree
|
||||||
NvimTreeEndOfBuffer {bg = colors.EOBBackground},
|
NvimTreeEndOfBuffer {bg = colors.Background},
|
||||||
NvimTreeFolderIcon {fg = colors.DirectoryIconForeground},
|
NvimTreeFolderIcon {fg = colors.DirectoryIconForeground},
|
||||||
NvimTreeFolderName {fg = colors.DirectoryForeground, gui = "bold"},
|
NvimTreeFolderName {fg = colors.SecondaryForeground, gui = "bold"},
|
||||||
NvimTreeNormal {bg = colors.EOBBackground, fg = colors.FileForeground},
|
NvimTreeNormal {bg = colors.Background, fg = colors.SecondaryForeground},
|
||||||
NvimTreeOpenedFolderName {fg = colors.DirectoryForeground, gui = "bold"},
|
NvimTreeOpenedFolderName {fg = colors.SecondaryForeground, gui = "bold"},
|
||||||
NvimTreeRootFolder {fg = colors.RootForeground},
|
NvimTreeRootFolder {fg = colors.PositiveForeground},
|
||||||
NvimTreeGitDirty {fg = colors.ErrorForeground},
|
NvimTreeGitDirty {fg = colors.ErrorForeground},
|
||||||
NvimTreeGitDirtyIcon {fg = colors.ErrorForeground},
|
NvimTreeGitDirtyIcon {fg = colors.ErrorForeground},
|
||||||
NvimTreeSymlink {fg = colors.NumberForeground, gui = "italic"},
|
NvimTreeSymlink {fg = colors.AccentForeground, gui = "italic"},
|
||||||
NvimTreeExecFile {fg = colors.StringForeground, gui = "italic"},
|
NvimTreeExecFile {fg = colors.PositiveForeground, gui = "italic"},
|
||||||
--
|
--
|
||||||
-- nvim scrollview
|
-- nvim scrollview
|
||||||
ScrollView {
|
ScrollView {
|
||||||
fg = colors.ScrollViewForeground,
|
fg = colors.None,
|
||||||
bg = colors.ScrollViewBackground
|
bg = colors.ScrollbarThumbBackground
|
||||||
},
|
},
|
||||||
--
|
--
|
||||||
-- Telescope
|
-- Telescope
|
||||||
TelescopeBorder {bg = lighten(colors.EOBBackground, 1)},
|
TelescopeBorder {bg = colors.TabBackground},
|
||||||
TelescopeMatching {fg = colors.SearchForeground},
|
TelescopeMatching {fg = colors.AccentForeground},
|
||||||
TelescopeNormal {bg = colors.BufferBackground},
|
TelescopeNormal {bg = colors.Background},
|
||||||
TelescopePromptNormal {bg = colors.BufferBackground},
|
TelescopePromptNormal {bg = colors.Background},
|
||||||
--
|
--
|
||||||
-- Neovim
|
-- Neovim
|
||||||
Added {fg = colors.StringForeground},
|
Added {fg = colors.PositiveForeground},
|
||||||
Changed {gui = "italic,underline"},
|
Changed {gui = "italic,underline"},
|
||||||
Character {fg = colors.StringForeground},
|
Character {fg = colors.PositiveForeground},
|
||||||
ColorColumn {bg = colors.ColorColumnBackground},
|
ColorColumn {bg = colors.RaisedBackground},
|
||||||
Comment {fg = colors.CommentForeground},
|
Comment {fg = colors.CommentForeground},
|
||||||
Conceal {bg = colors.ConcealBackground, fg = colors.ConcealForeground},
|
Conceal {bg = colors.ConcealBackground, fg = colors.SecondaryForeground},
|
||||||
Conditional {fg = colors.KeywordForeground},
|
Conditional {fg = colors.SyntaxForeground},
|
||||||
Constant {fg = colors.ConstantForeground},
|
Constant {fg = colors.ConstantForeground},
|
||||||
Cursor {gui = "reverse"},
|
Cursor {gui = "reverse"},
|
||||||
CursorColumn {
|
CursorColumn {
|
||||||
gui = "underline",
|
gui = "underline",
|
||||||
fg = colors.HighlightForeground,
|
fg = colors.EmphasisForeground,
|
||||||
bg = colors.HighlightBackground
|
bg = colors.None
|
||||||
},
|
},
|
||||||
CursorLine {bg = colors.CursorLineBackground},
|
CursorLine {bg = colors.RaisedBackground},
|
||||||
CursorLineNr {
|
CursorLineNr {
|
||||||
bg = colors.NrBackground,
|
bg = colors.GutterBackground,
|
||||||
fg = colors.CursorLineNrForeground
|
fg = colors.PositiveForeground
|
||||||
},
|
},
|
||||||
CurSearch {
|
CurSearch {
|
||||||
fg = colors.SearchForeground,
|
fg = colors.AccentForeground,
|
||||||
bg = colors.SearchBackground,
|
bg = colors.None,
|
||||||
gui = "bold,italic,underline"
|
gui = "bold,italic,underline"
|
||||||
},
|
},
|
||||||
Delimiter {fg = colors.FunctionForeground},
|
Delimiter {fg = colors.FunctionForeground},
|
||||||
@@ -447,29 +460,29 @@ local theme =
|
|||||||
DiagnosticFloatingWarn {CocWarningFloat},
|
DiagnosticFloatingWarn {CocWarningFloat},
|
||||||
DiagnosticSignError {
|
DiagnosticSignError {
|
||||||
fg = colors.ErrorForeground,
|
fg = colors.ErrorForeground,
|
||||||
bg = colors.NrBackground
|
bg = colors.GutterBackground
|
||||||
},
|
},
|
||||||
DiagnosticSignHint {fg = colors.HintForeground, bg = colors.NrBackground},
|
DiagnosticSignHint {fg = colors.SecondaryForeground, bg = colors.GutterBackground},
|
||||||
DiagnosticSignInfo {fg = colors.InfoForeground, bg = colors.NrBackground},
|
DiagnosticSignInfo {fg = colors.EmphasisForeground, bg = colors.GutterBackground},
|
||||||
DiagnosticSignWarn {
|
DiagnosticSignWarn {
|
||||||
fg = colors.WarningForeground,
|
fg = colors.WarningForeground,
|
||||||
bg = colors.NrBackground
|
bg = colors.GutterBackground
|
||||||
},
|
},
|
||||||
DiagnosticLineNrError {
|
DiagnosticLineNrError {
|
||||||
fg = colors.ErrorForeground,
|
fg = colors.ErrorForeground,
|
||||||
bg = colors.NrBackground
|
bg = colors.GutterBackground
|
||||||
},
|
},
|
||||||
DiagnosticLineNrHint {
|
DiagnosticLineNrHint {
|
||||||
fg = colors.HintForeground,
|
fg = colors.SecondaryForeground,
|
||||||
bg = colors.NrBackground
|
bg = colors.GutterBackground
|
||||||
},
|
},
|
||||||
DiagnosticLineNrInfo {
|
DiagnosticLineNrInfo {
|
||||||
fg = colors.InfoForeground,
|
fg = colors.EmphasisForeground,
|
||||||
bg = colors.NrBackground
|
bg = colors.GutterBackground
|
||||||
},
|
},
|
||||||
DiagnosticLineNrWarn {
|
DiagnosticLineNrWarn {
|
||||||
fg = colors.WarningForeground,
|
fg = colors.WarningForeground,
|
||||||
bg = colors.NrBackground
|
bg = colors.GutterBackground
|
||||||
},
|
},
|
||||||
DiagnosticUnderlineError {
|
DiagnosticUnderlineError {
|
||||||
CocErrorHighlight
|
CocErrorHighlight
|
||||||
@@ -483,151 +496,150 @@ local theme =
|
|||||||
DiagnosticUnderlineWarn {
|
DiagnosticUnderlineWarn {
|
||||||
CocWarnHighlight
|
CocWarnHighlight
|
||||||
},
|
},
|
||||||
DiagnosticVirtualTextError {fg = colors.InlayForeground, bg = "NONE"},
|
DiagnosticVirtualTextError {fg = colors.DimForeground, bg = colors.None},
|
||||||
DiagnosticVirtualTextWarn {fg = colors.InlayForeground, bg = "NONE"},
|
DiagnosticVirtualTextWarn {fg = colors.DimForeground, bg = colors.None},
|
||||||
DiagnosticVirtualTextInfo {fg = colors.InlayForeground, bg = "NONE"},
|
DiagnosticVirtualTextInfo {fg = colors.DimForeground, bg = colors.None},
|
||||||
DiagnosticVirtualTextHint {fg = colors.InlayForeground, bg = "NONE"},
|
DiagnosticVirtualTextHint {fg = colors.DimForeground, bg = colors.None},
|
||||||
DiffAdd {bg = "#1e3a1e"},
|
DiffAdd {bg = colors.AddedBackground},
|
||||||
DiffChange {bg = "#2e2e1e"},
|
DiffChange {bg = colors.ChangedBackground},
|
||||||
DiffDelete {bg = "#3a1e1e"},
|
DiffDelete {bg = colors.RemovedBackground},
|
||||||
DiffText {bg = "#5e4a1e"},
|
DiffText {bg = colors.DiffTextBackground},
|
||||||
Directory {fg = colors.FileForeground},
|
Directory {fg = colors.SecondaryForeground},
|
||||||
EndOfBuffer {bg = colors.EOBBackground},
|
EndOfBuffer {bg = colors.Background},
|
||||||
Error {
|
Error {
|
||||||
gui = "italic",
|
gui = "italic",
|
||||||
bg = colors.ErrorBackground,
|
bg = colors.ErrorBackground,
|
||||||
fg = colors.ErrorForeground
|
fg = colors.ErrorForeground
|
||||||
},
|
},
|
||||||
ErrorMsg {fg = colors.ErrorForeground},
|
ErrorMsg {fg = colors.ErrorForeground},
|
||||||
Exception {fg = colors.KeywordForeground},
|
Exception {fg = colors.SyntaxForeground},
|
||||||
FloatBorder {bg = colors.FloatBackground},
|
FloatBorder {bg = colors.RaisedBackground},
|
||||||
FoldColumn {fg = colors.ErrorForeground, bg = colors.NrBackground},
|
FoldColumn {fg = colors.ErrorForeground, bg = colors.GutterBackground},
|
||||||
Folded {fg = colors.CommentForeground, bg = colors.ConcealBackground},
|
Folded {fg = colors.CommentForeground, bg = colors.ConcealBackground},
|
||||||
Function {fg = colors.FunctionForeground},
|
Function {fg = colors.FunctionForeground},
|
||||||
Identifier {fg = colors.NormalForeground},
|
Identifier {fg = colors.NormalForeground},
|
||||||
IncSearch {fg = colors.SearchForeground, gui = "bold,italic,underline"},
|
IncSearch {fg = colors.AccentForeground, gui = "bold,italic,underline"},
|
||||||
Keyword {fg = colors.KeywordForeground},
|
Keyword {fg = colors.SyntaxForeground},
|
||||||
Label {fg = colors.KeywordForeground},
|
Label {fg = colors.SyntaxForeground},
|
||||||
LineNr {bg = colors.NrBackground, fg = colors.LineNrForeground},
|
LineNr {bg = colors.GutterBackground, fg = colors.LineNrForeground},
|
||||||
LineNrSpecial {bg = colors.NrBackground, fg = colors.SpecialForeground},
|
LineNrSpecial {bg = colors.GutterBackground, fg = colors.SyntaxForeground},
|
||||||
LspReferenceRead {
|
LspReferenceRead {
|
||||||
gui = "underline,italic",
|
gui = "underline,italic",
|
||||||
guibg = "NONE"
|
guibg = colors.None
|
||||||
},
|
},
|
||||||
LspReferenceText {
|
LspReferenceText {
|
||||||
gui = "underline,italic",
|
gui = "underline,italic",
|
||||||
guibg = "NONE"
|
guibg = colors.None
|
||||||
},
|
},
|
||||||
LspReferenceWrite {
|
LspReferenceWrite {
|
||||||
gui = "underline,bold,italic",
|
gui = "underline,bold,italic",
|
||||||
guibg = "NONE"
|
guibg = colors.None
|
||||||
},
|
},
|
||||||
LspCodeLens {fg = CocCodeLens.fg},
|
LspCodeLens {fg = colors.DimForeground},
|
||||||
LspCodeLensSeparator {fg = CocCodeLens.fg},
|
LspCodeLensSeparator {fg = colors.DimForeground},
|
||||||
LspSignatureActiveParameter {gui = "italic", fg = colors.NumberForeground},
|
LspSignatureActiveParameter {gui = "italic", fg = colors.AccentForeground},
|
||||||
MatchParen {
|
MatchParen {
|
||||||
gui = "italic,bold",
|
gui = "italic,bold",
|
||||||
bg = "NONE",
|
bg = colors.None
|
||||||
fg = colors.MatchParenForeground
|
|
||||||
},
|
},
|
||||||
ModeMsg {fg = colors.StringForeground},
|
ModeMsg {fg = colors.PositiveForeground},
|
||||||
MoreMsg {fg = colors.StringForeground},
|
MoreMsg {fg = colors.PositiveForeground},
|
||||||
NonText {fg = colors.NonTextForeground},
|
NonText {fg = colors.DimForeground},
|
||||||
Normal {bg = colors.BufferBackground, fg = colors.NormalForeground},
|
Normal {bg = colors.Background, fg = colors.NormalForeground},
|
||||||
NormalFloat {bg = colors.FloatBackground, fg = colors.FloatForeground},
|
NormalFloat {bg = colors.RaisedBackground, fg = colors.EmphasisForeground},
|
||||||
NormalNC {bg = colors.BufferBackground, fg = colors.NormalForeground},
|
NormalNC {bg = colors.Background, fg = colors.NormalForeground},
|
||||||
Number {fg = colors.NumberForeground},
|
Number {fg = colors.AccentForeground},
|
||||||
Operator {fg = colors.OperatorForeground},
|
Operator {fg = colors.OperatorForeground},
|
||||||
Pmenu {bg = colors.FloatBackground, fg = colors.FloatForeground},
|
Pmenu {bg = colors.RaisedBackground, fg = colors.EmphasisForeground},
|
||||||
PmenuMatch {fg = colors.SearchForeground},
|
PmenuMatch {fg = colors.AccentForeground},
|
||||||
PmenuSbar {bg = lighten(Pmenu.bg, 0.5)},
|
PmenuSbar {bg = colors.SecondaryBackground},
|
||||||
PmenuSel {bg = colors.PmenuSelBackground},
|
PmenuSel {bg = colors.SelectionBackground},
|
||||||
PmenuThumb {bg = lighten(Pmenu.bg, 2)},
|
PmenuThumb {bg = colors.ScrollbarBackground},
|
||||||
PreProc {fg = colors.PreProcForeground},
|
PreProc {fg = colors.WarningForeground},
|
||||||
Question {fg = colors.StringForeground},
|
Question {fg = colors.PositiveForeground},
|
||||||
QuickFixLine {
|
QuickFixLine {
|
||||||
fg = colors.HighlightForeground,
|
fg = colors.EmphasisForeground,
|
||||||
bg = colors.HighlightBackground
|
bg = colors.None
|
||||||
},
|
},
|
||||||
Removed {fg = colors.ErrorForeground},
|
Removed {fg = colors.ErrorForeground},
|
||||||
Repeat {fg = colors.KeywordForeground},
|
Repeat {fg = colors.SyntaxForeground},
|
||||||
Search {
|
Search {
|
||||||
fg = colors.SearchForeground,
|
fg = colors.AccentForeground,
|
||||||
bg = colors.SearchBackground,
|
bg = colors.None,
|
||||||
gui = "bold,italic,underline"
|
gui = "bold,italic,underline"
|
||||||
},
|
},
|
||||||
SignColumn {bg = colors.NrBackground},
|
SignColumn {bg = colors.GutterBackground},
|
||||||
Special {fg = colors.SpecialForeground},
|
Special {fg = colors.SyntaxForeground},
|
||||||
SpecialKey {fg = colors.NonTextForeground},
|
SpecialKey {fg = colors.DimForeground},
|
||||||
SpellBad {gui = "italic", fg = colors.NormalForeground},
|
SpellBad {gui = "italic", fg = colors.NormalForeground},
|
||||||
SpellCap {gui = "italic", fg = colors.NormalForeground},
|
SpellCap {gui = "italic", fg = colors.NormalForeground},
|
||||||
SpellLocal {gui = "italic", fg = colors.NormalForeground},
|
SpellLocal {gui = "italic", fg = colors.NormalForeground},
|
||||||
SpellRare {gui = "italic", fg = colors.NormalForeground},
|
SpellRare {gui = "italic", fg = colors.NormalForeground},
|
||||||
Statement {fg = colors.KeywordForeground},
|
Statement {fg = colors.SyntaxForeground},
|
||||||
StatusLine {bg = colors.StatusBackground},
|
StatusLine {bg = colors.StatusBackground},
|
||||||
StatusLineNC {bg = colors.StatusBackgroundNC},
|
StatusLineNC {bg = colors.InactiveStatusBackground},
|
||||||
String {fg = colors.StringForeground},
|
String {fg = colors.PositiveForeground},
|
||||||
Substitute {fg = colors.SearchForeground, gui = "underline"},
|
Substitute {fg = colors.AccentForeground, gui = "underline"},
|
||||||
TabLine {bg = lighten(colors.EOBBackground)},
|
TabLine {bg = colors.TabBackground},
|
||||||
TabLineFill {bg = colors.EOBBackground},
|
TabLineFill {bg = colors.Background},
|
||||||
TabLineSel {gui = "bold", bg = lighten(colors.EOBBackground, 2)},
|
TabLineSel {gui = "bold", bg = colors.SelectionBackground},
|
||||||
Title {fg = colors.FileForeground},
|
Title {fg = colors.SecondaryForeground},
|
||||||
Todo {
|
Todo {
|
||||||
bg = darken(colors.StringForeground, 4),
|
bg = colors.TodoBackground,
|
||||||
fg = colors.NormalForeground,
|
fg = colors.NormalForeground,
|
||||||
gui = "italic"
|
gui = "italic"
|
||||||
},
|
},
|
||||||
Type {fg = colors.KeywordForeground},
|
Type {fg = colors.SyntaxForeground},
|
||||||
Underlined {fg = colors.NumberForeground, gui = "underline"},
|
Underlined {fg = colors.AccentForeground, gui = "underline"},
|
||||||
VertSplit {bg = colors.NrBackground},
|
VertSplit {bg = colors.GutterBackground},
|
||||||
Visual {bg = colors.SelectionBackground},
|
Visual {bg = colors.SelectionBackground},
|
||||||
WarningMsg {fg = colors.WarningForeground},
|
WarningMsg {fg = colors.WarningForeground},
|
||||||
WinSeparator {bg = colors.NrBackground},
|
WinSeparator {bg = colors.GutterBackground},
|
||||||
--
|
--
|
||||||
-- mini.icons
|
-- mini.icons
|
||||||
MiniIconsAzure {fg = hsl("#0050AF")},
|
MiniIconsAzure {fg = colors.IconAzureForeground},
|
||||||
MiniIconsBlue {fg = primary_colors.blue},
|
MiniIconsBlue {fg = colors.AccentForeground},
|
||||||
MiniIconsCyan {fg = primary_colors.cyan},
|
MiniIconsCyan {fg = colors.IconCyanForeground},
|
||||||
MiniIconsGreen {fg = primary_colors.green},
|
MiniIconsGreen {fg = colors.PositiveForeground},
|
||||||
MiniIconsGrey {fg = hsl("#aaaaaa")},
|
MiniIconsGrey {fg = colors.NormalForeground},
|
||||||
MiniIconsOrange {fg = primary_colors.orange},
|
MiniIconsOrange {fg = colors.SyntaxForeground},
|
||||||
MiniIconsPurple {fg = primary_colors.purple},
|
MiniIconsPurple {fg = colors.ConstantForeground},
|
||||||
MiniIconsRed {fg = primary_colors.red},
|
MiniIconsRed {fg = colors.ErrorForeground},
|
||||||
MiniIconsYellow {fg = primary_colors.yellow},
|
MiniIconsYellow {fg = colors.WarningForeground},
|
||||||
--
|
--
|
||||||
-- mini.statusline
|
-- mini.statusline
|
||||||
MiniStatuslineDevinfo {
|
MiniStatuslineDevinfo {
|
||||||
bg = lighten(primary_colors.black, 1.3)
|
bg = colors.SecondaryBackground
|
||||||
},
|
},
|
||||||
MiniStatuslineFileinfo {
|
MiniStatuslineFileinfo {
|
||||||
bg = lighten(primary_colors.black, 1.3)
|
bg = colors.SecondaryBackground
|
||||||
},
|
},
|
||||||
MiniStatuslineFilename {
|
MiniStatuslineFilename {
|
||||||
bg = colors.StatusBackground
|
bg = colors.StatusBackground
|
||||||
},
|
},
|
||||||
MiniStatuslineModeNormal {
|
MiniStatuslineModeNormal {
|
||||||
fg = lighten(primary_colors.white, 1),
|
fg = colors.EmphasisForeground,
|
||||||
bg = lighten(primary_colors.black, 2.2),
|
bg = colors.ModeNormalBackground,
|
||||||
gui = "bold"
|
gui = "bold"
|
||||||
},
|
},
|
||||||
MiniStatuslineModeInsert {
|
MiniStatuslineModeInsert {
|
||||||
bg = darken(primary_colors.green, 2),
|
bg = colors.ModeInsertBackground,
|
||||||
fg = lighten(primary_colors.white, 1),
|
fg = colors.EmphasisForeground,
|
||||||
gui = "bold"
|
gui = "bold"
|
||||||
},
|
},
|
||||||
MiniStatuslineModeVisual {
|
MiniStatuslineModeVisual {
|
||||||
bg = darken(primary_colors.blue, 2),
|
bg = colors.ModeVisualBackground,
|
||||||
fg = lighten(primary_colors.white, 1),
|
fg = colors.EmphasisForeground,
|
||||||
gui = "bold"
|
gui = "bold"
|
||||||
},
|
},
|
||||||
MiniStatuslineModeReplace {
|
MiniStatuslineModeReplace {
|
||||||
bg = darken(primary_colors.red, 3),
|
bg = colors.ModeReplaceBackground,
|
||||||
fg = lighten(primary_colors.white, 1),
|
fg = colors.EmphasisForeground,
|
||||||
gui = "bold"
|
gui = "bold"
|
||||||
},
|
},
|
||||||
MiniStatuslineModeCommand {
|
MiniStatuslineModeCommand {
|
||||||
bg = darken(primary_colors.blue, 3.5),
|
bg = colors.ModeCommandBackground,
|
||||||
fg = lighten(primary_colors.white, 1),
|
fg = colors.EmphasisForeground,
|
||||||
gui = "bold"
|
gui = "bold"
|
||||||
},
|
},
|
||||||
MiniStatuslineModeOther {
|
MiniStatuslineModeOther {
|
||||||
@@ -645,21 +657,21 @@ local theme =
|
|||||||
sym("@constructor") {fg = colors.FunctionForeground},
|
sym("@constructor") {fg = colors.FunctionForeground},
|
||||||
sym("@function") {fg = colors.FunctionForeground},
|
sym("@function") {fg = colors.FunctionForeground},
|
||||||
sym("@function.builtin") {fg = colors.FunctionForeground},
|
sym("@function.builtin") {fg = colors.FunctionForeground},
|
||||||
sym("@keyword.directive") {fg = colors.PreProcForeground},
|
sym("@keyword.directive") {fg = colors.WarningForeground},
|
||||||
sym("@keyword.function") {fg = colors.KeywordForeground},
|
sym("@keyword.function") {fg = colors.SyntaxForeground},
|
||||||
sym("@keyword.import") {fg = colors.PreProcForeground},
|
sym("@keyword.import") {fg = colors.WarningForeground},
|
||||||
sym("@keyword.operator") {fg = Operator.fg, gui = Operator.gui},
|
sym("@keyword.operator") {fg = colors.OperatorForeground, gui = Operator.gui},
|
||||||
sym("@lsp.type.property.lua") {fg = colors.ConstantForeground},
|
sym("@lsp.type.property.lua") {fg = colors.ConstantForeground},
|
||||||
sym("@module") {fg = colors.NamespaceForeground},
|
sym("@module") {fg = colors.SyntaxForeground},
|
||||||
sym("@number") {fg = colors.NumberForeground},
|
sym("@number") {fg = colors.AccentForeground},
|
||||||
sym("@number.float") {fg = colors.NumberForeground},
|
sym("@number.float") {fg = colors.AccentForeground},
|
||||||
sym("@operator") {fg = Operator.fg, gui = Operator.gui},
|
sym("@operator") {fg = colors.OperatorForeground, gui = Operator.gui},
|
||||||
sym("@operator.special") {fg = Operator.fg, gui = Operator.gui},
|
sym("@operator.special") {fg = colors.OperatorForeground, gui = Operator.gui},
|
||||||
sym("@punctuation.bracket") {fg = colors.FunctionForeground},
|
sym("@punctuation.bracket") {fg = colors.FunctionForeground},
|
||||||
sym("@punctuation.delimiter") {fg = colors.SpecialForeground},
|
sym("@punctuation.delimiter") {fg = colors.SyntaxForeground},
|
||||||
sym("@punctuation.special") {fg = colors.SpecialForeground},
|
sym("@punctuation.special") {fg = colors.SyntaxForeground},
|
||||||
sym("@type.cpp") {fg = colors.FunctionForeground},
|
sym("@type.cpp") {fg = colors.FunctionForeground},
|
||||||
sym("@type.definition") {fg = Constant.fg, gui = ""},
|
sym("@type.definition") {fg = colors.ConstantForeground, gui = ""},
|
||||||
sym("@variable") {fg = colors.NormalForeground},
|
sym("@variable") {fg = colors.NormalForeground},
|
||||||
sym("@variable.member") {fg = colors.ConstantForeground},
|
sym("@variable.member") {fg = colors.ConstantForeground},
|
||||||
sym("@variable.member.cpp") {fg = colors.NormalForeground}
|
sym("@variable.member.cpp") {fg = colors.NormalForeground}
|
||||||
|
|||||||
@@ -0,0 +1,168 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
-- These anchors describe the role of each ANSI color in darcula_lush. They
|
||||||
|
-- intentionally use only the 16-color palette so the fallback also works on
|
||||||
|
-- a Linux console and other terminals without 256-color support.
|
||||||
|
local ansi_anchors = {
|
||||||
|
{index = 0, rgb = 0x101017}, -- black: editor surfaces
|
||||||
|
{index = 1, rgb = 0x3a1e1e}, -- dark red: error/diff surfaces
|
||||||
|
{index = 2, rgb = 0x1e3a1e}, -- dark green: added/success surfaces
|
||||||
|
{index = 3, rgb = 0x4d3d22}, -- dark yellow: changed surfaces
|
||||||
|
{index = 4, rgb = 0x344074}, -- dark blue: mode surfaces
|
||||||
|
{index = 7, rgb = 0xb0abac}, -- light gray: normal text
|
||||||
|
{index = 8, rgb = 0x5f595a}, -- dark gray: muted text/selections
|
||||||
|
{index = 9, rgb = 0xc96b68}, -- bright red: errors
|
||||||
|
{index = 10, rgb = 0x6a906a}, -- bright green: strings
|
||||||
|
{index = 11, rgb = 0xc18a53}, -- bright yellow: keywords/functions
|
||||||
|
{index = 12, rgb = 0x727faf}, -- bright blue: numbers/search
|
||||||
|
{index = 13, rgb = 0x927b9e}, -- bright magenta: constants
|
||||||
|
{index = 14, rgb = 0x009999}, -- bright cyan: cyan accents
|
||||||
|
{index = 15, rgb = 0xc4c0c1} -- white: emphasized text
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Keep the current palette's deliberately muted colors from drifting to a
|
||||||
|
-- similarly close hue (comments becoming green, for example). The nearest
|
||||||
|
-- anchor remains a useful fallback when the RGB palette grows.
|
||||||
|
local color_overrides = {
|
||||||
|
["#004ead"] = 12,
|
||||||
|
["#009999"] = 14,
|
||||||
|
["#0a0a0f"] = 0,
|
||||||
|
["#111118"] = 0,
|
||||||
|
["#1d1b1c"] = 8,
|
||||||
|
["#1e3a1e"] = 2,
|
||||||
|
["#20202c"] = 0,
|
||||||
|
["#212130"] = 0,
|
||||||
|
["#242433"] = 0,
|
||||||
|
["#282839"] = 8,
|
||||||
|
["#2e2e1e"] = 3,
|
||||||
|
["#2e2e42"] = 8,
|
||||||
|
["#344074"] = 4,
|
||||||
|
["#364936"] = 2,
|
||||||
|
["#3a1e1e"] = 1,
|
||||||
|
["#3f3f5a"] = 8,
|
||||||
|
["#434360"] = 8,
|
||||||
|
["#445397"] = 4,
|
||||||
|
["#474344"] = 8,
|
||||||
|
["#4d4d6f"] = 8,
|
||||||
|
["#506d50"] = 2,
|
||||||
|
["#5c5758"] = 8,
|
||||||
|
["#4a2020"] = 1,
|
||||||
|
["#4d3d22"] = 3,
|
||||||
|
["#5f595a"] = 8,
|
||||||
|
["#727faf"] = 12,
|
||||||
|
["#6a906a"] = 10,
|
||||||
|
["#766f71"] = 8,
|
||||||
|
["#952d2d"] = 1,
|
||||||
|
["#958e8f"] = 7,
|
||||||
|
["#927b9e"] = 13,
|
||||||
|
["#9a8065"] = 11,
|
||||||
|
["#9c9697"] = 7,
|
||||||
|
["#a19b9c"] = 7,
|
||||||
|
["#ababab"] = 7,
|
||||||
|
["#b0abac"] = 7,
|
||||||
|
["#b5a15a"] = 11,
|
||||||
|
["#b47a41"] = 11,
|
||||||
|
["#bab5b6"] = 15,
|
||||||
|
["#bfbbbc"] = 15,
|
||||||
|
["#c18a53"] = 11,
|
||||||
|
["#c4c0c1"] = 15,
|
||||||
|
["#cc9e71"] = 11,
|
||||||
|
["#c96b68"] = 9,
|
||||||
|
["#ffffff"] = 15
|
||||||
|
}
|
||||||
|
|
||||||
|
local group_overrides = {
|
||||||
|
CocMenuSel = {ctermfg = 0, ctermbg = 7},
|
||||||
|
ColorColumn = {ctermbg = 8},
|
||||||
|
CursorColumn = {ctermfg = 7, ctermbg = 8},
|
||||||
|
CursorLine = {ctermbg = 8},
|
||||||
|
DiffAdd = {ctermfg = 15, ctermbg = 2},
|
||||||
|
DiffChange = {ctermfg = 15, ctermbg = 3},
|
||||||
|
DiffDelete = {ctermfg = 15, ctermbg = 1},
|
||||||
|
DiffText = {ctermfg = 0, ctermbg = 3},
|
||||||
|
Error = {ctermfg = 15, ctermbg = 1},
|
||||||
|
Folded = {ctermfg = 7, ctermbg = 8},
|
||||||
|
PmenuSel = {ctermfg = 0, ctermbg = 7},
|
||||||
|
QuickFixLine = {ctermfg = 0, ctermbg = 7},
|
||||||
|
StatusLine = {ctermfg = 0, ctermbg = 7},
|
||||||
|
StatusLineNC = {ctermfg = 7, ctermbg = 8},
|
||||||
|
TabLine = {ctermfg = 7, ctermbg = 8},
|
||||||
|
TabLineSel = {ctermfg = 0, ctermbg = 7},
|
||||||
|
Visual = {ctermfg = 0, ctermbg = 7}
|
||||||
|
}
|
||||||
|
|
||||||
|
local function channels(rgb)
|
||||||
|
return math.floor(rgb / 0x10000) % 0x100,
|
||||||
|
math.floor(rgb / 0x100) % 0x100,
|
||||||
|
rgb % 0x100
|
||||||
|
end
|
||||||
|
|
||||||
|
local function nearest_ansi(color)
|
||||||
|
local rgb
|
||||||
|
if type(color) == "number" then
|
||||||
|
rgb = color
|
||||||
|
local override = color_overrides[string.format("#%06x", rgb)]
|
||||||
|
if override then
|
||||||
|
return override
|
||||||
|
end
|
||||||
|
elseif type(color) ~= "string" then
|
||||||
|
return nil
|
||||||
|
else
|
||||||
|
local hex = color:match("^#(%x%x%x%x%x%x)$")
|
||||||
|
if not hex then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
local override = color_overrides["#" .. hex:lower()]
|
||||||
|
if override then
|
||||||
|
return override
|
||||||
|
end
|
||||||
|
rgb = tonumber(hex, 16)
|
||||||
|
end
|
||||||
|
|
||||||
|
local red, green, blue = channels(rgb)
|
||||||
|
local nearest
|
||||||
|
local nearest_distance
|
||||||
|
|
||||||
|
for _, anchor in ipairs(ansi_anchors) do
|
||||||
|
local anchor_red, anchor_green, anchor_blue = channels(anchor.rgb)
|
||||||
|
local distance = (red - anchor_red) ^ 2
|
||||||
|
+ (green - anchor_green) ^ 2
|
||||||
|
+ (blue - anchor_blue) ^ 2
|
||||||
|
|
||||||
|
if not nearest_distance or distance < nearest_distance then
|
||||||
|
nearest = anchor.index
|
||||||
|
nearest_distance = distance
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return nearest
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.apply(theme)
|
||||||
|
local compiled = require("lush").compile(theme)
|
||||||
|
|
||||||
|
for group, attrs in pairs(compiled) do
|
||||||
|
if not attrs.link then
|
||||||
|
attrs.ctermfg = nearest_ansi(attrs.fg)
|
||||||
|
attrs.ctermbg = nearest_ansi(attrs.bg)
|
||||||
|
|
||||||
|
for key, value in pairs(group_overrides[group] or {}) do
|
||||||
|
attrs[key] = value
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_hl(0, group, attrs)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.apply_matching(pattern)
|
||||||
|
for group, attrs in pairs(vim.api.nvim_get_hl(0, {})) do
|
||||||
|
if group:match(pattern) and not attrs.link then
|
||||||
|
attrs.ctermfg = nearest_ansi(attrs.fg)
|
||||||
|
attrs.ctermbg = nearest_ansi(attrs.bg)
|
||||||
|
vim.api.nvim_set_hl(0, group, attrs)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
Reference in new issue
Block a user