--- /dev/null
+-- Codeclocks Theme
+-- A steampunk based (n)vi(m) theme.
+--
+-- Date: 2024-11-06
+
+-- Color Palette
+local c = {
+ bg0 = "#13141B",
+ bg1 = "#242532",
+ bg2 = "#383A52",
+ bg3 = "#4D4F71",
+
+ dark_brown0 = "#3C1B11",
+ dark_brown1 = "#693F33",
+ dark_brown2 = "#895747",
+ dark_brown3 = "#A66D5C",
+ dark_brown4 = "#D07C62",
+
+ light_brown0 = "#826046",
+ light_brown1 = "#9E7A5E",
+ light_brown2 = "#BC9B81",
+
+ salmon0 = "#B06D40",
+ salmon1 = "#CC8759",
+ salmon2 = "#E2A57C",
+
+ dark_yellow0 = "#BC9869",
+ dark_yellow1 = "#E0BB8B",
+ dark_yellow2 = "#F2D2A9",
+
+ light_yellow0 = "#CBAC6A",
+ light_yellow1 = "#D7BC82",
+ light_yellow2 = "#FDE1A6",
+
+ fg0 = "#BCA684",
+ fg1 = "#D1BD9F",
+ fg2 = "#E5D8C3",
+}
+
+
+-- Utils
+local function set_hl(groups)
+ for group, hl in pairs(groups) do
+ if (type(hl) == "string") then
+ vim.api.nvim_set_hl(0, group, { link = hl })
+ else
+ vim.api.nvim_set_hl(0, group, hl)
+ end
+ end
+end
+
+-- Groups
+local base = {
+ Normal = { fg = c.fg2, bg = c.bg0 },
+ NormalNC = { fg = c.fg2, bg = c.bg0 },
+ NormalSB = { fg = c.fg2, bg = c.bg0 },
+
+ -- Line Number
+ LineNr = { fg = c.fg0 },
+ CursorLineNr = { fg = c.fg2, bold = true },
+ LineNrAbove = "LineNr",
+ LineNrBelow = "LineNr",
+
+ -- Message Area
+ ModeMsg = { fg = c.fg2, italic = true },
+ MsgArea = { fg = c.fg2 },
+ MoreMsg = { fg = c.light_yellow0 },
+ Title = { fg = c.light_yellow2, bold = true },
+ NonText = { fg = c.dark_yellow0 },
+
+ -- Messages
+ WarningMsg = { fg = c.light_yellow2 },
+ ErrorMsg = { fg = c.dark_brown4 },
+
+ -- Status Line
+ StatusLine = { bg = c.bg2, fg = c.fg2 },
+ StatusLineNC = { bg = c.bg1, fg = c.fg0 },
+ WinBar = "StatusLine",
+ WinBarNC = "StatusLineNC",
+
+ -- Tab Line
+ TabLine = { bg = c.bg1, fg = c.fg0 },
+ TabLineFill = { bg = c.bg1 },
+ TabLineSel = { bg = c.bg0, fg = c.fg2 },
+
+ -- Search
+ Search = { bg = c.light_brown0, fg = c.fg2 },
+ IncSearch = { bg = c.fg2, fg = c.light_brown0 },
+ CurSearch = "IncSearch",
+
+ -- Float Window
+ NormalFloat = { fg = c.fg2, bg = c.bg0 },
+ FloatBorder = { fg = c.fg2, bg = c.bg2 },
+ FloatTitle = { fg = c.fg2, bg = c.bg2 },
+
+ -- Popup Menu TODO
+ -- Pmenu = { bg = c.bg0, fg = c.fg2 },
+ -- PmenuMatch = { bg = c.bg0, fg = c.fg2 },
+ -- PmenuSel = { bg = c.bg0 },
+ -- PmenuMatchSel = { bg = c.bg0, fg = c.fg2 },
+ -- PmenuSbar = { bg = c.bg0 },
+ -- PmenuThumb = { bg = c.fg2 },
+
+ -- ETC
+ EndOfBuffer = { fg = c.dark_brown1 },
+ ColorColumn = { bg = c.bg1 },
+ Directory = { fg = c.fg2 },
+
+ MatchParen = { bg = c.bg2, fg = c.fg0, bold = true },
+
+ VertSplit = { fg = c.bg2 },
+ WinSeparator = { fg = c.bg2, bold = true },
+
+ Folded = { fg = c.dark_brown2, bg = c.bg1 },
+ -- FoldColumn = { bg = c.bg0, fg = c.fg0 },
+}
+
+local cursors = {
+ Cursor = { fg = c.fg0, bg = c.bg0 },
+ lCursor = { fg = c.fg0, bg = c.bg0 },
+ CursorIM = { fg = c.fg0, bg = c.bg0 },
+ CursorColumn = { bg = c.bg1 },
+ CursorLine = { bg = c.bg1 },
+
+ -- Visual Mode
+ Visual = { bg = c.dark_brown0 },
+ VisualNOS = "Visual",
+}
+
+local syntax = {
+ Bold = { bold = true, fg = c.fg2 },
+ Italic = { italic = true, fg = c.fg },
+ Underlined = { underline = true },
+
+ Comment = { fg = c.dark_brown2 },
+ Character = { fg = c.dark_brown3 },
+ Constant = { fg = c.salmon0 },
+ Function = { fg = c.light_yellow2 },
+ Identifier = { fg = c.light_yellow1 },
+ Keyword = { fg = c.light_brown0 },
+ Operator = { fg = c.salmon2 },
+ String = { fg = c.light_brown2 },
+ Type = { fg = c.light_yellow0 },
+ Special = { fg = c.dark_yellow1 },
+ Statement = { fg = c.dark_brown3 },
+ PreProc = { fg = c.fg2 },
+ Delimiter = "Special",
+ Todo = { bg = c.dark_brown0, fg = c.fg2 },
+
+ SpellBad = { sp = c.dark_brown4, undercurl = true },
+ SpellCap = { sp = c.light_yellow2, undercurl = true },
+ SpellLocal = "SpellCap",
+ SpellRare = "SpellCap",
+
+ NvimInternalError = { bg = c.dark_brown4, fg = c.light_yellow2 },
+}
+
+set_hl(base)
+set_hl(cursors)
+set_hl(syntax)
--- /dev/null
+{
+ Foo = { bg = c.magenta2, fg = c.fg },
+
+ Conceal = { fg = c.dark5 }, -- placeholder characters substituted for concealed text (see 'conceallevel')
+
+ DiffAdd = { bg = c.diff.add }, -- diff mode: Added line |diff.txt|
+ DiffChange = { bg = c.diff.change }, -- diff mode: Changed line |diff.txt|
+ DiffDelete = { bg = c.diff.delete }, -- diff mode: Deleted line |diff.txt|
+ DiffText = { bg = c.diff.text }, -- diff mode: Changed text within a changed line |diff.txt|
+
+ SignColumn = { bg = opts.transparent and c.none or c.bg, fg = c.fg_gutter }, -- column where |signs| are displayed
+ SignColumnSB = { bg = c.bg_sidebar, fg = c.fg_gutter }, -- column where |signs| are displayed
+ Substitute = { bg = c.red, fg = c.black }, -- |:substitute| replacement text highlighting
+
+ Question = { fg = c.blue }, -- |hit-enter| prompt and yes/no questions
+ QuickFixLine = { bg = c.bg_visual, bold = true }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
+
+ SpecialKey = { fg = c.dark3 }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
+
+ Whitespace = { fg = c.fg_gutter }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
+ WildMenu = { bg = c.bg_visual }, -- current match in 'wildmenu' completion
+
+ Debug = { fg = c.orange }, -- debugging statements
+ Error = { fg = c.error }, -- (preferred) any erroneous construct
+ debugBreakpoint = { bg = Util.blend_bg(c.info, 0.1), fg = c.info }, -- used for breakpoint colors in terminal-debug
+ debugPC = { bg = c.bg_sidebar }, -- used for highlighting the current line in terminal-debug
+ dosIniLabel = "@property",
+ helpCommand = { bg = c.terminal_black, fg = c.blue },
+ htmlH1 = { fg = c.magenta, bold = true },
+ htmlH2 = { fg = c.blue, bold = true },
+ qfFileName = { fg = c.blue },
+ qfLineNr = { fg = c.dark5 },
+
+ -- These groups are for the native LSP client. Some other LSP clients may
+ -- use these groups, or use their own.
+ LspReferenceText = { bg = c.fg_gutter }, -- used for highlighting "text" references
+ LspReferenceRead = { bg = c.fg_gutter }, -- used for highlighting "read" references
+ LspReferenceWrite = { bg = c.fg_gutter }, -- used for highlighting "write" references
+ LspSignatureActiveParameter = { bg = Util.blend_bg(c.bg_visual, 0.4), bold = true },
+ LspCodeLens = { fg = c.comment },
+ LspInlayHint = { bg = Util.blend_bg(c.blue7, 0.1), fg = c.dark3 },
+ LspInfoBorder = { fg = c.border_highlight, bg = c.bg_float },
+
+ -- diagnostics
+ DiagnosticError = { fg = c.error }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
+ DiagnosticWarn = { fg = c.warning }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
+ DiagnosticInfo = { fg = c.info }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
+ DiagnosticHint = { fg = c.hint }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
+ DiagnosticUnnecessary = { fg = c.terminal_black }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
+ DiagnosticVirtualTextError = { bg = Util.blend_bg(c.error, 0.1), fg = c.error }, -- Used for "Error" diagnostic virtual text
+ DiagnosticVirtualTextWarn = { bg = Util.blend_bg(c.warning, 0.1), fg = c.warning }, -- Used for "Warning" diagnostic virtual text
+ DiagnosticVirtualTextInfo = { bg = Util.blend_bg(c.info, 0.1), fg = c.info }, -- Used for "Information" diagnostic virtual text
+ DiagnosticVirtualTextHint = { bg = Util.blend_bg(c.hint, 0.1), fg = c.hint }, -- Used for "Hint" diagnostic virtual text
+ DiagnosticUnderlineError = { undercurl = true, sp = c.error }, -- Used to underline "Error" diagnostics
+ DiagnosticUnderlineWarn = { undercurl = true, sp = c.warning }, -- Used to underline "Warning" diagnostics
+ DiagnosticUnderlineInfo = { undercurl = true, sp = c.info }, -- Used to underline "Information" diagnostics
+ DiagnosticUnderlineHint = { undercurl = true, sp = c.hint }, -- Used to underline "Hint" diagnostics
+
+ -- Health
+ healthError = { fg = c.error },
+ healthSuccess = { fg = c.green1 },
+ healthWarning = { fg = c.warning },
+
+ -- diff (not needed anymore?)
+ diffAdded = { fg = c.git.add },
+ diffRemoved = { fg = c.git.delete },
+ diffChanged = { fg = c.git.change },
+ diffOldFile = { fg = c.yellow },
+ diffNewFile = { fg = c.orange },
+ diffFile = { fg = c.blue },
+ diffLine = { fg = c.comment },
+ diffIndexLine = { fg = c.magenta },
+ helpExample = { fg = c.comment },
+ }
vim.g.netrw_liststyle = 1
+vim.cmd.colorscheme('codeclocks')
+
local tab_next = true
-- Neovide =====================================================================
-local font_family = "Iosevka NF"
-local font_size = 18
+local font_family = "0xProto Nerd Font Mono"
+local font_size = 14
local min_font_size = 4
local max_font_size = 40
},
config = true
},
- {
- 'sainnhe/sonokai',
- lazy = false,
- priority = 1000,
- config = function()
- vim.g.sonokai_enable_italic = true
- vim.cmd.colorscheme('sonokai')
- end
- },
{
"nvim-treesitter/nvim-treesitter",
config = function()
{
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
- "fzf-lua": { "branch": "main", "commit": "1e03541de4d8a169defe83bb4d7abfba450c63a1" },
- "lazy.nvim": { "branch": "main", "commit": "1159bdccd8910a0fd0914b24d6c3d186689023d9" },
- "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" },
+ "fzf-lua": { "branch": "main", "commit": "2a7eb32871a131e24021dd1756865e475fe7e274" },
+ "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "cab00668464d2914d0752b86168b4a431cc93eb2" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
- "neogit": { "branch": "master", "commit": "d55bf6114c6cfba013e4c0e817e29e7752554ab7" },
- "nvim-lspconfig": { "branch": "master", "commit": "04680101ff79e99b4e33a4386ec27cbd0d360c75" },
- "nvim-treesitter": { "branch": "master", "commit": "45e0d66246f31306d890b91301993fa1623e79f1" },
+ "neogit": { "branch": "master", "commit": "89d13fb9898619774d359a3900959181d60dd02f" },
+ "nvim-lspconfig": { "branch": "master", "commit": "87c7c83ce62971e0bdb29bb32b8ad2b19c8f95d0" },
+ "nvim-treesitter": { "branch": "master", "commit": "20e10ca6914f65cf1410232433fb58de70ab6b39" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
- "render-markdown.nvim": { "branch": "main", "commit": "06e6134e840da8be25f1053ba3be64ea33edd07b" },
- "sonokai": { "branch": "master", "commit": "3dcd97c0c5e4118bc171df6ba33800dfd9524a00" }
+ "render-markdown.nvim": { "branch": "main", "commit": "82184c4a3c3580a7a859b2cb7e58f16c10fd29ef" }
}