nvim: colors

This commit is contained in:
Daniel Lundin 2024-11-09 01:33:49 +01:00
parent f6f2286505
commit 1eb8637840
Signed by: dln
SSH key fingerprint: SHA256:dQy1Xj3UiqJYpKR5ggQ2bxgz4jCH8IF+k3AB8o0kmdI
2 changed files with 165 additions and 130 deletions

View file

@ -57,6 +57,17 @@
config = '' config = ''
require'blink-cmp'.setup({ require'blink-cmp'.setup({
keymap = 'super-tab', keymap = 'super-tab',
windows = {
autocomplete = {
border = 'none',
},
documentation = {
border = 'rounded',
},
signature_help = {
border = 'rounded',
},
},
}) })
''; '';
} }

View file

@ -1,82 +1,92 @@
local hsl = require("dieter.hsl").hslToHex local hsl = require("dieter.hsl").hslToHex
local colors = { local colors = {
light = { light = {
background = hsl(240, 100, 100), background = hsl(240, 100, 100),
foreground = hsl(0, 0, 13), foreground = hsl(0, 0, 13),
accent1 = hsl(12, 100, 50), accent1 = hsl(12, 100, 50),
dimmed = hsl(0, 0, 80), dimmed = hsl(0, 0, 80),
dimmed_subtle = hsl(0, 0, 20), dimmed_subtle = hsl(0, 0, 20),
string = hsl(96, 50, 33), string = hsl(96, 50, 33),
comment = hsl(230, 66, 40), comment = hsl(230, 66, 40),
comment_error = hsl(2, 85, 40), comment_error = hsl(2, 85, 40),
diagnostic_error = hsl(347, 80, 45), diagnostic_error = hsl(347, 80, 45),
diagnostic_warning = hsl(30, 100, 50), diagnostic_warning = hsl(30, 100, 50),
diagnostic_info = hsl(145, 80, 30), diagnostic_info = hsl(145, 80, 30),
diagnostic_hint = hsl(145, 80, 30), diagnostic_hint = hsl(145, 80, 30),
popup_error_bg = hsl(0, 90, 99), popup_error_bg = hsl(0, 90, 99),
popup_warning_bg = hsl(27, 90, 99), popup_warning_bg = hsl(27, 90, 99),
popup_info_bg = hsl(112, 90, 99), popup_info_bg = hsl(112, 90, 99),
popup_hint_bg = hsl(112, 90, 99), popup_hint_bg = hsl(112, 90, 99),
add = hsl(84, 50, 80), add = hsl(84, 50, 80),
add_quarter = hsl(84, 80, 95), add_quarter = hsl(84, 80, 95),
change = hsl(41, 80, 80), change = hsl(41, 80, 80),
change_quarter = hsl(224, 100, 85), change_quarter = hsl(224, 100, 85),
delete = hsl(350, 100, 40), delete = hsl(350, 100, 40),
delete_quarter = hsl(350, 100, 85), delete_quarter = hsl(350, 100, 85),
dialog_bg = hsl(224, 5, 92), dialog_bg = hsl(224, 5, 92),
selection = hsl(270, 75, 92), selection = hsl(270, 75, 92),
highlight_subtle = hsl(0, 0, 94), highlight_subtle = hsl(0, 0, 94),
highlight_intense = hsl(42, 100, 30), highlight_intense = hsl(42, 100, 30),
}, },
dark = { dark = {
background = hsl(216, 28, 7), background = hsl(216, 28, 7),
foreground = hsl(0, 0, 80), foreground = hsl(0, 0, 80),
accent1 = hsl(12, 100, 50), accent1 = hsl(12, 100, 50),
dimmed = hsl(0, 0, 25), dimmed = hsl(0, 0, 25),
dimmed_subtle = hsl(0, 0, 50), dimmed_subtle = hsl(0, 0, 50),
highlight_subtle = hsl(0, 0, 6), highlight_subtle = hsl(0, 0, 6),
highlight_intense = hsl(58, 100, 60), highlight_intense = hsl(58, 100, 60),
string = hsl(96, 50, 70), string = hsl(96, 50, 70),
comment = hsl(220, 50, 60), comment = hsl(220, 50, 60),
comment_error = hsl(2, 85, 50), comment_error = hsl(2, 85, 50),
diagnostic_error = hsl(353, 100, 45), diagnostic_error = hsl(353, 100, 45),
diagnostic_warning = hsl(30, 100, 50), diagnostic_warning = hsl(30, 100, 50),
diagnostic_info = hsl(176, 80, 60), diagnostic_info = hsl(176, 80, 60),
diagnostic_hint = hsl(176, 80, 60), diagnostic_hint = hsl(176, 80, 60),
popup_error_bg = hsl(0, 95, 7), popup_error_bg = hsl(0, 95, 7),
popup_warning_bg = hsl(27, 95, 7), popup_warning_bg = hsl(27, 95, 7),
popup_info_bg = hsl(112, 95, 7), popup_info_bg = hsl(112, 95, 7),
popup_hint_bg = hsl(112, 95, 7), popup_hint_bg = hsl(112, 95, 7),
add = hsl(100, 100, 12), add = hsl(100, 100, 12),
add_quarter = hsl(84, 80, 15), add_quarter = hsl(84, 80, 15),
change = hsl(41, 100, 15), change = hsl(41, 100, 15),
change_quarter = hsl(224, 100, 15), change_quarter = hsl(224, 100, 15),
delete = hsl(350, 100, 40), delete = hsl(350, 100, 40),
delete_quarter = hsl(350, 100, 15), delete_quarter = hsl(350, 100, 15),
-- dialog_bg = background, -- dialog_bg = background,
-- dialog_fg = hsl(216, 70, 80), -- dialog_fg = hsl(216, 70, 80),
-- dialog_bg = hsl(216, 25, 20), -- dialog_bg = hsl(216, 25, 20),
-- selection = hsl(216, 25, 33), -- selection = hsl(216, 25, 33),
selection = hsl(213, 60, 40), selection = hsl(213, 60, 40),
},
cmp_bg = hsl(218, 30, 13),
cmp_fg = hsl(218, 30, 60),
cmp_selected_bg = hsl(218, 30, 25),
cmp_selected_fg = hsl(218, 50, 80),
doc_bg = hsl(220, 80, 10),
doc_fg = hsl(200, 30, 60),
suggestion = hsl(180, 55, 40),
},
} }
@ -85,99 +95,113 @@ c.dialog_fg = c.foreground
c.dialog_bg = c.background c.dialog_bg = c.background
local theme = { local theme = {
Normal = { fg = c.foreground, bg = c.background }, Normal = { fg = c.foreground, bg = c.background },
Constant = { link = "NormalNC" }, Constant = { link = "NormalNC" },
Delimiter = { link = "NormalNC" }, Delimiter = { link = "NormalNC" },
Identifier = { link = "NormalNC" }, Identifier = { link = "NormalNC" },
Keyword = { fg = c.foreground, bold = true }, Keyword = { fg = c.foreground, bold = true },
Operator = { link = "NormalNC" }, Operator = { link = "NormalNC" },
Special = { link = "NormalNC" }, Special = { link = "NormalNC" },
Type = { link = "NormalNC" }, Type = { link = "NormalNC" },
String = { fg = c.string }, String = { fg = c.string },
Comment = { fg = c.comment, italic = true, bold = true }, Comment = { fg = c.comment, italic = true, bold = true },
CommentError = { fg = c.comment_error, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true },
["@comment.note"] = { link = "Comment" }, ["@comment.note"] = { link = "Comment" },
["@comment.todo"] = { link = "CommentError" }, ["@comment.todo"] = { link = "CommentError" },
["@comment.error"] = { link = "CommentError" }, ["@comment.error"] = { link = "CommentError" },
["@comment.warning"] = { link = "CommentError" }, ["@comment.warning"] = { link = "CommentError" },
DiffAdd = { fg = c.add, bg = c.add_quarter }, DiffAdd = { fg = c.add, bg = c.add_quarter },
GitSignsAdd = { fg = c.add, bg = c.background }, GitSignsAdd = { fg = c.add, bg = c.background },
GitSignsAddNr = { link = "DiffAdd" }, GitSignsAddNr = { link = "DiffAdd" },
DiffChange = { fg = c.change, bg = c.change_quarter }, DiffChange = { fg = c.change, bg = c.change_quarter },
GitSignsChange = { fg = c.change, bg = c.background }, GitSignsChange = { fg = c.change, bg = c.background },
GitSignsChangeNr = { link = "DiffChange" }, GitSignsChangeNr = { link = "DiffChange" },
DiffDelete = { fg = c.delete, bg = c.delete_quarter }, DiffDelete = { fg = c.delete, bg = c.delete_quarter },
GitSignsDelete = { fg = c.delete, bg = c.background }, GitSignsDelete = { fg = c.delete, bg = c.background },
GitSignsDeleteNr = { link = "DiffDelete" }, GitSignsDeleteNr = { link = "DiffDelete" },
-- Treesitter -- Treesitter
["@function"] = { link = "NormalNC" }, ["@function"] = { link = "NormalNC" },
["@special"] = { link = "NormalNC" }, ["@special"] = { link = "NormalNC" },
["@variable"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" },
["@lsp.type.variable"] = { fg = c.dimmed_subtle }, ["@lsp.type.variable"] = { fg = c.dimmed_subtle },
-- UI Elements -- UI Elements
CursorLine = { bg = c.highlight_subtle }, CursorLine = { bg = c.highlight_subtle },
DiagnosticError = { fg = c.diagnostic_error, italic = true }, DiagnosticError = { fg = c.diagnostic_error, italic = true },
DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg },
DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg },
DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg },
DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg },
DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true },
DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true },
DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true },
DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true },
DiagnosticSignError = { fg = c.diagnostic_error }, DiagnosticSignError = { fg = c.diagnostic_error },
DiagnosticSignHint = { fg = c.diagnostic_hint }, DiagnosticSignHint = { fg = c.diagnostic_hint },
DiagnosticSignInfo = { fg = c.diagnostic_info }, DiagnosticSignInfo = { fg = c.diagnostic_info },
DiagnosticSignWarn = { fg = c.diagnostic_warning }, DiagnosticSignWarn = { fg = c.diagnostic_warning },
LineNr = { fg = c.dimmed, italic = true }, LineNr = { fg = c.dimmed, italic = true },
IndentLine = { fg = c.background }, IndentLine = { fg = c.background },
IndentLineCurrent = { fg = c.dimmed }, IndentLineCurrent = { fg = c.dimmed },
TreesitterContext = { reverse = true }, TreesitterContext = { reverse = true },
TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true },
InclineNormal = { bg = c.background }, InclineNormal = { bg = c.background },
InclineNormalNC = { bg = c.background }, InclineNormalNC = { bg = c.background },
WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg },
NormalFloat = { bg = c.dialog_bg, fg = c.dialog_fg }, NormalFloat = { bg = c.dialog_bg, fg = c.dialog_fg },
Title = { fg = c.foreground, bold = true }, Title = { fg = c.foreground, bold = true },
FloatBorder = { fg = c.dialog_fg }, FloatBorder = { fg = c.dialog_fg },
FloatTitle = { fg = c.dialog_fg, bold = true }, FloatTitle = { fg = c.dialog_fg, bold = true },
MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true },
MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, MiniStarterCurrent = { link = "MiniPickMatchCurrent" },
MiniClueNextKey = { bg = c.dialog_bg, fg = c.dialog_fg, bold = true }, MiniClueNextKey = { bg = c.dialog_bg, fg = c.dialog_fg, bold = true },
MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true },
MiniClueSeparator = { link = "NormalFloat" }, MiniClueSeparator = { link = "NormalFloat" },
NoiceMini = { fg = c.foreground, italic = true }, BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg },
BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false },
BlinkCmpMenuBorder = { bg = c.cmp_bg, fg = c.cmp_fg },
BlinkCmpLabel = { link = 'BlinkCmpMenu' },
BlinkCmpLabelMatch = { link = 'BlinkCmpMenu', underline = true },
TelescopeNormal = { fg = c.foreground, bg = c.background }, BlinkCmpDoc = { bg = c.doc_bg, fg = c.foreground },
TelescopeBorder = { bold = true }, BlinkCmpDocBorder = { bg = c.doc_bg, fg = c.doc_fg },
TelescopeSelection = { bg = c.selection }, BlinkCmpDocDetail = { link = 'BlinkCmpDoc' },
TelescopeResultsNormal = { fg = c.foreground, bold = true }, BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' },
TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false }, BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' },
Visual = { bg = c.selection }, NeoCodeiumSuggestion = { fg = c.suggestion , bold = true, italic = true },
LspReferenceText = { fg = c.highlight_intense, undercurl = true },
NoiceMini = { fg = c.foreground, italic = true },
TelescopeNormal = { fg = c.foreground, bg = c.background },
TelescopeBorder = { bold = true },
TelescopeSelection = { bg = c.selection },
TelescopeResultsNormal = { fg = c.foreground, bold = true },
TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false },
Visual = { bg = c.selection },
LspReferenceText = { fg = c.highlight_intense, undercurl = true },
} }
vim.cmd("hi clear") vim.cmd("hi clear")
if vim.fn.exists("syntax_on") == 1 then if vim.fn.exists("syntax_on") == 1 then
vim.cmd("syntax reset") vim.cmd("syntax reset")
end end
for group, hl in pairs(theme) do for group, hl in pairs(theme) do
vim.api.nvim_set_hl(0, group, hl) vim.api.nvim_set_hl(0, group, hl)
end end
vim.g.colors_name = "dieter" vim.g.colors_name = "dieter"