From 1f9f1e79de7a0b902387b6919d3cf07e24329d0b Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 28 Sep 2024 01:19:17 +0300 Subject: feat: more work on the theme --- .config/nvim/lua/colorschemes/autumn-walk.lua | 61 ++++++++++++++++++--------- 1 file changed, 40 insertions(+), 21 deletions(-) (limited to '.config') diff --git a/.config/nvim/lua/colorschemes/autumn-walk.lua b/.config/nvim/lua/colorschemes/autumn-walk.lua index 0a0812a..c369d30 100644 --- a/.config/nvim/lua/colorschemes/autumn-walk.lua +++ b/.config/nvim/lua/colorschemes/autumn-walk.lua @@ -3,29 +3,33 @@ Copyright (C) 2024 Kyren223. All Rights Reserved. --]] local transparent = 'NONE' -function override(original, new) +local function override(original, new) return vim.tbl_extend('force', {}, original, new) end -- TODO: Highlight invalid escape sequences in red (for example "\<" but not "\n") local l = { + -- normal = { fg = '#EFEDE7', bg = '#1E1E2E' }, normal = { fg = '#EFEDE7', bg = '#1B1B1B' }, violet = { fg = '#D484FF' }, + gray_underline = { underline = true, sp = '#909090' }, comment = { fg = '#007215' }, - identifier = { fg = '#DD6718' }, + macro = { fg = '#DD6718' }, string = { fg = '#F6D087' }, keyword = { fg = '#F16265' }, - number = { fg = '#BB91F0' }, + identifier = { fg = '#BB91F0' }, function_declaration = { fg = '#54D7A9' }, function_call = { fg = '#8EDFF9' }, label = { fg = '#20999D', italic = true }, operator = { fg = '#54D7A9' }, parentheses = { fg = '#F9FAF4' }, class = { fg = '#51C6DC' }, + interface = { fg = '#54D7A9' }, static_field = { fg = '#F8F8F2' }, type_parameter = { fg = '#007E8A' }, - + parameter = { fg = '#F5A670' }, + annotation = { fg = '#D9E577' }, rust_macro = { fg = '#5874FF' }, } @@ -33,56 +37,71 @@ l.static_method = override(l.normal, { bg = transparent, italic = true }) local highlights = { Normal = l.normal, - - -- '#BBBBBB' - Cursor = { fg = '#F70067', bg = '#F70067' }, CursorLine = { bg = '#281E25' }, - + Visual = { bg = '#232143' }, CursorLineNr = override(l.violet, { bold = true }), LineNrAbove = l.violet, LineNrBelow = l.violet, - + LspInlayHint = l.label, Comment = {}, - LspInlayHint = { fg = '#cc5f62' }, - -- LspInlayHint = { fg = '#204042' }, + -- Diagnostics + DiagnosticUnderlineError = { undercurl = true, sp = '#BC3F3C' }, + -- DiagnosticUnderlineError = { undercurl = true }, + DiagnosticUnderlineWarn = { bg = '#452138' }, + DiagnosticUnderlineHint = { underline = false }, + DiagnosticUnnecessary = { fg = '#808080', undercurl = true, sp = '#808080' }, + + -- NOTE: Tressitter ['@comment'] = l.comment, - ['@variable'] = l.number, - ['@constant'] = l.number, - ['@constant.macro'] = l.identifier, + ['@variable'] = l.identifier, + ['@variable.parameter'] = l.parameter, + ['@constant'] = l.identifier, + ['@constant.macro'] = l.macro, ['@keyword'] = l.keyword, ['@string'] = l.string, - ['@string.escape'] = l.number, + ['@string.escape'] = l.identifier, ['@character'] = l.string, - ['@number'] = l.number, - ['@float'] = l.number, + ['@number'] = l.identifier, + ['@float'] = l.identifier, ['@boolean'] = l.keyword, ['@function'] = l.function_declaration, ['@function.call'] = l.function_call, ['@label'] = l.label, ['@punctuation.bracket'] = l.parentheses, + ['@punctuation.angle'] = l.comment, + ['@punctuation.delimiter'] = { fg = '#F19B95' }, -- { fg = '#F16265' } for semicolon + -- ['@punctuation.semicolon'] = { fg = '#F16265' }, ['@operator'] = l.operator, ['@type'] = l.class, ['@type.builtin'] = l.keyword, - ['@module'] = l.number, + ['@module'] = l.identifier, ['@lsp.mod.static'] = l.static_method, ['@lsp.type.enumMember'] = l.static_field, ['@lsp.type.typeParameter'] = l.type_parameter, - ['@lsp.type.formatSpecifier'] = l.number, + ['@lsp.type.formatSpecifier'] = l.identifier, + ['@lsp.typemod.parameter.mutable'] = override(l.normal, l.gray_underline), + ['@lsp.type.constParameter'] = l.identifier, + ['@lsp.type.interface'] = l.interface, + ['@lsp.typemod.static.mutable'] = override(l.normal, l.gray_underline), + ['@lsp.typemod.variable.mutable'] = l.gray_underline, + ['@lsp.type.unresolvedReference.rust'] = { fg = '#BC3F3C', underline = true, sp = l.normal.bg }, + ['@attribute'] = l.annotation, - -- Rust specific + -- NOTE: Rust ['@lsp.mod.attribute.rust'] = l.rust_macro, ['@lsp.typemod.string.attribute.rust'] = l.string, ['@lsp.type.lifetime.rust'] = l.label, ['@lsp.typemod.macro.declaration.rust'] = override(l.normal, { bg = transparent }), ['@lsp.type.selfTypeKeyword.rust'] = l.keyword, + ['@lsp.type.selfKeyword.rust'] = l.keyword, -- ['@lsp.mod.associated.rust'] = l.associated_function, -- ['@lsp.typemod.function.unsafe.rust'] = { bg = '#5E2828' }, } local M = {} -function M.load() +function M.load(style) for group, args in pairs(highlights) do vim.api.nvim_set_hl(0, group, args) end -- cgit v1.3.1