diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-09-27 17:06:20 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-09-27 17:06:20 +0300 |
| commit | f5abcb90600b3c09153b4196fe8ed8cddb9e376a (patch) | |
| tree | 19b9db1311964f670b5006bc573950934c73586e /.config/nvim/lua/colorschemes | |
| parent | a9510e8e3fd7fd25da32f2b3c10837679a3e7b3b (diff) | |
feat: working on a theme, commiting for backup
Diffstat (limited to '.config/nvim/lua/colorschemes')
| -rw-r--r-- | .config/nvim/lua/colorschemes/autumn-walk.lua | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/.config/nvim/lua/colorschemes/autumn-walk.lua b/.config/nvim/lua/colorschemes/autumn-walk.lua new file mode 100644 index 0000000..0a0812a --- /dev/null +++ b/.config/nvim/lua/colorschemes/autumn-walk.lua @@ -0,0 +1,91 @@ +--[[ +Copyright (C) 2024 Kyren223. All Rights Reserved. +--]] + +local transparent = 'NONE' +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 = '#1B1B1B' }, + violet = { fg = '#D484FF' }, + comment = { fg = '#007215' }, + identifier = { fg = '#DD6718' }, + string = { fg = '#F6D087' }, + keyword = { fg = '#F16265' }, + number = { fg = '#BB91F0' }, + function_declaration = { fg = '#54D7A9' }, + function_call = { fg = '#8EDFF9' }, + label = { fg = '#20999D', italic = true }, + operator = { fg = '#54D7A9' }, + parentheses = { fg = '#F9FAF4' }, + class = { fg = '#51C6DC' }, + static_field = { fg = '#F8F8F2' }, + type_parameter = { fg = '#007E8A' }, + + rust_macro = { fg = '#5874FF' }, +} + +l.static_method = override(l.normal, { bg = transparent, italic = true }) + +local highlights = { + Normal = l.normal, + + -- '#BBBBBB' + Cursor = { fg = '#F70067', bg = '#F70067' }, + CursorLine = { bg = '#281E25' }, + + CursorLineNr = override(l.violet, { bold = true }), + LineNrAbove = l.violet, + LineNrBelow = l.violet, + + Comment = {}, + LspInlayHint = { fg = '#cc5f62' }, + -- LspInlayHint = { fg = '#204042' }, + + ['@comment'] = l.comment, + ['@variable'] = l.number, + ['@constant'] = l.number, + ['@constant.macro'] = l.identifier, + ['@keyword'] = l.keyword, + ['@string'] = l.string, + ['@string.escape'] = l.number, + ['@character'] = l.string, + ['@number'] = l.number, + ['@float'] = l.number, + ['@boolean'] = l.keyword, + ['@function'] = l.function_declaration, + ['@function.call'] = l.function_call, + ['@label'] = l.label, + ['@punctuation.bracket'] = l.parentheses, + ['@operator'] = l.operator, + ['@type'] = l.class, + ['@type.builtin'] = l.keyword, + ['@module'] = l.number, + ['@lsp.mod.static'] = l.static_method, + ['@lsp.type.enumMember'] = l.static_field, + ['@lsp.type.typeParameter'] = l.type_parameter, + ['@lsp.type.formatSpecifier'] = l.number, + + -- Rust specific + ['@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.mod.associated.rust'] = l.associated_function, + -- ['@lsp.typemod.function.unsafe.rust'] = { bg = '#5E2828' }, +} + +local M = {} + +function M.load() + for group, args in pairs(highlights) do + vim.api.nvim_set_hl(0, group, args) + end +end + +return M |
