summaryrefslogtreecommitdiff
path: root/config/nvim/lua/theme/colors.lua
diff options
context:
space:
mode:
author2026-02-22 13:02:08 +0300
committer2026-02-22 15:28:51 +0300
commitad175cdb4045fbe8fecb686c871b481e312d43dd (patch)
tree533b63cdadd138d94ff3247fa5faabea95dfd5a6 /config/nvim/lua/theme/colors.lua
parentfixes zshrc (diff)
downloaddotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.gz
dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.bz2
dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.xz
dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.zip
nvim configs
Diffstat (limited to 'config/nvim/lua/theme/colors.lua')
-rw-r--r--config/nvim/lua/theme/colors.lua1626
1 files changed, 839 insertions, 787 deletions
diff --git a/config/nvim/lua/theme/colors.lua b/config/nvim/lua/theme/colors.lua
index dd6f804..ca33eb3 100644
--- a/config/nvim/lua/theme/colors.lua
+++ b/config/nvim/lua/theme/colors.lua
@@ -1,6 +1,6 @@
vim.cmd("hi clear")
if vim.fn.exists("syntax_on") == 1 then
- vim.cmd("syntax reset")
+ vim.cmd("syntax reset")
end
vim.g.colors_name = "alabaster"
@@ -8,797 +8,849 @@ vim.g.colors_name = "alabaster"
local theme
---@diagnostic disable: undefined-global
if vim.o.background == "dark" then
- -- terminal colors
- vim.g.terminal_color_0 = "#000000"
- vim.g.terminal_color_1 = "#d2322d"
- vim.g.terminal_color_2 = "#6abf40"
- vim.g.terminal_color_3 = "#cd974b"
- vim.g.terminal_color_4 = "#217EBC"
- vim.g.terminal_color_5 = "#9B3596"
- vim.g.terminal_color_6 = "#178F79"
- vim.g.terminal_color_7 = "#cecece"
- vim.g.terminal_color_8 = "#333333"
- vim.g.terminal_color_9 = "#c33c33"
- vim.g.terminal_color_10 = "#95cb82"
- vim.g.terminal_color_11 = "#dfdf8e"
- vim.g.terminal_color_12 = "#71aed7"
- vim.g.terminal_color_13 = "#cc8bc9"
- vim.g.terminal_color_14 = "#47BEA9"
- vim.g.terminal_color_15 = "#ffffff"
-
- -- colors
- local fg = "#cecece"
- local punct_fg = "#708b8d"
- local def_fg = "#71ade7"
- local const_fg = "#cc8bc9"
- local active = "#cd974b"
- local string_fg = "#95cb82"
- local darker_fg = "#7d7d7d"
- local diffadd = "#6abf40"
- local diffdelete = "#d2322d"
- local diffchange = "#ec8013"
- local statusline = "#2c3043"
- local comment = "#dfdf8e"
- local dim_comment = "#696969"
- local mistake = {
- fg = "#c33c33",
- bg = "#2b1d1e",
- }
- local error = "#d13e23"
- local warn = "#f4b371"
- local hint = "#8ebeec"
- local info = "#88cc66"
- local ansi = {
- black = "#333333",
- blue = "#71aed7",
- brightyellow = "#dfdf8e",
- cyan = "#47bea9",
- green = "#95cb82",
- magenta = "#cc8bc9",
- red = "#c33c33",
- white = "#cecece",
- yellow = "#cd974b",
- }
- local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment
- local pmenu_bg = "#252525"
- local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg
- local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#333333" }
- or {
- bg = float_bg,
- fg = float_bg,
- }
- theme = {
- Comment = { fg = comment_fg },
- ColorColumn = { bg = "#252525" },
- Conceal = { fg = "#b0b0b0" },
- Cursor = { bg = active, fg = "#000000" },
- -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
- -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
- CursorColumn = { bg = "#252525" },
- CursorLine = { bg = "#252525" },
- Directory = { fg = ansi.blue },
- DiffAdd = { bg = "#244032", fg = "#56d364" },
- DiffDelete = { bg = "#462c32", fg = "#f85149" },
- DiffText = { fg = "#341a00", bg = "#fff987" },
- DiffChange = { bg = "#341a00", fg = "#e3b341" },
- EndOfBuffer = { fg = "#354c50" },
- -- TermCursor { }, -- cursor in a focused terminal
- TermCursorNC = { fg = bg, bg = fg },
- ErrorMsg = { fg = error, bg = mistake.bg },
- VertSplit = { fg = "#2b3d40" },
- Folded = { bg = "#252525", fg = "#7d7d7d" },
- FoldColumn = { bg = bg, fg = "#4d4d4d" },
- SignColumn = {},
- IncSearch = { bg = ansi.yellow, fg = bg },
- -- Substitute { }, -- |:substitute| replacement text highlighting
- LineNr = { fg = "#5c5c5c" },
- CursorLineNr = { fg = ansi.blue, bold = 1 },
- MatchParen = { underline = 1, sp = active },
- -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
- -- MsgArea { }, -- Area for messages and cmdline
- -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
- MoreMsg = { fg = ansi.green, bold = 1 },
- NonText = { fg = "#696969" },
- Normal = { bg = bg, fg = fg },
- NormalFloat = { bg = float_bg },
- -- NormalNC { }, -- normal text in non-current windows
- FloatBorder = floatborder,
- Pmenu = { bg = pmenu_bg },
- PmenuSel = { bg = "#354c50" },
- PmenuSbar = { bg = "#212f31" },
- PmenuThumb = { bg = "#47666b" },
- Question = { fg = diffadd },
- QuickFixLine = { bg = "#252525" },
- Search = { bg = "#354c50" },
- SpecialKey = { fg = ansi.cyan },
- SpellBad = { undercurl = 1, sp = ansi.red },
- SpellCap = { undercurl = 1, sp = ansi.blue },
- SpellLocal = { undercurl = 1, sp = ansi.cyan },
- SpellRare = { undercurl = 1, sp = ansi.magenta },
- StatusLine = { bg = statusline, fg = fg },
- StatusLineNC = { bg = statusline, fg = "#9f9f9f" },
- TabLine = { bg = statusline, fg = "#7d7d7d" },
- TabLineFill = { bg = statusline },
- TabLineSel = { bg = statusline, fg = ansi.blue },
- Title = { fg = const_fg },
- Visual = { bg = "#293334" },
- VisualNOS = { bg = "#293334" },
- WarningMsg = { fg = "#e1ad4c" },
- WildMenu = { bg = "#354c50" },
- WinBar = { bg = bg, fg = ansi.white, bold = true },
- WinBarNC = { bg = bg, fg = "#7d7d7d" },
-
- --- SYNTAX I: TS groups link to these
- Constant = { fg = const_fg },
- String = { fg = string_fg },
- Character = { fg = const_fg },
- Number = { fg = const_fg },
- Boolean = { fg = const_fg },
- Float = { fg = const_fg },
- Operator = { fg = punct_fg },
-
- --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter
- Identifier = { fg = def_fg }, -- ansi.white },
- Function = { fg = def_fg },
- Statement = { fg = ansi.white },
- Conditional = { fg = ansi.white },
- Repeat = { fg = ansi.white },
- Label = { fg = def_fg },
- Keyword = { fg = ansi.white },
- Exception = { fg = ansi.white },
- PreProc = { fg = ansi.white },
- Include = { fg = ansi.white },
- Define = { fg = ansi.white },
- Macro = { fg = ansi.white },
- PreCondit = { fg = ansi.white },
- Type = { fg = ansi.white },
- StorageClass = { fg = ansi.white },
- Structure = { fg = def_fg },
- Typedef = { fg = def_fg },
-
- Special = { fg = ansi.yellow },
- -- TODO better color than diffchange, try reddish
- -- SpecialChar = { fg = diffchange }, -- special character in a constant
- -- Tag { }, -- you can use CTRL-] on this
- -- Delimiter { },
- SpecialComment = { bg = "#1d292b", fg = ansi.blue },
- debugPc = { bg = "#0f2534" },
- debugBreakpoint = { bg = "#b33229" },
- helpHyperTextJump = { fg = ansi.magenta },
- helpSectionDelim = { fg = ansi.magenta },
- helpExample = { fg = ansi.cyan },
- helpCommand = { fg = ansi.cyan },
- helpHeadline = { fg = ansi.blue },
- helpHeader = { fg = ansi.magenta },
-
- Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links
- Italic = { italic = 1 },
-
- -- ("Ignore", below, may be invisible...)
- -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
-
- Error = { bg = mistake.bg, fg = mistake.fg },
-
- Todo = { bg = "#d0d058", fg = bg },
-
- --- Diagnostic
- LspReferenceText = { bg = "#253437" },
- LspReferenceRead = { bg = "#253437" },
- LspReferenceWrite = { bg = "#253437", underline = 1, sp = active },
- LspCodeLens = { fg = "#5c5c5c" },
- LspCodeLensSeparator = { fg = "#5c5c5c" },
-
- --- Diagnostic
- DiagnosticError = { fg = error },
- DiagnosticWarn = { fg = warn },
- DiagnosticHint = { fg = hint },
- DiagnosticInfo = { fg = info },
- DiagnosticVirtualTextError = { bg = "#350B0B", fg = "#D1503A" },
- DiagnosticVirtualTextWarn = { bg = "#3F240A", fg = "#C8935D" },
- DiagnosticVirtualTextHint = { bg = "#1D2B37", fg = "#7E9CB9" },
- DiagnosticVirtualTextInfo = { bg = "#162C0B", fg = "#7BAC62" },
-
- --- Treesitter
- TSAttribute = {},
- TSConstructor = { fg = ansi.white },
- TSConditional = { fg = ansi.white },
- TSConstBuiltin = { fg = const_fg },
- TSConstMacro = { fg = ansi.white },
- TSError = { bg = mistake.bg, fg = mistake.fg },
- TSException = { fg = ansi.white },
- TSField = { fg = def_fg }, -- ansi.white },
- TSFunction = { fg = ansi.white },
- TSFuncBuiltin = { fg = ansi.white },
- TSFuncMacro = { fg = ansi.white },
- TSKeyword = { fg = ansi.white },
- TSKeywordFunction = { fg = ansi.white },
- TSLabel = { fg = ansi.white },
- TSMethod = { fg = ansi.white },
- TSNamespace = { fg = ansi.white },
- TSNone = { fg = const_fg },
- TSParameter = { fg = ansi.white },
- TSParameterReference = { fg = ansi.white },
- TSProperty = { fg = ansi.white },
- TSPunctDelimiter = { fg = punct_fg },
- TSPunctBracket = { fg = "#bababa" },
- TSPunctSpecial = { fg = punct_fg },
- TSRepeat = { fg = ansi.white },
- TSString = { fg = string_fg },
- TSStringRegex = { bg = "#1d292b", fg = const_fg },
- TSStringEscape = { bg = "#1d292b", fg = const_fg },
- TSSymbol = {},
- TSType = { fg = ansi.white },
- TSTypeBuiltin = { fg = ansi.white },
- TSVariable = { fg = ansi.white },
- TSVariableBuiltin = { fg = ansi.white },
- TSTag = { fg = ansi.white },
- TSTagDelimiter = { fg = punct_fg },
- TSText = { fg = ansi.white },
- ["@attribute"] = {},
- ["@constructor"] = { fg = ansi.white },
- ["@conditional"] = { fg = ansi.white },
- ["@constant.builtin"] = { fg = const_fg },
- ["@constant.macro"] = { fg = ansi.white },
- ["@error"] = { bg = mistake.bg, fg = mistake.fg },
- ["@exception"] = { fg = ansi.white },
- ["@field"] = { fg = ansi.white },
- ["@function"] = { fg = ansi.white },
- ["@function.builtin"] = { fg = ansi.white },
- ["@function.macro"] = { fg = ansi.white },
- ["@keyword"] = { fg = ansi.white },
- ["@keyword.function"] = { fg = ansi.white },
- ["@keyword.operator"] = { fg = punct_fg },
- ["@label"] = { fg = ansi.white },
- ["@method"] = { fg = ansi.white },
- ["@module"] = { fg = ansi.white },
- ["@namespace"] = { fg = ansi.white },
- ["@none"] = { fg = const_fg },
- ["@parameter"] = { fg = ansi.white },
- ["@parameter.reference"] = { fg = ansi.white },
- ["@property"] = { fg = ansi.white },
- ["@punctuation.delimiter"] = { fg = punct_fg },
- ["@punctuation.bracket"] = { fg = "#bababa" },
- ["@punctuation.special"] = { fg = punct_fg },
- ["@repeat"] = { fg = ansi.white },
- ["@string"] = { fg = string_fg },
- ["@string.regex"] = { bg = "#1d292b", fg = const_fg },
- ["@string.escape"] = { bg = "#1d292b", fg = const_fg },
- ["@symbol"] = {},
- ["@type.builtin"] = { fg = ansi.white },
- ["@variable"] = { fg = ansi.white },
- ["@variable.builtin"] = { fg = ansi.white },
- ["@tag"] = { fg = ansi.white },
- ["@tag.delimiter"] = { fg = punct_fg },
- ["@text"] = { fg = ansi.white },
- ["@text.note"] = { bg = "#1d292b", fg = ansi.blue },
- ["@text.warning"] = { bg = "#d0d058", fg = bg },
-
- ["@type"] = { fg = def_fg },
+ -- terminal colors
+ vim.g.terminal_color_0 = "#000000"
+ vim.g.terminal_color_1 = "#d2322d"
+ vim.g.terminal_color_2 = "#6abf40"
+ vim.g.terminal_color_3 = "#cd974b"
+ vim.g.terminal_color_4 = "#217EBC"
+ vim.g.terminal_color_5 = "#9B3596"
+ vim.g.terminal_color_6 = "#178F79"
+ vim.g.terminal_color_7 = "#cecece"
+ vim.g.terminal_color_8 = "#333333"
+ vim.g.terminal_color_9 = "#c33c33"
+ vim.g.terminal_color_10 = "#95cb82"
+ vim.g.terminal_color_11 = "#dfdf8e"
+ vim.g.terminal_color_12 = "#71aed7"
+ vim.g.terminal_color_13 = "#cc8bc9"
+ vim.g.terminal_color_14 = "#47BEA9"
+ vim.g.terminal_color_15 = "#ffffff"
+
+ -- colors
+ local bg = "#1c1c1f"
+ local fg = "#cecece"
+ local punct_fg = "#708b8d"
+ local def_fg = "#71ade7"
+ local const_fg = "#cc8bc9"
+ local active = "#cd974b"
+ local string_fg = "#95cb82"
+ local darker_fg = "#7d7d7d"
+ local diffadd = "#6abf40"
+ local diffdelete = "#d2322d"
+ local diffchange = "#ec8013"
+ local statusline = "#2c3043"
+ local comment = "#dfdf8e"
+ local dim_comment = "#696969"
+ local mistake = {
+ fg = "#c33c33",
+ bg = "#2b1d1e",
+ }
+ local error = "#d13e23"
+ local warn = "#f4b371"
+ local hint = "#8ebeec"
+ local info = "#88cc66"
+ local ansi = {
+ black = "#333333",
+ blue = "#71aed7",
+ brightyellow = "#dfdf8e",
+ cyan = "#47bea9",
+ green = "#95cb82",
+ magenta = "#cc8bc9",
+ red = "#c33c33",
+ white = "#cecece",
+ yellow = "#cd974b",
+ }
+ local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment
+ local pmenu_bg = "#252525"
+ local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg
+ local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#333333" }
+ or {
+ bg = float_bg,
+ fg = float_bg,
+ }
+ theme = {
+ Comment = { fg = comment_fg },
+ ColorColumn = { bg = "#252525" },
+ Conceal = { fg = "#b0b0b0" },
+ Cursor = { bg = active, fg = "#000000" },
+ -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
+ -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
+ CursorColumn = { bg = "#252525" },
+ CursorLine = { bg = "#252525" },
+ Directory = { fg = ansi.blue },
+ DiffAdd = { bg = "#244032", fg = "#56d364" },
+ DiffDelete = { bg = "#462c32", fg = "#f85149" },
+ DiffText = { fg = "#341a00", bg = "#fff987" },
+ DiffChange = { bg = "#341a00", fg = "#e3b341" },
+ EndOfBuffer = { fg = "#354c50" },
+ -- TermCursor { }, -- cursor in a focused terminal
+ TermCursorNC = { fg = bg, bg = fg },
+ ErrorMsg = { fg = error, bg = mistake.bg },
+ VertSplit = { fg = "#2b3d40" },
+ Folded = { bg = "#252525", fg = "#7d7d7d" },
+ FoldColumn = { bg = bg, fg = "#4d4d4d" },
+ SignColumn = {},
+ IncSearch = { bg = ansi.yellow, fg = bg },
+ -- Substitute { }, -- |:substitute| replacement text highlighting
+ LineNr = { fg = "#5c5c5c" },
+ CursorLineNr = { fg = ansi.blue, bold = 1 },
+ MatchParen = { underline = 1, sp = active },
+ -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
+ -- MsgArea { }, -- Area for messages and cmdline
+ -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
+ MoreMsg = { fg = ansi.green, bold = 1 },
+ NonText = { fg = "#696969" },
+ Normal = { bg = bg, fg = fg },
+ NormalFloat = { bg = float_bg },
+ -- NormalNC { }, -- normal text in non-current windows
+ FloatBorder = floatborder,
+ Pmenu = { bg = pmenu_bg },
+ PmenuSel = { bg = "#354c50" },
+ PmenuSbar = { bg = "#212f31" },
+ PmenuThumb = { bg = "#47666b" },
+ Question = { fg = diffadd },
+ QuickFixLine = { bg = "#252525" },
+ Search = { bg = "#354c50" },
+ SpecialKey = { fg = ansi.cyan },
+ SpellBad = { undercurl = 1, sp = ansi.red },
+ SpellCap = { undercurl = 1, sp = ansi.blue },
+ SpellLocal = { undercurl = 1, sp = ansi.cyan },
+ SpellRare = { undercurl = 1, sp = ansi.magenta },
+ StatusLine = { bg = statusline, fg = fg },
+ StatusLineNC = { bg = statusline, fg = "#9f9f9f" },
+ TabLine = { bg = statusline, fg = "#7d7d7d" },
+ TabLineFill = { bg = statusline },
+ TabLineSel = { bg = statusline, fg = ansi.blue },
+ Title = { fg = const_fg },
+ Visual = { bg = "#293334" },
+ VisualNOS = { bg = "#293334" },
+ WarningMsg = { fg = "#e1ad4c" },
+ WildMenu = { bg = "#354c50" },
+ WinBar = { bg = bg, fg = ansi.white, bold = true },
+ WinBarNC = { bg = bg, fg = "#7d7d7d" },
+
+ --- SYNTAX I: TS groups link to these
+ Constant = { fg = const_fg },
+ String = { fg = string_fg },
+ Character = { fg = const_fg },
+ Number = { fg = const_fg },
+ Boolean = { fg = const_fg },
+ Float = { fg = const_fg },
+ Operator = { fg = punct_fg },
+
+ --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter
+ Identifier = { fg = def_fg }, -- ansi.white },
+ Function = { fg = def_fg },
+ Statement = { fg = ansi.white },
+ Conditional = { fg = ansi.white },
+ Repeat = { fg = ansi.white },
+ Label = { fg = def_fg },
+ Keyword = { fg = ansi.white },
+ Exception = { fg = ansi.white },
+ PreProc = { fg = ansi.white },
+ Include = { fg = ansi.white },
+ Define = { fg = ansi.white },
+ Macro = { fg = ansi.white },
+ PreCondit = { fg = ansi.white },
+ Type = { fg = ansi.white },
+ StorageClass = { fg = ansi.white },
+ Structure = { fg = def_fg },
+ Typedef = { fg = def_fg },
+
+ Special = { fg = ansi.yellow },
+ -- TODO better color than diffchange, try reddish
+ -- SpecialChar = { fg = diffchange }, -- special character in a constant
+ -- Tag { }, -- you can use CTRL-] on this
+ -- Delimiter { },
+ SpecialComment = { bg = "#1d292b", fg = ansi.blue },
+ debugPc = { bg = "#0f2534" },
+ debugBreakpoint = { bg = "#b33229" },
+ helpHyperTextJump = { fg = ansi.magenta },
+ helpSectionDelim = { fg = ansi.magenta },
+ helpExample = { fg = ansi.cyan },
+ helpCommand = { fg = ansi.cyan },
+ helpHeadline = { fg = ansi.blue },
+ helpHeader = { fg = ansi.magenta },
+
+ Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links
+ Italic = { italic = 1 },
+
+ -- ("Ignore", below, may be invisible...)
+ -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
+
+ Error = { bg = mistake.bg, fg = mistake.fg },
+
+ Todo = { bg = "#d0d058", fg = bg },
+
+ --- Diagnostic
+ LspReferenceText = { bg = "#253437" },
+ LspReferenceRead = { bg = "#253437" },
+ LspReferenceWrite = { bg = "#253437", underline = 1, sp = active },
+ LspCodeLens = { fg = "#5c5c5c" },
+ LspCodeLensSeparator = { fg = "#5c5c5c" },
+
+ --- Diagnostic
+ DiagnosticError = { fg = error },
+ DiagnosticWarn = { fg = warn },
+ DiagnosticHint = { fg = hint },
+ DiagnosticInfo = { fg = info },
+ DiagnosticVirtualTextError = { bg = "#350B0B", fg = "#D1503A" },
+ DiagnosticVirtualTextWarn = { bg = "#3F240A", fg = "#C8935D" },
+ DiagnosticVirtualTextHint = { bg = "#1D2B37", fg = "#7E9CB9" },
+ DiagnosticVirtualTextInfo = { bg = "#162C0B", fg = "#7BAC62" },
+
+ --- Treesitter
+ TSAttribute = {},
+ TSConstructor = { fg = ansi.white },
+ TSConditional = { fg = ansi.white },
+ TSConstBuiltin = { fg = const_fg },
+ TSConstMacro = { fg = ansi.white },
+ TSError = { bg = mistake.bg, fg = mistake.fg },
+ TSException = { fg = ansi.white },
+ TSField = { fg = def_fg }, -- ansi.white },
+ TSFunction = { fg = ansi.white },
+ TSFuncBuiltin = { fg = ansi.white },
+ TSFuncMacro = { fg = ansi.white },
+ TSKeyword = { fg = ansi.white },
+ TSKeywordFunction = { fg = ansi.white },
+ TSLabel = { fg = ansi.white },
+ TSMethod = { fg = ansi.white },
+ TSNamespace = { fg = ansi.white },
+ TSNone = { fg = const_fg },
+ TSParameter = { fg = ansi.white },
+ TSParameterReference = { fg = ansi.white },
+ TSProperty = { fg = ansi.white },
+ TSPunctDelimiter = { fg = punct_fg },
+ TSPunctBracket = { fg = "#bababa" },
+ TSPunctSpecial = { fg = punct_fg },
+ TSRepeat = { fg = ansi.white },
+ TSString = { fg = string_fg },
+ TSStringRegex = { bg = "#1d292b", fg = const_fg },
+ TSStringEscape = { bg = "#1d292b", fg = const_fg },
+ TSSymbol = {},
+ TSType = { fg = ansi.white },
+ TSTypeBuiltin = { fg = ansi.white },
+ TSVariable = { fg = ansi.white },
+ TSVariableBuiltin = { fg = ansi.white },
+ TSTag = { fg = ansi.white },
+ TSTagDelimiter = { fg = punct_fg },
+ TSText = { fg = ansi.white },
+ ["@attribute"] = {},
+ ["@constructor"] = { fg = ansi.white },
+ ["@conditional"] = { fg = ansi.white },
+ ["@constant.builtin"] = { fg = const_fg },
+ ["@constant.macro"] = { fg = ansi.white },
+ ["@error"] = { bg = mistake.bg, fg = mistake.fg },
+ ["@exception"] = { fg = ansi.white },
+ ["@field"] = { fg = ansi.white },
+ ["@function"] = { fg = ansi.white },
+ ["@function.builtin"] = { fg = ansi.white },
+ ["@function.macro"] = { fg = ansi.white },
+ ["@keyword"] = { fg = ansi.white },
+ ["@keyword.function"] = { fg = ansi.white },
+ ["@keyword.operator"] = { fg = punct_fg },
+ ["@label"] = { fg = ansi.white },
+ ["@method"] = { fg = ansi.white },
+ ["@module"] = { fg = ansi.white },
+ ["@namespace"] = { fg = ansi.white },
+ ["@none"] = { fg = const_fg },
+ ["@parameter"] = { fg = ansi.white },
+ ["@parameter.reference"] = { fg = ansi.white },
+ ["@property"] = { fg = ansi.white },
+ ["@punctuation.delimiter"] = { fg = punct_fg },
+ ["@punctuation.bracket"] = { fg = "#bababa" },
+ ["@punctuation.special"] = { fg = punct_fg },
+ ["@repeat"] = { fg = ansi.white },
+ ["@string"] = { fg = string_fg },
+ ["@string.regex"] = { bg = "#1d292b", fg = const_fg },
+ ["@string.escape"] = { bg = "#1d292b", fg = const_fg },
+ ["@symbol"] = {},
+ ["@type.builtin"] = { fg = ansi.white },
+ ["@variable"] = { fg = ansi.white },
+ ["@variable.builtin"] = { fg = ansi.white },
+ ["@tag"] = { fg = ansi.white },
+ ["@tag.delimiter"] = { fg = punct_fg },
+ ["@text"] = { fg = ansi.white },
+ ["@text.note"] = { bg = "#1d292b", fg = ansi.blue },
+ ["@text.warning"] = { bg = "#d0d058", fg = bg },
+
+ ["@type"] = { fg = def_fg },
---
- --- Theme specific
- ["@AlabasterBase"] = { fg = ansi.white },
- ["@AlabasterConstant"] = { fg = const_fg },
- ["@AlabasterDefinition"] = { fg = def_fg },
- ["@AlabasterPunct"] = { fg = punct_fg },
- ["@AlabasterString"] = { fg = string_fg },
- ["@AlabasterHashbang"] = { fg = dim_comment },
- --- Gitsigns
- GitSignsAdd = { fg = diffadd },
- GitSignsChange = { fg = diffchange },
- GitSignsDelete = { fg = diffdelete },
- --- Telescope
- TelescopeBorder = { fg = "#2b3d40" },
- TelescopeMatching = { fg = "#f09942" },
- TelescopeMultiSelection = { fg = ansi.magenta },
- TelescopePromptPrefix = { fg = ansi.blue },
- TelescopeSelectionCaret = { fg = mistake.fg },
- TelescopeTitle = { fg = ansi.brightyellow },
- TelescopeResultsTitle = { fg = ansi.yellow },
- --- fzf-lua
- FzfLuaBorder = { fg = "#2b3d40" },
- --- mini.nvim
- MiniPickMatchCurrent = { fg = "#f09942" },
- --- Neogit
- NeogitPopupActionDisabled = { fg = darker_fg },
- NeogitPopupActionKey = { fg = ansi.magenta },
- NeogitPopupOptionDisabled = { fg = darker_fg },
- NeogitPopupOptionKey = { fg = ansi.blue },
- NeogitPopupSwitchDisabled = { fg = darker_fg },
- NeogitPopupSwitchEnabled = { fg = ansi.cyan },
- NeogitPopupSwitchKey = { fg = ansi.magenta },
- --- Fugitive
- diffAdded = { link = "DiffAdd" },
- diffRemoved = { link = "DiffDelete" },
- --- Startify
- StartifyBracket = { fg = darker_fg },
- StartifyFile = { fg = ansi.white },
- StartifySection = { fg = ansi.green },
- StartifySlash = { fg = "#4e6e75" },
- StartifyPath = { fg = "#4e6e75" },
- --- Statusline
- StatuslineAdd = { fg = diffadd, bg = statusline },
- StatuslineErr = { fg = error, bg = statusline },
- StatuslineHint = { fg = hint, bg = statusline },
- StatuslineInfo = { fg = info, bg = statusline },
- StatuslineWarn = { fg = warn, bg = statusline },
- StatuslineBlue = { fg = ansi.blue, bg = statusline },
- StatuslineRed = { fg = ansi.red, bg = statusline },
- StatuslineGreen = { fg = ansi.green, bg = statusline },
- StatuslineCyan = { fg = ansi.cyan, bg = statusline },
- StatuslineMagenta = { fg = ansi.magenta, bg = statusline },
- --- ALE
- ALEWarningSign = { fg = warn },
- --- vim-matchup
- MatchupVirtualText = { fg = ansi.yellow },
- --- For `highlight link`
- AlabasterBlack = { fg = ansi.black },
- AlabasterBlue = { fg = ansi.blue },
- AlabasterBrightYellow = { fg = ansi.brightyellow },
- AlabasterCyan = { fg = ansi.cyan },
- AlabasterGreen = { fg = ansi.green },
- AlabasterDarkGreen = { fg = "#6abf40" },
- AlabasterMagenta = { fg = ansi.magenta },
- AlabasterRed = { fg = ansi.red },
- AlabasterWhite = { fg = ansi.white },
- AlabasterYellow = { fg = ansi.yellow },
- --- Hop
- HopNextKey = { fg = ansi.brightyellow },
- HopNextKey1 = { fg = ansi.cyan },
- HopNextKey2 = { fg = "#297567" },
- HopUnmatched = { fg = "#3d3d3d" },
- --- Lightspeed
- LightspeedGreyWash = { fg = "#3d3d3d" },
- --- checkhealth
- healthSuccess = { fg = ansi.green, bg = bg },
- --- cmp
- CmpItemMenuDefault = { fg = ansi.magenta },
- --- nvim-ts-rainbow
- rainbowcol1 = { fg = ansi.yellow },
- rainbowcol2 = { fg = ansi.magenta },
- rainbowcol3 = { fg = ansi.blue },
- rainbowcol4 = { fg = ansi.green },
- rainbowcol5 = { fg = ansi.brightyellow },
- rainbowcol6 = { fg = ansi.red },
- rainbowcol7 = { fg = ansi.cyan },
- --- Iswap
- ISwapSnipe = { bg = ansi.yellow, fg = bg },
- ISwapGrey = { fg = "#3d3d3d" },
- --- vim-dadbod-ui
- dbui_help = { fg = dim_comment },
- dbui_connection_source = { fg = dim_comment },
- --- nvim-dap-virtual-text
- NvimDapVirtualText = { bg = "#1d292b", fg = ansi.cyan },
- --- Noice
- NoiceCmdlineIcon = { link = "AlabasterDarkGreen" },
- NoiceCmdlinePopupBorder = { link = "AlabasterDarkGreen" },
- NoiceConfirmBorder = { link = "AlabasterDarkGreen" },
- NoiceCmdlinePopupBorderCmdline = { link = "AlabasterDarkGreen" },
- NoiceCmdlineIconCmdline = { link = "AlabasterDarkGreen" },
- NoiceCmdlinePopupBorderFilter = { link = "AlabasterDarkGreen" },
- NoiceCmdlineIconFilter = { link = "AlabasterDarkGreen" },
- NoiceCmdlinePopupBorderLua = { link = "AlabasterDarkGreen" },
- NoiceCmdlineIconLua = { link = "AlabasterDarkGreen" },
- NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" },
- NoiceCmdlineIconSearch = { link = "AlabasterYellow" },
- -- Languages
- --- asm
- asmDirective = { fg = dim_comment },
- nasmLabel = { link = "@AlabasterDefinition" },
-
- ["@lsp.mod.declaration"] = { fg = fg },
- ["@lsp.type.enumMember"] = { fg = fg },
- ["@lsp.type.function"] = { fg = fg },
- ["@lsp.type.method"] = { fg = fg },
- ["@lsp.type.selfKeyword"] = { fg = fg },
- ["@lsp.typemod.class.declaration"] = { fg = def_fg },
- ["@lsp.typemod.class.definition"] = { fg = def_fg },
- ["@lsp.typemod.enum.declaration"] = { fg = def_fg },
- ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg },
- ["@lsp.typemod.function.declaration"] = { fg = def_fg },
- ["@lsp.typemod.function.definition"] = { fg = def_fg },
- ["@lsp.typemod.macro.declaration"] = { fg = def_fg },
- ["@lsp.typemod.method.declaration"] = { fg = def_fg },
- ["@lsp.typemod.selfKeyword"] = { fg = fg },
- ["@lsp.typemod.struct.declaration"] = { fg = def_fg },
- ["@lsp.typemod.type.declaration"] = { fg = def_fg },
- }
+ --- Theme specific
+ ["@AlabasterBase"] = { fg = ansi.white },
+ ["@AlabasterConstant"] = { fg = const_fg },
+ ["@AlabasterDefinition"] = { fg = def_fg },
+ ["@AlabasterPunct"] = { fg = punct_fg },
+ ["@AlabasterString"] = { fg = string_fg },
+ ["@AlabasterHashbang"] = { fg = dim_comment },
+ --- Gitsigns
+ GitSignsAdd = { fg = diffadd },
+ GitSignsChange = { fg = diffchange },
+ GitSignsDelete = { fg = diffdelete },
+ --- Telescope
+ TelescopeBorder = { fg = "#2b3d40" },
+ TelescopeMatching = { fg = "#f09942" },
+ TelescopeMultiSelection = { fg = ansi.magenta },
+ TelescopePromptPrefix = { fg = ansi.blue },
+ TelescopeSelectionCaret = { fg = mistake.fg },
+ TelescopeTitle = { fg = ansi.brightyellow },
+ TelescopeResultsTitle = { fg = ansi.yellow },
+ --- fzf-lua
+ FzfLuaBorder = { fg = "#2b3d40" },
+ --- mini.nvim
+ MiniPickMatchCurrent = { fg = "#f09942" },
+ --- Neogit
+ NeogitPopupActionDisabled = { fg = darker_fg },
+ NeogitPopupActionKey = { fg = ansi.magenta },
+ NeogitPopupOptionDisabled = { fg = darker_fg },
+ NeogitPopupOptionKey = { fg = ansi.blue },
+ NeogitPopupSwitchDisabled = { fg = darker_fg },
+ NeogitPopupSwitchEnabled = { fg = ansi.cyan },
+ NeogitPopupSwitchKey = { fg = ansi.magenta },
+ --- Fugitive
+ diffAdded = { link = "DiffAdd" },
+ diffRemoved = { link = "DiffDelete" },
+ --- Startify
+ StartifyBracket = { fg = darker_fg },
+ StartifyFile = { fg = ansi.white },
+ StartifySection = { fg = ansi.green },
+ StartifySlash = { fg = "#4e6e75" },
+ StartifyPath = { fg = "#4e6e75" },
+ --- Statusline
+ StatuslineAdd = { fg = diffadd, bg = statusline },
+ StatuslineErr = { fg = error, bg = statusline },
+ StatuslineHint = { fg = hint, bg = statusline },
+ StatuslineInfo = { fg = info, bg = statusline },
+ StatuslineWarn = { fg = warn, bg = statusline },
+ StatuslineBlue = { fg = ansi.blue, bg = statusline },
+ StatuslineRed = { fg = ansi.red, bg = statusline },
+ StatuslineGreen = { fg = ansi.green, bg = statusline },
+ StatuslineCyan = { fg = ansi.cyan, bg = statusline },
+ StatuslineMagenta = { fg = ansi.magenta, bg = statusline },
+ --- ALE
+ ALEWarningSign = { fg = warn },
+ --- vim-matchup
+ MatchupVirtualText = { fg = ansi.yellow },
+ --- For `highlight link`
+ AlabasterBlack = { fg = ansi.black },
+ AlabasterBlue = { fg = ansi.blue },
+ AlabasterBrightYellow = { fg = ansi.brightyellow },
+ AlabasterCyan = { fg = ansi.cyan },
+ AlabasterGreen = { fg = ansi.green },
+ AlabasterDarkGreen = { fg = "#6abf40" },
+ AlabasterMagenta = { fg = ansi.magenta },
+ AlabasterRed = { fg = ansi.red },
+ AlabasterWhite = { fg = ansi.white },
+ AlabasterYellow = { fg = ansi.yellow },
+ --- Hop
+ HopNextKey = { fg = ansi.brightyellow },
+ HopNextKey1 = { fg = ansi.cyan },
+ HopNextKey2 = { fg = "#297567" },
+ HopUnmatched = { fg = "#3d3d3d" },
+ --- Lightspeed
+ LightspeedGreyWash = { fg = "#3d3d3d" },
+ --- checkhealth
+ healthSuccess = { fg = ansi.green, bg = bg },
+ --- cmp
+ CmpItemMenuDefault = { fg = ansi.magenta },
+ --- nvim-ts-rainbow
+ rainbowcol1 = { fg = ansi.yellow },
+ rainbowcol2 = { fg = ansi.magenta },
+ rainbowcol3 = { fg = ansi.blue },
+ rainbowcol4 = { fg = ansi.green },
+ rainbowcol5 = { fg = ansi.brightyellow },
+ rainbowcol6 = { fg = ansi.red },
+ rainbowcol7 = { fg = ansi.cyan },
+ --- Iswap
+ ISwapSnipe = { bg = ansi.yellow, fg = bg },
+ ISwapGrey = { fg = "#3d3d3d" },
+ --- vim-dadbod-ui
+ dbui_help = { fg = dim_comment },
+ dbui_connection_source = { fg = dim_comment },
+ --- nvim-dap-virtual-text
+ NvimDapVirtualText = { bg = "#1d292b", fg = ansi.cyan },
+ --- nvim-tree
+ NvimTreeNormal = { bg = "#1c1c1f" },
+ NvimTreeNormalNC = { link = "NvimTreeNormal" },
+ NvimTreeFloatBorder = { fg = "#333333" },
+ NvimTreeWinSeparator = { fg = "#2b3d40" },
+ NvimTreeCursorLine = { bg = "#252525" },
+ NvimTreeFolderName = { fg = ansi.blue },
+ NvimTreeFolderIcon = { fg = ansi.gold or "#cd974b" },
+ NvimTreeOpenedFolderName = { fg = ansi.blue, bold = true },
+ NvimTreeRootFolder = { fg = ansi.blue, bold = true },
+ NvimTreeGitDirty = { fg = diffchange },
+ NvimTreeGitStaged = { fg = diffadd },
+ NvimTreeGitNew = { fg = ansi.green },
+ NvimTreeGitDeleted = { fg = diffdelete },
+ NvimTreeGitRenamed = { fg = ansi.magenta },
+ NvimTreeExecFile = { fg = ansi.green },
+ NvimTreeSpecialFile = { fg = ansi.yellow },
+ NvimTreeIndentMarker = { fg = "#4d4d4d" },
+ --- Noice
+ NoiceCmdlineIcon = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorder = { link = "AlabasterDarkGreen" },
+ NoiceConfirmBorder = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderCmdline = { link = "AlabasterDarkGreen" },
+ NoiceCmdlineIconCmdline = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderFilter = { link = "AlabasterDarkGreen" },
+ NoiceCmdlineIconFilter = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderLua = { link = "AlabasterDarkGreen" },
+ NoiceCmdlineIconLua = { link = "AlabasterDarkGreen" },
+ NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" },
+ NoiceCmdlineIconSearch = { link = "AlabasterYellow" },
+ -- Languages
+ --- asm
+ asmDirective = { fg = dim_comment },
+ nasmLabel = { link = "@AlabasterDefinition" },
+
+ ["@lsp.mod.declaration"] = { fg = fg },
+ ["@lsp.type.enumMember"] = { fg = fg },
+ ["@lsp.type.function"] = { fg = fg },
+ ["@lsp.type.method"] = { fg = fg },
+ ["@lsp.type.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.class.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.class.definition"] = { fg = def_fg },
+ ["@lsp.typemod.enum.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg },
+ ["@lsp.typemod.function.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.function.definition"] = { fg = def_fg },
+ ["@lsp.typemod.macro.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.method.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.struct.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.type.declaration"] = { fg = def_fg },
+ }
else
- -- terminal colors
- vim.g.terminal_color_0 = "#000000"
- vim.g.terminal_color_1 = "#aa3731"
- vim.g.terminal_color_2 = "#448c27"
- vim.g.terminal_color_3 = "#cb9000"
- vim.g.terminal_color_4 = "#325cc0"
- vim.g.terminal_color_5 = "#7a3e9d"
- vim.g.terminal_color_6 = "#0083b2"
- vim.g.terminal_color_7 = "#f7f7f7"
- vim.g.terminal_color_8 = "#777777"
- vim.g.terminal_color_9 = "#f05050"
- vim.g.terminal_color_10 = "#60cb00"
- vim.g.terminal_color_11 = "#ffbc5d"
- vim.g.terminal_color_12 = "#007acc"
- vim.g.terminal_color_13 = "#e64ce6"
- vim.g.terminal_color_14 = "#00aacb"
- vim.g.terminal_color_15 = "#f7f7f7"
-
- -- colors
- local bg = "#f7f7f7"
- local fg = "#000000"
- local punct_fg = "#777777"
- local def_fg = "#325cc0"
- local const_fg = "#7a3e9d"
- local active = "#ffbc5d"
- local active_blue = "#007acc"
- local string_fg = "#448c27"
- local darker_fg = "#7d7d7d"
- local diffadd = "#284918"
- local diffdelete = "#B40600"
- local diffchange = "#ec8013"
- local statusline = "#c9c9c9"
- local comment = "#aa3731"
- local dim_comment = "#696969"
- local mistake = {
- fg = "#c33c33",
- bg = "#f8b28f",
- }
- local ansi = {
- black = "#000000",
- blue = "#325cc0",
- brightyellow = "#ffbc5d",
- cyan = "#0083b2",
- green = "#448c27",
- magenta = "#7a3e9d",
- red = "#aa3731",
- white = "#f7f7f7",
- yellow = "#cb9000",
- }
- local error = "#d13e23"
- local warn = "#BC7500"
- local hint = ansi.blue
- local info = "#278C00"
- local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment
- local pmenu_bg = "#e7e7e7"
- local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg
- local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#999999" }
- or {
- bg = float_bg,
- fg = float_bg,
- }
- theme = {
- Comment = { fg = comment_fg },
- ColorColumn = { bg = "#E2EEEE" },
- Conceal = { fg = "#b0b0b0" },
- Cursor = { bg = "#007acc", fg = "#bfdbfe" },
- -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
- -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
- CursorColumn = { bg = "#E2EEEE" },
- CursorLine = { bg = "#E2EEEE" },
- Directory = { fg = ansi.blue },
- DiffAdd = { bg = "#ADFFB7", fg = "#0A7816" },
- DiffDelete = { bg = "#F8B28F", fg = "#872C28" },
- DiffText = { fg = "#fff987", bg = "#876004" },
- DiffChange = { bg = "#fff987", fg = "#341a00" },
- EndOfBuffer = { fg = "#b6b6b6" },
- -- TermCursor { }, -- cursor in a focused terminal
- TermCursorNC = { fg = bg, bg = fg },
- ErrorMsg = { fg = error, bg = mistake.bg },
- VertSplit = { fg = "#abbdc0" },
- Folded = { bg = "#dddddd", fg = "#7d7d7d" },
- FoldColumn = { bg = bg, fg = "#4d4d4d" },
-
- SignColumn = {},
- IncSearch = { bg = active, fg = fg },
- -- Substitute { }, -- |:substitute| replacement text highlighting
- LineNr = { fg = "#7d7c7c" },
- CursorLineNr = { fg = ansi.blue, bold = 1 },
- MatchParen = { underline = 1, sp = active },
- -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
- -- MsgArea { }, -- Area for messages and cmdline
- -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
- MoreMsg = { fg = ansi.green, bold = 1 },
- NonText = { fg = "#696969" },
- Normal = { bg = bg, fg = fg },
- NormalFloat = { bg = float_bg },
- -- NormalNC { }, -- normal text in non-current windows
- FloatBorder = floatborder,
- Pmenu = { bg = pmenu_bg },
- PmenuSel = { bg = "#c7c7c7" },
- PmenuSbar = { bg = "#777777" },
- PmenuThumb = { bg = "#333333" },
- Question = { fg = ansi.green },
- QuickFixLine = { bg = "#E2EEEE" },
- Search = { bg = "#fae9b7", fg = fg },
- SpecialKey = { fg = ansi.cyan },
- SpellBad = { undercurl = 1, sp = ansi.red },
- SpellCap = { undercurl = 1, sp = ansi.blue },
- SpellLocal = { undercurl = 1, sp = ansi.cyan },
- SpellRare = { undercurl = 1, sp = ansi.magenta },
- StatusLine = { bg = statusline, fg = fg },
- StatusLineNC = { bg = statusline, fg = "#9f9f9f" },
- TabLine = { bg = statusline, fg = "#7d7d7d" },
- TabLineFill = { bg = statusline },
- TabLineSel = { bg = statusline, fg = ansi.blue },
- Title = { fg = const_fg },
- Visual = { bg = "#bfdbfe" },
- VisualNOS = { bg = "#bfdbfe" },
- WarningMsg = { fg = "#e1ad4c" },
- WildMenu = { bg = "#999999" },
- WinBar = { bg = bg, fg = ansi.black, bold = true },
- WinBarNC = { bg = bg, fg = "#7d7d7d" },
-
- --- SYNTAX I: TS groups link to these
- Constant = { fg = const_fg },
- String = { fg = string_fg },
- Character = { fg = const_fg },
- Number = { fg = const_fg },
- Boolean = { fg = const_fg },
- Float = { fg = const_fg },
- Operator = { fg = punct_fg },
-
- --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter
- Identifier = { fg = ansi.black },
- Function = { fg = def_fg },
- Statement = { fg = ansi.black },
- Conditional = { fg = ansi.black },
- Repeat = { fg = ansi.black },
- Label = { fg = def_fg },
- Keyword = { fg = ansi.black },
- Exception = { fg = ansi.black },
- PreProc = { fg = ansi.black },
- Include = { fg = ansi.black },
- Define = { fg = ansi.black },
- Macro = { fg = ansi.black },
- PreCondit = { fg = ansi.black },
- Type = { fg = ansi.black },
- StorageClass = { fg = ansi.black },
- Structure = { fg = def_fg },
- Typedef = { fg = def_fg },
-
- Special = { fg = ansi.yellow },
- -- TODO better color than diffchange, try reddish
- -- SpecialChar = { fg = diffchange }, -- special character in a constant
- -- Tag { }, -- you can use CTRL-] on this
- -- Delimiter { },
- SpecialComment = { bg = "#FFDEAA", fg = ansi.blue },
- debugPc = { bg = "#C7C7EE" },
- debugBreakpoint = { bg = "#F8B28F" },
- helpHyperTextJump = { fg = ansi.magenta },
- helpSectionDelim = { fg = ansi.magenta },
- helpExample = { fg = ansi.cyan },
- helpCommand = { fg = ansi.cyan },
- helpHeadline = { fg = ansi.blue },
- helpHeader = { fg = ansi.magenta },
-
- Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links
- Italic = { italic = 1 },
-
- -- ("Ignore", below, may be invisible...)
- -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
-
- Error = { bg = mistake.bg, fg = mistake.fg },
-
- Todo = { bg = "#FFDEAA", fg = ansi.blue },
-
- --- Diagnostic
- LspReferenceText = { bg = "#dadada" },
- LspReferenceRdad = { bg = "#dadada" },
- LspReferenceWrite = { bg = "#dadada", underline = 1, sp = active_blue },
- LspCodeLens = { fg = "#999999" },
- LspCodeLensSeparator = { fg = "#999999" },
-
- --- Diagnostic
- DiagnosticError = { fg = error },
- DiagnosticWarn = { fg = warn },
- DiagnosticHint = { fg = hint },
- DiagnosticInfo = { fg = info },
- DiagnosticVirtualTextError = { bg = "#F8B28F", fg = "#411414" },
- DiagnosticVirtualTextWarn = { bg = "#fff987", fg = fg },
- DiagnosticVirtualTextHint = { fg = "#0F171D", bg = "#C3D0DA" },
- DiagnosticVirtualTextInfo = { bg = "#ADFFB7", fg = "#042F09" },
-
- --- Treesitter
- TSAttribute = {},
- TSConstructor = { fg = ansi.black },
- TSConditional = { fg = ansi.black },
- TSConstBuiltin = { fg = const_fg },
- TSConstMacro = { fg = ansi.black },
- TSError = { bg = mistake.bg, fg = mistake.fg },
- TSException = { fg = ansi.black },
- TSField = { fg = ansi.black },
- TSFunction = { fg = ansi.black },
- TSFuncBuiltin = { fg = ansi.black },
- TSFuncMacro = { fg = ansi.black },
- TSKeyword = { fg = ansi.black },
- TSKeywordFunction = { fg = ansi.black },
- TSLabel = { fg = ansi.black },
- TSMethod = { fg = ansi.black },
- TSNamespace = { fg = ansi.black },
- TSNone = { fg = const_fg },
- TSParameter = { fg = ansi.black },
- TSParameterReference = { fg = ansi.black },
- TSProperty = { fg = ansi.black },
- TSPunctDelimiter = { fg = punct_fg },
- TSPunctBracket = { fg = punct_fg },
- TSPunctSpecial = { fg = punct_fg },
- TSRepeat = { fg = ansi.black },
- TSString = { fg = string_fg },
- TSStringRegex = { bg = bg, fg = "#777777" },
- TSStringEscape = { bg = bg, fg = "#777777" },
- TSSymbol = {},
- TSType = { fg = ansi.black },
- TSTypeBuiltin = { fg = ansi.black },
- TSVariable = { fg = ansi.black },
- TSVariableBuiltin = { fg = ansi.black },
- TSTag = { fg = ansi.black },
- TSTagDelimiter = { fg = punct_fg },
- TSText = { fg = ansi.black },
-
- ["@attribute"] = {},
- ["@constructor"] = { fg = ansi.black },
- ["@conditional"] = { fg = ansi.black },
- ["@constant.builtin"] = { fg = const_fg },
- ["@constant.macro"] = { fg = ansi.black },
- ["@error"] = { bg = mistake.bg, fg = mistake.fg },
- ["@exception"] = { fg = ansi.black },
- ["@field"] = { fg = ansi.black },
- ["@function"] = { fg = ansi.black },
- ["@function.builtin"] = { fg = ansi.black },
- ["@function.macro"] = { fg = ansi.black },
- ["@keyword"] = { fg = ansi.black },
- ["@keyword.function"] = { fg = ansi.black },
- ["@label"] = { fg = ansi.black },
- ["@method"] = { fg = ansi.black },
- ["@module"] = { fg = ansi.black },
- ["@namespace"] = { fg = ansi.black },
- ["@none"] = { fg = const_fg },
- ["@parameter"] = { fg = ansi.black },
- ["@parameter.reference"] = { fg = ansi.black },
- ["@property"] = { fg = ansi.black },
- ["@punctuation.delimiter"] = { fg = punct_fg },
- ["@punctuation.bracket"] = { fg = punct_fg },
- ["@punctuation.special"] = { fg = punct_fg },
- ["@repeat"] = { fg = ansi.black },
- ["@string"] = { fg = string_fg },
- ["@string.regex"] = { bg = bg, fg = "#777777" },
- ["@string.escape"] = { bg = bg, fg = "#777777" },
- ["@symbol"] = {},
- ["@type"] = { fg = ansi.black },
- ["@type.builtin"] = { fg = ansi.black },
- ["@variable"] = { fg = ansi.black },
- ["@variable.builtin"] = { fg = ansi.black },
- ["@tag"] = { fg = ansi.black },
- ["@tag.delimiter"] = { fg = punct_fg },
- ["@text"] = { fg = ansi.black },
- ["@text.note"] = { bg = "#dddddd", fg = ansi.blue },
- ["@text.warning"] = { bg = "#FFDEAA", fg = ansi.blue },
-
- --- Theme specific
- ["@AlabasterConstant"] = { fg = const_fg },
- ["@AlabasterDefinition"] = { fg = def_fg },
- ["@AlabasterPunct"] = { fg = punct_fg },
- ["@AlabasterString"] = { fg = string_fg },
- ["@AlabasterHashbang"] = { fg = dim_comment },
- --- Gitsigns
- GitSignsAdd = { fg = "#6abf40" },
- GitSignsChange = { fg = diffchange },
- GitSignsDelete = { fg = diffdelete },
- --- Telescope
- TelescopeBorder = { fg = "#abbdc0" },
- TelescopeMatching = { fg = "#CC6F14" },
- TelescopeMultiSelection = { fg = ansi.magenta },
- TelescopePromptPrefix = { fg = ansi.blue },
- TelescopeSelectionCaret = { fg = mistake.fg },
- TelescopeTitle = { fg = ansi.yellow },
- TelescopeResultsTitle = { fg = ansi.yellow },
- --- fzf-lua
- FzfLuaBorder = { fg = "#abbdc0" },
- --- Neogit
- NeogitPopupActionDisabled = { fg = darker_fg },
- NeogitPopupActionKey = { fg = ansi.magenta },
- NeogitPopupOptionDisabled = { fg = darker_fg },
- NeogitPopupOptionKey = { fg = ansi.blue },
- NeogitPopupSwitchDisabled = { fg = darker_fg },
- NeogitPopupSwitchEnabled = { fg = ansi.cyan },
- NeogitPopupSwitchKey = { fg = ansi.magenta },
- --- Fugitive
- diffAdded = { link = "DiffAdd" },
- diffRemoved = { link = "DiffDelete" },
- --- Startify
- StartifyBracket = { fg = darker_fg },
- StartifyFile = { fg = ansi.black },
- StartifySection = { fg = ansi.green },
- StartifySlash = { fg = "#4e6e75" },
- StartifyPath = { fg = "#4e6e75" },
- --- Statusline
- StatuslineAdd = { fg = diffadd, bg = statusline },
- StatuslineErr = { fg = "#8E1410", bg = statusline },
- StatuslineHint = { fg = hint, bg = statusline },
- StatuslineInfo = { fg = info, bg = statusline },
- StatuslineWarn = { fg = warn, bg = statusline },
- StatuslineBlue = { fg = ansi.blue, bg = statusline },
- StatuslineRed = { fg = ansi.red, bg = statusline },
- StatuslineGreen = { fg = ansi.green, bg = statusline },
- StatuslineCyan = { fg = ansi.cyan, bg = statusline },
- StatuslineMagenta = { fg = ansi.magenta, bg = statusline },
- --- ALE
- ALEWarningSign = { fg = warn },
- --- vim-matchup
- MatchupVirtualText = { fg = ansi.yellow },
- --- For `highlight link`
- AlabasterBlack = { fg = ansi.black },
- AlabasterBlue = { fg = ansi.blue },
- AlabasterBrightYellow = { fg = ansi.brightyellow },
- AlabasterCyan = { fg = ansi.cyan },
- AlabasterGreen = { fg = ansi.green },
- AlabasterBrightGreen = { fg = "#60cb00" },
- AlabasterMagenta = { fg = ansi.magenta },
- AlabasterRed = { fg = ansi.red },
- AlabasterWhite = { fg = ansi.black },
- AlabasterYellow = { fg = ansi.yellow },
- --- Hop
- HopNextKey = { fg = ansi.yellow },
- HopNextKey1 = { fg = ansi.blue },
- HopNextKey2 = { fg = "#17A2D6" },
- HopUnmatched = { fg = "#bfbfbf" },
- --- Lightspeed
- LightspeedGreyWash = { fg = "#bfbfbf" },
- --- checkhealth
- healthSuccess = { fg = ansi.green, bg = bg },
- --- cmp
- CmpItemMenuDefault = { fg = ansi.magenta },
- --- nvim-ts-rainbow
- rainbowcol1 = { fg = ansi.yellow },
- rainbowcol2 = { fg = ansi.magenta },
- rainbowcol3 = { fg = ansi.blue },
- rainbowcol4 = { fg = ansi.green },
- rainbowcol5 = { fg = ansi.brightyellow },
- rainbowcol6 = { fg = ansi.red },
- rainbowcol7 = { fg = ansi.cyan },
- --- Iswap
- ISwapSnipe = { bg = ansi.yellow, fg = bg },
- ISwapGrey = { fg = "#bfbfbf" },
- --- vim-dadbod-ui
- dbui_help = { fg = dim_comment },
- dbui_connection_source = { fg = dim_comment },
- --- nvim-dap-virtual-text
- NvimDapVirtualText = { bg = "#78D2C9", fg = fg },
- --- Noice
- NoiceCmdlineIcon = { link = "AlabasterBrightGreen" },
- NoiceCmdlinePopupBorder = { link = "AlabasterBrightGreen" },
- NoiceConfirmBorder = { link = "AlabasterBrightGreen" },
- NoiceCmdlinePopupBorderCmdline = { link = "AlabasterBrightGreen" },
- NoiceCmdlineIconCmdline = { link = "AlabasterBrightGreen" },
- NoiceCmdlinePopupBorderFilter = { link = "AlabasterBrightGreen" },
- NoiceCmdlineIconFilter = { link = "AlabasterBrightGreen" },
- NoiceCmdlinePopupBorderLua = { link = "AlabasterBrightGreen" },
- NoiceCmdlineIconLua = { link = "AlabasterBrightGreen" },
- NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" },
- NoiceCmdlineIconSearch = { link = "AlabasterYellow" },
- -- Languages
- --- asm
- asmDirective = { fg = dim_comment },
- nasmLabel = { link = "@AlabasterDefinition" },
- ["@lsp.mod.declaration"] = { fg = fg },
- ["@lsp.type.enumMember"] = { fg = fg },
- ["@lsp.type.function"] = { fg = fg },
- ["@lsp.type.method"] = { fg = fg },
- ["@lsp.type.selfKeyword"] = { fg = fg },
- ["@lsp.typemod.class.declaration"] = { fg = def_fg },
- ["@lsp.typemod.class.definition"] = { fg = def_fg },
- ["@lsp.typemod.enum.declaration"] = { fg = def_fg },
- ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg },
- ["@lsp.typemod.function.declaration"] = { fg = def_fg },
- ["@lsp.typemod.function.definition"] = { fg = def_fg },
- ["@lsp.typemod.macro.declaration"] = { fg = def_fg },
- ["@lsp.typemod.method.declaration"] = { fg = def_fg },
- ["@lsp.typemod.selfKeyword"] = { fg = fg },
- ["@lsp.typemod.struct.declaration"] = { fg = def_fg },
- ["@lsp.typemod.type.declaration"] = { fg = def_fg },
- }
+ -- terminal colors
+ vim.g.terminal_color_0 = "#000000"
+ vim.g.terminal_color_1 = "#aa3731"
+ vim.g.terminal_color_2 = "#448c27"
+ vim.g.terminal_color_3 = "#cb9000"
+ vim.g.terminal_color_4 = "#325cc0"
+ vim.g.terminal_color_5 = "#7a3e9d"
+ vim.g.terminal_color_6 = "#0083b2"
+ vim.g.terminal_color_7 = "#f7f7f7"
+ vim.g.terminal_color_8 = "#777777"
+ vim.g.terminal_color_9 = "#f05050"
+ vim.g.terminal_color_10 = "#60cb00"
+ vim.g.terminal_color_11 = "#ffbc5d"
+ vim.g.terminal_color_12 = "#007acc"
+ vim.g.terminal_color_13 = "#e64ce6"
+ vim.g.terminal_color_14 = "#00aacb"
+ vim.g.terminal_color_15 = "#f7f7f7"
+
+ -- colors
+ local bg = "#f7f7f7"
+ local fg = "#000000"
+ local punct_fg = "#777777"
+ local def_fg = "#325cc0"
+ local const_fg = "#7a3e9d"
+ local active = "#ffbc5d"
+ local active_blue = "#007acc"
+ local string_fg = "#448c27"
+ local darker_fg = "#7d7d7d"
+ local diffadd = "#284918"
+ local diffdelete = "#B40600"
+ local diffchange = "#ec8013"
+ local statusline = "#c9c9c9"
+ local comment = "#aa3731"
+ local dim_comment = "#696969"
+ local mistake = {
+ fg = "#c33c33",
+ bg = "#f8b28f",
+ }
+ local ansi = {
+ black = "#000000",
+ blue = "#325cc0",
+ brightyellow = "#ffbc5d",
+ cyan = "#0083b2",
+ green = "#448c27",
+ magenta = "#7a3e9d",
+ red = "#aa3731",
+ white = "#f7f7f7",
+ yellow = "#cb9000",
+ }
+ local error = "#d13e23"
+ local warn = "#BC7500"
+ local hint = ansi.blue
+ local info = "#278C00"
+ local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment
+ local pmenu_bg = "#e7e7e7"
+ local float_bg = bg -- vim.g.alabaster_floatborder and bg or pmenu_bg
+ local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#999999" }
+ or {
+ bg = float_bg,
+ fg = float_bg,
+ }
+ theme = {
+ Comment = { fg = comment_fg },
+ ColorColumn = { bg = "#E2EEEE" },
+ Conceal = { fg = "#b0b0b0" },
+ Cursor = { bg = "#007acc", fg = "#bfdbfe" },
+ -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
+ -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
+ CursorColumn = { bg = "#E2EEEE" },
+ CursorLine = { bg = "#E2EEEE" },
+ Directory = { fg = ansi.blue },
+ DiffAdd = { bg = "#ADFFB7", fg = "#0A7816" },
+ DiffDelete = { bg = "#F8B28F", fg = "#872C28" },
+ DiffText = { fg = "#fff987", bg = "#876004" },
+ DiffChange = { bg = "#fff987", fg = "#341a00" },
+ EndOfBuffer = { fg = "#b6b6b6" },
+ -- TermCursor { }, -- cursor in a focused terminal
+ TermCursorNC = { fg = bg, bg = fg },
+ ErrorMsg = { fg = error, bg = mistake.bg },
+ VertSplit = { fg = "#abbdc0" },
+ Folded = { bg = "#dddddd", fg = "#7d7d7d" },
+ FoldColumn = { bg = bg, fg = "#4d4d4d" },
+
+ SignColumn = {},
+ IncSearch = { bg = active, fg = fg },
+ -- Substitute { }, -- |:substitute| replacement text highlighting
+ LineNr = { fg = "#7d7c7c" },
+ CursorLineNr = { fg = ansi.blue, bold = 1 },
+ MatchParen = { underline = 1, sp = active },
+ -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
+ -- MsgArea { }, -- Area for messages and cmdline
+ -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
+ MoreMsg = { fg = ansi.green, bold = 1 },
+ NonText = { fg = "#696969" },
+ Normal = { bg = bg, fg = fg },
+ NormalFloat = { bg = float_bg },
+ -- NormalNC { }, -- normal text in non-current windows
+ FloatBorder = floatborder,
+ Pmenu = { bg = pmenu_bg },
+ PmenuSel = { bg = "#c7c7c7" },
+ PmenuSbar = { bg = "#777777" },
+ PmenuThumb = { bg = "#333333" },
+ Question = { fg = ansi.green },
+ QuickFixLine = { bg = "#E2EEEE" },
+ Search = { bg = "#fae9b7", fg = fg },
+ SpecialKey = { fg = ansi.cyan },
+ SpellBad = { undercurl = 1, sp = ansi.red },
+ SpellCap = { undercurl = 1, sp = ansi.blue },
+ SpellLocal = { undercurl = 1, sp = ansi.cyan },
+ SpellRare = { undercurl = 1, sp = ansi.magenta },
+ StatusLine = { bg = statusline, fg = fg },
+ StatusLineNC = { bg = statusline, fg = "#9f9f9f" },
+ TabLine = { bg = statusline, fg = "#7d7d7d" },
+ TabLineFill = { bg = statusline },
+ TabLineSel = { bg = statusline, fg = ansi.blue },
+ Title = { fg = const_fg },
+ Visual = { bg = "#bfdbfe" },
+ VisualNOS = { bg = "#bfdbfe" },
+ WarningMsg = { fg = "#e1ad4c" },
+ WildMenu = { bg = "#999999" },
+ WinBar = { bg = bg, fg = ansi.black, bold = true },
+ WinBarNC = { bg = bg, fg = "#7d7d7d" },
+
+ --- SYNTAX I: TS groups link to these
+ Constant = { fg = const_fg },
+ String = { fg = string_fg },
+ Character = { fg = const_fg },
+ Number = { fg = const_fg },
+ Boolean = { fg = const_fg },
+ Float = { fg = const_fg },
+ Operator = { fg = punct_fg },
+
+ --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter
+ Identifier = { fg = ansi.black },
+ Function = { fg = def_fg },
+ Statement = { fg = ansi.black },
+ Conditional = { fg = ansi.black },
+ Repeat = { fg = ansi.black },
+ Label = { fg = def_fg },
+ Keyword = { fg = ansi.black },
+ Exception = { fg = ansi.black },
+ PreProc = { fg = ansi.black },
+ Include = { fg = ansi.black },
+ Define = { fg = ansi.black },
+ Macro = { fg = ansi.black },
+ PreCondit = { fg = ansi.black },
+ Type = { fg = ansi.black },
+ StorageClass = { fg = ansi.black },
+ Structure = { fg = def_fg },
+ Typedef = { fg = def_fg },
+
+ Special = { fg = ansi.yellow },
+ -- TODO better color than diffchange, try reddish
+ -- SpecialChar = { fg = diffchange }, -- special character in a constant
+ -- Tag { }, -- you can use CTRL-] on this
+ -- Delimiter { },
+ SpecialComment = { bg = "#FFDEAA", fg = ansi.blue },
+ debugPc = { bg = "#C7C7EE" },
+ debugBreakpoint = { bg = "#F8B28F" },
+ helpHyperTextJump = { fg = ansi.magenta },
+ helpSectionDelim = { fg = ansi.magenta },
+ helpExample = { fg = ansi.cyan },
+ helpCommand = { fg = ansi.cyan },
+ helpHeadline = { fg = ansi.blue },
+ helpHeader = { fg = ansi.magenta },
+
+ Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links
+ Italic = { italic = 1 },
+
+ -- ("Ignore", below, may be invisible...)
+ -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
+
+ Error = { bg = mistake.bg, fg = mistake.fg },
+
+ Todo = { bg = "#FFDEAA", fg = ansi.blue },
+
+ --- Diagnostic
+ LspReferenceText = { bg = "#dadada" },
+ LspReferenceRdad = { bg = "#dadada" },
+ LspReferenceWrite = { bg = "#dadada", underline = 1, sp = active_blue },
+ LspCodeLens = { fg = "#999999" },
+ LspCodeLensSeparator = { fg = "#999999" },
+
+ --- Diagnostic
+ DiagnosticError = { fg = error },
+ DiagnosticWarn = { fg = warn },
+ DiagnosticHint = { fg = hint },
+ DiagnosticInfo = { fg = info },
+ DiagnosticVirtualTextError = { bg = "#F8B28F", fg = "#411414" },
+ DiagnosticVirtualTextWarn = { bg = "#fff987", fg = fg },
+ DiagnosticVirtualTextHint = { fg = "#0F171D", bg = "#C3D0DA" },
+ DiagnosticVirtualTextInfo = { bg = "#ADFFB7", fg = "#042F09" },
+
+ --- Treesitter
+ TSAttribute = {},
+ TSConstructor = { fg = ansi.black },
+ TSConditional = { fg = ansi.black },
+ TSConstBuiltin = { fg = const_fg },
+ TSConstMacro = { fg = ansi.black },
+ TSError = { bg = mistake.bg, fg = mistake.fg },
+ TSException = { fg = ansi.black },
+ TSField = { fg = ansi.black },
+ TSFunction = { fg = ansi.black },
+ TSFuncBuiltin = { fg = ansi.black },
+ TSFuncMacro = { fg = ansi.black },
+ TSKeyword = { fg = ansi.black },
+ TSKeywordFunction = { fg = ansi.black },
+ TSLabel = { fg = ansi.black },
+ TSMethod = { fg = ansi.black },
+ TSNamespace = { fg = ansi.black },
+ TSNone = { fg = const_fg },
+ TSParameter = { fg = ansi.black },
+ TSParameterReference = { fg = ansi.black },
+ TSProperty = { fg = ansi.black },
+ TSPunctDelimiter = { fg = punct_fg },
+ TSPunctBracket = { fg = punct_fg },
+ TSPunctSpecial = { fg = punct_fg },
+ TSRepeat = { fg = ansi.black },
+ TSString = { fg = string_fg },
+ TSStringRegex = { bg = bg, fg = "#777777" },
+ TSStringEscape = { bg = bg, fg = "#777777" },
+ TSSymbol = {},
+ TSType = { fg = ansi.black },
+ TSTypeBuiltin = { fg = ansi.black },
+ TSVariable = { fg = ansi.black },
+ TSVariableBuiltin = { fg = ansi.black },
+ TSTag = { fg = ansi.black },
+ TSTagDelimiter = { fg = punct_fg },
+ TSText = { fg = ansi.black },
+
+ ["@attribute"] = {},
+ ["@constructor"] = { fg = ansi.black },
+ ["@conditional"] = { fg = ansi.black },
+ ["@constant.builtin"] = { fg = const_fg },
+ ["@constant.macro"] = { fg = ansi.black },
+ ["@error"] = { bg = mistake.bg, fg = mistake.fg },
+ ["@exception"] = { fg = ansi.black },
+ ["@field"] = { fg = ansi.black },
+ ["@function"] = { fg = ansi.black },
+ ["@function.builtin"] = { fg = ansi.black },
+ ["@function.macro"] = { fg = ansi.black },
+ ["@keyword"] = { fg = ansi.black },
+ ["@keyword.function"] = { fg = ansi.black },
+ ["@label"] = { fg = ansi.black },
+ ["@method"] = { fg = ansi.black },
+ ["@module"] = { fg = ansi.black },
+ ["@namespace"] = { fg = ansi.black },
+ ["@none"] = { fg = const_fg },
+ ["@parameter"] = { fg = ansi.black },
+ ["@parameter.reference"] = { fg = ansi.black },
+ ["@property"] = { fg = ansi.black },
+ ["@punctuation.delimiter"] = { fg = punct_fg },
+ ["@punctuation.bracket"] = { fg = punct_fg },
+ ["@punctuation.special"] = { fg = punct_fg },
+ ["@repeat"] = { fg = ansi.black },
+ ["@string"] = { fg = string_fg },
+ ["@string.regex"] = { bg = bg, fg = "#777777" },
+ ["@string.escape"] = { bg = bg, fg = "#777777" },
+ ["@symbol"] = {},
+ ["@type"] = { fg = ansi.black },
+ ["@type.builtin"] = { fg = ansi.black },
+ ["@variable"] = { fg = ansi.black },
+ ["@variable.builtin"] = { fg = ansi.black },
+ ["@tag"] = { fg = ansi.black },
+ ["@tag.delimiter"] = { fg = punct_fg },
+ ["@text"] = { fg = ansi.black },
+ ["@text.note"] = { bg = "#dddddd", fg = ansi.blue },
+ ["@text.warning"] = { bg = "#FFDEAA", fg = ansi.blue },
+
+ --- Theme specific
+ ["@AlabasterConstant"] = { fg = const_fg },
+ ["@AlabasterDefinition"] = { fg = def_fg },
+ ["@AlabasterPunct"] = { fg = punct_fg },
+ ["@AlabasterString"] = { fg = string_fg },
+ ["@AlabasterHashbang"] = { fg = dim_comment },
+ --- Gitsigns
+ GitSignsAdd = { fg = "#6abf40" },
+ GitSignsChange = { fg = diffchange },
+ GitSignsDelete = { fg = diffdelete },
+ --- Telescope
+ TelescopeBorder = { fg = "#abbdc0" },
+ TelescopeMatching = { fg = "#CC6F14" },
+ TelescopeMultiSelection = { fg = ansi.magenta },
+ TelescopePromptPrefix = { fg = ansi.blue },
+ TelescopeSelectionCaret = { fg = mistake.fg },
+ TelescopeTitle = { fg = ansi.yellow },
+ TelescopeResultsTitle = { fg = ansi.yellow },
+ --- fzf-lua
+ FzfLuaBorder = { fg = "#abbdc0" },
+ --- Neogit
+ NeogitPopupActionDisabled = { fg = darker_fg },
+ NeogitPopupActionKey = { fg = ansi.magenta },
+ NeogitPopupOptionDisabled = { fg = darker_fg },
+ NeogitPopupOptionKey = { fg = ansi.blue },
+ NeogitPopupSwitchDisabled = { fg = darker_fg },
+ NeogitPopupSwitchEnabled = { fg = ansi.cyan },
+ NeogitPopupSwitchKey = { fg = ansi.magenta },
+ --- Fugitive
+ diffAdded = { link = "DiffAdd" },
+ diffRemoved = { link = "DiffDelete" },
+ --- Startify
+ StartifyBracket = { fg = darker_fg },
+ StartifyFile = { fg = ansi.black },
+ StartifySection = { fg = ansi.green },
+ StartifySlash = { fg = "#4e6e75" },
+ StartifyPath = { fg = "#4e6e75" },
+ --- Statusline
+ StatuslineAdd = { fg = diffadd, bg = statusline },
+ StatuslineErr = { fg = "#8E1410", bg = statusline },
+ StatuslineHint = { fg = hint, bg = statusline },
+ StatuslineInfo = { fg = info, bg = statusline },
+ StatuslineWarn = { fg = warn, bg = statusline },
+ StatuslineBlue = { fg = ansi.blue, bg = statusline },
+ StatuslineRed = { fg = ansi.red, bg = statusline },
+ StatuslineGreen = { fg = ansi.green, bg = statusline },
+ StatuslineCyan = { fg = ansi.cyan, bg = statusline },
+ StatuslineMagenta = { fg = ansi.magenta, bg = statusline },
+ --- ALE
+ ALEWarningSign = { fg = warn },
+ --- vim-matchup
+ MatchupVirtualText = { fg = ansi.yellow },
+ --- For `highlight link`
+ AlabasterBlack = { fg = ansi.black },
+ AlabasterBlue = { fg = ansi.blue },
+ AlabasterBrightYellow = { fg = ansi.brightyellow },
+ AlabasterCyan = { fg = ansi.cyan },
+ AlabasterGreen = { fg = ansi.green },
+ AlabasterBrightGreen = { fg = "#60cb00" },
+ AlabasterMagenta = { fg = ansi.magenta },
+ AlabasterRed = { fg = ansi.red },
+ AlabasterWhite = { fg = ansi.black },
+ AlabasterYellow = { fg = ansi.yellow },
+ --- Hop
+ HopNextKey = { fg = ansi.yellow },
+ HopNextKey1 = { fg = ansi.blue },
+ HopNextKey2 = { fg = "#17A2D6" },
+ HopUnmatched = { fg = "#bfbfbf" },
+ --- Lightspeed
+ LightspeedGreyWash = { fg = "#bfbfbf" },
+ --- checkhealth
+ healthSuccess = { fg = ansi.green, bg = bg },
+ --- cmp
+ CmpItemMenuDefault = { fg = ansi.magenta },
+ --- nvim-ts-rainbow
+ rainbowcol1 = { fg = ansi.yellow },
+ rainbowcol2 = { fg = ansi.magenta },
+ rainbowcol3 = { fg = ansi.blue },
+ rainbowcol4 = { fg = ansi.green },
+ rainbowcol5 = { fg = ansi.brightyellow },
+ rainbowcol6 = { fg = ansi.red },
+ rainbowcol7 = { fg = ansi.cyan },
+ --- Iswap
+ ISwapSnipe = { bg = ansi.yellow, fg = bg },
+ ISwapGrey = { fg = "#bfbfbf" },
+ --- vim-dadbod-ui
+ dbui_help = { fg = dim_comment },
+ dbui_connection_source = { fg = dim_comment },
+ --- nvim-dap-virtual-text
+ NvimDapVirtualText = { bg = "#78D2C9", fg = fg },
+ --- nvim-tree
+ NvimTreeNormal = { bg = "#e7e7e7" },
+ NvimTreeNormalNC = { link = "NvimTreeNormal" },
+ NvimTreeFloatBorder = { fg = "#999999" },
+ NvimTreeWinSeparator = { fg = "#abbdc0" },
+ NvimTreeCursorLine = { bg = "#E2EEEE" },
+ NvimTreeFolderName = { fg = ansi.blue },
+ NvimTreeFolderIcon = { fg = "#cb9000" },
+ NvimTreeOpenedFolderName = { fg = ansi.blue, bold = true },
+ NvimTreeRootFolder = { fg = ansi.blue, bold = true },
+ NvimTreeGitDirty = { fg = diffchange },
+ NvimTreeGitStaged = { fg = "#6abf40" },
+ NvimTreeGitNew = { fg = ansi.green },
+ NvimTreeGitDeleted = { fg = diffdelete },
+ NvimTreeGitRenamed = { fg = ansi.magenta },
+ NvimTreeExecFile = { fg = ansi.green },
+ NvimTreeSpecialFile = { fg = ansi.yellow },
+ NvimTreeIndentMarker = { fg = "#999999" },
+ --- Noice
+ NoiceCmdlineIcon = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorder = { link = "AlabasterBrightGreen" },
+ NoiceConfirmBorder = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderCmdline = { link = "AlabasterBrightGreen" },
+ NoiceCmdlineIconCmdline = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderFilter = { link = "AlabasterBrightGreen" },
+ NoiceCmdlineIconFilter = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderLua = { link = "AlabasterBrightGreen" },
+ NoiceCmdlineIconLua = { link = "AlabasterBrightGreen" },
+ NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" },
+ NoiceCmdlineIconSearch = { link = "AlabasterYellow" },
+ -- Languages
+ --- asm
+ asmDirective = { fg = dim_comment },
+ nasmLabel = { link = "@AlabasterDefinition" },
+ ["@lsp.mod.declaration"] = { fg = fg },
+ ["@lsp.type.enumMember"] = { fg = fg },
+ ["@lsp.type.function"] = { fg = fg },
+ ["@lsp.type.method"] = { fg = fg },
+ ["@lsp.type.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.class.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.class.definition"] = { fg = def_fg },
+ ["@lsp.typemod.enum.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg },
+ ["@lsp.typemod.function.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.function.definition"] = { fg = def_fg },
+ ["@lsp.typemod.macro.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.method.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.selfKeyword"] = { fg = fg },
+ ["@lsp.typemod.struct.declaration"] = { fg = def_fg },
+ ["@lsp.typemod.type.declaration"] = { fg = def_fg },
+ }
end
for group, hl in pairs(theme) do
- vim.api.nvim_set_hl(0, group, hl)
+ vim.api.nvim_set_hl(0, group, hl)
end
+-- Ensure float border is always visible
+vim.api.nvim_create_autocmd("ColorScheme", {
+ pattern = "*",
+ callback = function()
+ local border_bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7"
+ local border_fg = vim.o.background == "dark" and "#333333" or "#999999"
+ vim.api.nvim_set_hl(0, "FloatBorder", { fg = border_fg, bg = border_bg })
+ end,
+})
+
+-- Also set it immediately on load
+local border_fg = vim.o.background == "dark" and "#333333" or "#999999"
+local border_bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7"
+vim.api.nvim_set_hl(0, "FloatBorder", { fg = border_fg, bg = border_bg })
+
-- vi:nowrap