From 0abf4107bc01b6fa627f5388e4c4fb4a089fe986 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Sat, 14 Mar 2026 11:33:27 -0500 Subject: [PATCH] Initial commit --- LICENSE | 21 ++ README.md | 5 + colors/darcula_lush.lua | 6 + cspell.json | 16 + lua/lush_theme/darcula_lush.lua | 628 ++++++++++++++++++++++++++++++++ 5 files changed, 676 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 colors/darcula_lush.lua create mode 100644 cspell.json create mode 100644 lua/lush_theme/darcula_lush.lua diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8aa4b75 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) COPYRIGHT_YEAR COPYRIGHT_NAME + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..20b45c7 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +A Lush Theme for Neovim. +=== + +See: http://git.io/lush.nvim for more information on Lush and a helper script +to setup your repo clone. diff --git a/colors/darcula_lush.lua b/colors/darcula_lush.lua new file mode 100644 index 0000000..2c97148 --- /dev/null +++ b/colors/darcula_lush.lua @@ -0,0 +1,6 @@ +vim.opt.background = "dark" +vim.g.colors_name = "darcula_lush" + +package.loaded["lush_theme.darcula_lush"] = nil + +require("lush")(require("lush_theme.darcula_lush")) diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000..50fa531 --- /dev/null +++ b/cspell.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", + "version": "0.2", + "dictionaries": ["workspace-words", "user-words"], + "dictionaryDefinitions": [{ + "name": "workspace-words", + "path": "./.cspell/words.txt", + "addWords": true + }, + { + "name": "user-words", + "path": "/home/sgraves/.desktop/.cspell/user_words.txt", + "addWords": true + } + ] +} \ No newline at end of file diff --git a/lua/lush_theme/darcula_lush.lua b/lua/lush_theme/darcula_lush.lua new file mode 100644 index 0000000..8e648f3 --- /dev/null +++ b/lua/lush_theme/darcula_lush.lua @@ -0,0 +1,628 @@ +-- +-- Built with, +-- +-- ,gggg, +-- d8" "8I ,dPYb, +-- 88 ,dP IP'`Yb +-- 8888888P" I8 8I +-- 88 I8 8' +-- 88 gg gg ,g, I8 dPgg, +-- ,aa,_88 I8 8I ,8'8, I8dP" "8I +-- dP" "88P I8, ,8I ,8' Yb I8P I8 +-- Yb,_,d88b,,_ ,d8b, ,d8b,,8'_ 8) ,d8 I8, +-- "Y8P" "Y888888P'"Y88P"`Y8P' "YY8P8P88P `Y8 +-- + +---@diagnostic disable: undefined-global +local lush = require("lush") +local hsl = lush.hsl + +local darken = function(color, by) + by = 12 * (by or 1) + return color.darken(by) +end + +local lighten = function(color, by) + by = 12 * (by or 1) + return color.lighten(by) +end + +local black = hsl("#101017") +local black2 = hsl("#101016") + +local base_colors = { + black = black, + black2 = black2, + blue = hsl("#6877bb"), + cyan = hsl("#00FFFF").darken(40), + green = hsl("#6A906A"), + orange = hsl("#BC8043").lighten(8), + red = hsl("#CF6060"), + tan = hsl("#9A8065"), + purple = hsl("#9876AA"), + yellow = hsl("#ffff80").darken(53), + white = hsl("#a5a0a1").lighten(12) +} + +local primary_colors = { + black = base_colors.black, + black2 = base_colors.black2, + blue = base_colors.blue, + cyan = base_colors.cyan, + green = base_colors.green, + grey = darken(base_colors.white, 5), + orange = base_colors.orange, + light_orange = lighten(base_colors.orange, 1.5), + purple = base_colors.purple, + light_grey = darken(base_colors.white, 1.4), + white = base_colors.white, + red = base_colors.red, + tan = base_colors.tan, + yellow = base_colors.yellow +} + +local colors = { + BufferBackground = primary_colors.black, + ColorColumnBackground = lighten(primary_colors.black, 0.8), + CommentForeground = lighten(primary_colors.grey, 2.1), + ConcealBackground = primary_colors.grey, + ConcealForeground = darken(primary_colors.white), + ConstantForeground = primary_colors.purple, + CursorLineBackground = lighten(primary_colors.black, 0.8), + CursorLineNrForeground = primary_colors.green, + DirectoryForeground = lighten(primary_colors.light_grey, 1), + DirectoryIconForeground = primary_colors.tan, + EOBBackground = primary_colors.black, + ErrorBackground = darken(primary_colors.red, 5), + ErrorForeground = primary_colors.red, + FileForeground = primary_colors.light_grey, + FloatBackground = lighten(primary_colors.black, 0.8), + FloatForeground = lighten(primary_colors.white, 2), + FunctionForeground = primary_colors.light_orange, + HighlightBackground = "NONE", + HighlightForeground = lighten(primary_colors.white, 1.5), + HintForeground = darken(primary_colors.white, 1), + InfoForeground = lighten(primary_colors.white), + InlayForeground = lighten(primary_colors.grey, 1), + KeywordForeground = primary_colors.orange, + LineNrForeground = darken(primary_colors.white, 4), + NamespaceForeground = primary_colors.orange, + NonTextForeground = lighten(primary_colors.grey, 1), + NormalForeground = primary_colors.white, + NumberForeground = primary_colors.blue, + NrBackground = darken(primary_colors.black, 3.5), + OperatorForeground = darken(primary_colors.orange, 1), + PmenuSelBackground = lighten(primary_colors.black, 2), + PreProcForeground = primary_colors.yellow, + ProgressForeground = darken(primary_colors.white), + RootForeground = primary_colors.green, + ScrollViewBackground = hsl("#FFFFFF"), + ScrollViewForeground = "NONE", + SearchBackground = "NONE", + SearchForeground = primary_colors.blue, + SelectionBackground = lighten(primary_colors.black, 2), + SpecialForeground = primary_colors.orange, + StatusBackground = lighten(primary_colors.black, 0.7), + StatusBackgroundNC = lighten(primary_colors.black2, 0.7), + StringForeground = primary_colors.green, + WarningForeground = primary_colors.yellow +} + +vim.g.choosewin_color_label = { + gui = {colors.PmenuSelBackground.hex, colors.FloatForeground.hex, "bold"} +} + +vim.g.choosewin_color_label_current = { + gui = {primary_colors.green.hex, colors.FloatBackground.hex, "bold"} +} + +vim.g.choosewin_color_other = { + gui = {colors.StatusBackground.hex} +} + +local create_lualine_theme = function() + local theme_colors = { + background_i = darken(primary_colors.green, 2).hex, + background_n = lighten(primary_colors.black, 2.2).hex, + background_b = lighten(primary_colors.black, 1.3).hex, + background_c = colors.StatusBackground.hex, + background_cm = darken(primary_colors.blue, 3.5).hex, + background_r = darken(primary_colors.red, 3).hex, + background_v = darken(primary_colors.blue, 2).hex, + foreground = lighten(primary_colors.white, 1).hex, + foreground_2 = primary_colors.white.hex, + foreground_3 = darken(primary_colors.white).hex + } + return { + normal = { + a = { + bg = theme_colors.background_n, + fg = theme_colors.foreground, + gui = "bold" + }, + b = {bg = theme_colors.background_b, fg = theme_colors.foreground_2}, + c = {bg = theme_colors.background_c, fg = theme_colors.foreground_3} + }, + insert = { + a = { + bg = theme_colors.background_i, + fg = theme_colors.foreground, + gui = "bold" + }, + b = {bg = theme_colors.background_b, fg = theme_colors.foreground_2}, + c = {bg = theme_colors.background_c, fg = theme_colors.foreground_3} + }, + visual = { + a = { + bg = theme_colors.background_v, + fg = theme_colors.foreground, + gui = "bold" + }, + b = {bg = theme_colors.background_b, fg = theme_colors.foreground_2}, + c = {bg = theme_colors.background_c, fg = theme_colors.foreground_3} + }, + replace = { + a = { + bg = theme_colors.background_r, + fg = theme_colors.foreground, + gui = "bold" + }, + b = {bg = theme_colors.background_b, fg = theme_colors.foreground_2}, + c = {bg = theme_colors.background_c, fg = theme_colors.foreground_3} + }, + command = { + a = { + bg = theme_colors.background_cm, + fg = theme_colors.foreground, + gui = "bold" + }, + b = {bg = theme_colors.background_b, fg = theme_colors.foreground_2}, + c = {bg = theme_colors.background_c, fg = theme_colors.foreground_3} + }, + inactive = { + a = { + bg = theme_colors.background_n, + fg = theme_colors.foreground, + gui = "bold" + }, + b = {bg = theme_colors.background_b, fg = theme_colors.foreground_2}, + c = {bg = theme_colors.background_c, fg = theme_colors.foreground_3} + } + } +end + +local ok, lualine = pcall(require, "lualine") +if ok then + lualine.setup({options = {theme = create_lualine_theme()}}) + + local group = + vim.api.nvim_create_augroup("darcula_lush_theme_cfg", {clear = true}) + vim.api.nvim_create_autocmd( + "ColorScheme", + { + group = group, + pattern = "darcula_lush", + callback = function() + lualine.setup({options = {theme = create_lualine_theme()}}) + end + } + ) +end + +local theme = + lush( + function(injected_functions) + local sym = injected_functions.sym + return { + -- Diagnostics general + -- + CodeError {gui = "reverse"}, + CodeHint {gui = "reverse"}, + CodeInfo {gui = "reverse"}, + CodeWarn {gui = "reverse"}, + ErrorSign {bg = colors.NrBackground, fg = colors.ErrorForeground}, + HintSign {bg = colors.NrBackground, fg = colors.HintForeground}, + InfoSign {bg = colors.NrBackground, fg = colors.InfoForeground}, + WarningSign {bg = colors.NrBackground, fg = colors.WarningForeground}, + IblScope {fg = colors.ConcealForeground, bg = "NONE"}, + IdentifierUnderCaret { + gui = "underline,bold,italic" + }, + IdentifierUnderCaretWrite { + gui = "underline,bold,italic" + }, + -- + -- + -- c/cpp + cFunction {fg = colors.FunctionForeground}, + cppDestructor {fg = colors.FunctionForeground}, + -- + -- CoC + CocErrorHighlight {fg = colors.ErrorForeground, gui = "bold,underline"}, + CocHintHighlight {fg = colors.HintForeground, gui = "bold,underline"}, + CocInfoHighlight {fg = colors.InfoForeground, gui = "bold,underline"}, + CocWarnHighlight {fg = colors.WarningForeground, gui = "bold,underline"}, + CocHighlightRead {IdentifierUnderCaret}, + CocHighlightText {IdentifierUnderCaret}, + CocHighlightWrite {IdentifierUnderCaretWrite}, + CocCodeLens {fg = colors.InlayForeground, bg = "NONE"}, + CocErrorFloat {fg = colors.FloatForeground, bg = colors.FloatBackground}, + CocFloating {fg = colors.FloatForeground, bg = colors.FloatBackground}, + CocHintFloat {fg = colors.FloatForeground, bg = colors.FloatBackground}, + CocHintVirtualText {fg = colors.InlayForeground, bg = "NONE"}, + CocInfoFloat {fg = colors.FloatForeground, bg = colors.FloatBackground}, + CocInlayHint {fg = colors.InlayForeground, bg = "NONE"}, + CocMenuSel {bg = colors.PmenuSelBackground}, + CocNotificationError { + fg = colors.FloatForeground, + bg = colors.FloatBackground + }, + CocNotificationInfo { + fg = colors.FloatForeground, + bg = colors.FloatBackground + }, + CocNotificationProgress { + fg = colors.ProgressForeground, + bg = colors.FloatBackground + }, + CocNotificationWarning { + fg = colors.FloatForeground, + bg = colors.FloatBackground + }, + CocPumMenu {fg = colors.FloatForeground, bg = colors.FloatBackground}, + CocSearch {fg = colors.SearchForeground}, + CocSemClass {fg = colors.FunctionForeground}, + CocSymbolConstant {fg = colors.ConstantForeground}, + CocSymbolConstructor {fg = colors.FunctionForeground}, + CocSymbolFunction {fg = colors.FunctionForeground}, + CocSymbolMethod {fg = colors.FunctionForeground}, + CocUnderline {fg = colors.NumberForeground, gui = "bold,underline"}, + CocWarningFloat {fg = colors.FloatForeground, bg = colors.FloatBackground}, + -- easymotion + EasyMotionShade {fg = colors.CommentForeground}, + EasyMotionIncSearch { + fg = colors.SearchForeground, + gui = "bold,italic,underline" + }, + EasyMotionTarget {gui = "underline", fg = colors.WarningForeground}, + -- + -- fidget + FidgetDone {fg = colors.StringForeground}, + FidgetGroup {fg = darken(colors.NormalForeground, 7)}, + FidgetProgress {fg = colors.NumberForeground}, + -- + -- gitsigns + GitSignsCurrentLineBlame {fg = colors.CommentForeground, bg = "NONE"}, + -- + -- lua + luaParenError {bg = "NONE"}, + -- + -- nvim-cmp + CmpItemAbbr {fg = colors.NormalForeground}, + CmpItemAbbrMatch {fg = colors.NumberForeground}, + CmpItemKind {fg = colors.KeywordForeground}, + CmpItemKindDefault {fg = colors.KeywordForeground}, + -- + -- nvim notify + NotifyBackground { + bg = colors.FloatBackground, + fg = colors.FloatBackground + }, + NotifyINFOBody { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyINFOBorder { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyINFOIcon { + -- bg = colors.FloatBackground, + fg = colors.StringForeground + }, + NotifyINFOTitle { + -- bg = colors.FloatBackground, + fg = colors.StringForeground + }, + NotifyERRORBody { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyERRORBorder { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyERRORIcon { + -- bg = colors.FloatBackground, + fg = colors.ErrorForeground + }, + NotifyERRORTitle { + -- bg = colors.FloatBackground, + fg = colors.ErrorForeground + }, + NotifyWARNBody { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyWARNBorder { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyWARNIcon { + -- bg = colors.FloatBackground, + fg = colors.WarningForeground + }, + NotifyWARNTitle { + -- bg = colors.FloatBackground, + fg = colors.WarningForeground + }, + NotifyDEBUGBody { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyDEBUGBorder { + -- bg = colors.FloatBackground, + fg = colors.FloatForeground + }, + NotifyDEBUGIcon { + -- bg = colors.FloatBackground, + fg = colors.NumberForeground + }, + NotifyDEBUGTitle { + -- bg = colors.FloatBackground, + fg = colors.NumberForeground + }, + NotifyTRACEBody { + -- bg = colors.FloatBackground, + fg = colors.ConstantForeground + }, + NotifyTRACEBorder { + -- bg = colors.FloatBackground, + fg = colors.ConstantForeground + }, + -- + -- nvim tree + NvimTreeEndOfBuffer {bg = colors.EOBBackground}, + NvimTreeFolderIcon {fg = colors.DirectoryIconForeground}, + NvimTreeFolderName {fg = colors.DirectoryForeground, gui = "bold"}, + NvimTreeNormal {bg = colors.EOBBackground, fg = colors.FileForeground}, + NvimTreeOpenedFolderName {fg = colors.DirectoryForeground, gui = "bold"}, + NvimTreeRootFolder {fg = colors.RootForeground}, + NvimTreeGitDirty {fg = colors.ErrorForeground}, + NvimTreeGitDirtyIcon {fg = colors.ErrorForeground}, + NvimTreeSymlink {fg = colors.NumberForeground, gui = "italic"}, + NvimTreeExecFile {fg = colors.StringForeground, gui = "italic"}, + -- + -- nvim scrollview + ScrollView { + fg = colors.ScrollViewForeground, + bg = colors.ScrollViewBackground + }, + -- + -- Telescope + TelescopeBorder {bg = lighten(colors.EOBBackground, 1)}, + TelescopeMatching {fg = colors.SearchForeground}, + TelescopeNormal {bg = colors.BufferBackground}, + TelescopePromptNormal {bg = colors.BufferBackground}, + -- + -- Neovim + Added {fg = colors.StringForeground}, + Changed {gui = "italic,underline"}, + Character {fg = colors.StringForeground}, + ColorColumn {bg = colors.ColorColumnBackground}, + Comment {fg = colors.CommentForeground}, + Conceal {bg = colors.ConcealBackground, fg = colors.ConcealForeground}, + Conditional {fg = colors.KeywordForeground}, + Constant {fg = colors.ConstantForeground}, + Cursor {gui = "reverse"}, + CursorColumn { + gui = "underline", + fg = colors.HighlightForeground, + bg = colors.HighlightBackground + }, + CursorLine {bg = colors.CursorLineBackground}, + CursorLineNr { + bg = colors.NrBackground, + fg = colors.CursorLineNrForeground + }, + CurSearch { + fg = colors.SearchForeground, + bg = colors.SearchBackground, + gui = "bold,italic,underline" + }, + Delimiter {fg = colors.FunctionForeground}, + DiagnosticError {CodeError}, + DiagnosticHint {CodeHint}, + DiagnosticInfo {CodeInfo}, + DiagnosticWarn {CodeWarn}, + DiagnosticFloatingError {fg = colors.ErrorForeground}, + DiagnosticFloatingHint {fg = colors.HintForeground}, + DiagnosticFloatingInfo {fg = colors.InfoForeground}, + DiagnosticFloatingWarn {fg = colors.WarningForeground}, + DiagnosticSignError { + fg = colors.ErrorForeground, + bg = colors.NrBackground + }, + DiagnosticSignHint {fg = colors.HintForeground, bg = colors.NrBackground}, + DiagnosticSignInfo {fg = colors.InfoForeground, bg = colors.NrBackground}, + DiagnosticSignWarn { + fg = colors.WarningForeground, + bg = colors.NrBackground + }, + DiagnosticLineNrError { + fg = colors.ErrorForeground, + bg = colors.NrBackground + }, + DiagnosticLineNrHint { + fg = colors.HintForeground, + bg = colors.NrBackground + }, + DiagnosticLineNrInfo { + fg = colors.InfoForeground, + bg = colors.NrBackground + }, + DiagnosticLineNrWarn { + fg = colors.WarningForeground, + bg = colors.NrBackground + }, + DiagnosticUnderlineError { + CocErrorHighlight + }, + DiagnosticUnderlineHint { + CocHintHighlight + }, + DiagnosticUnderlineInfo { + CocInfoHighlight + }, + DiagnosticUnderlineWarn { + CocWarnHighlight + }, + DiagnosticVirtualTextError {fg = colors.InlayForeground, bg = "NONE"}, + DiagnosticVirtualTextWarn {fg = colors.InlayForeground, bg = "NONE"}, + DiagnosticVirtualTextInfo {fg = colors.InlayForeground, bg = "NONE"}, + DiagnosticVirtualTextHint {fg = colors.InlayForeground, bg = "NONE"}, + DiffAdd {bg = "#1e3a1e"}, + DiffChange {bg = "#2e2e1e"}, + DiffDelete {bg = "#3a1e1e"}, + DiffText {bg = "#5e4a1e"}, + Directory {fg = colors.FileForeground}, + EndOfBuffer {bg = colors.NrBackground}, + Error { + gui = "italic", + bg = colors.ErrorBackground, + fg = colors.ErrorForeground + }, + ErrorMsg {fg = colors.ErrorForeground}, + Exception {fg = colors.KeywordForeground}, + FloatBorder {bg = colors.FloatBackground}, + FoldColumn {fg = colors.ErrorForeground, bg = colors.NrBackground}, + Folded {fg = colors.CommentForeground, bg = colors.ConcealBackground}, + Function {fg = colors.FunctionForeground}, + Identifier {fg = colors.NormalForeground}, + IncSearch {fg = colors.SearchForeground, gui = "bold,italic,underline"}, + Keyword {fg = colors.KeywordForeground}, + Label {fg = colors.KeywordForeground}, + LineNr {bg = colors.NrBackground, fg = colors.LineNrForeground}, + LineNrSpecial {bg = colors.NrBackground, fg = colors.SpecialForeground}, + LspReferenceRead { + gui = "underline,italic", + guibg = "NONE" + }, + LspReferenceText { + gui = "underline,italic", + guibg = "NONE" + }, + LspReferenceWrite { + gui = "underline,bold,italic", + guibg = "NONE" + }, + LspCodeLens {fg = CocCodeLens.fg}, + LspCodeLensSeparator {fg = CocCodeLens.fg}, + LspSignatureActiveParameter {gui = "italic", fg = colors.NumberForeground}, + MatchParen { + gui = "italic,bold", + bg = "NONE", + fg = colors.MatchParenForeground + }, + ModeMsg {fg = colors.StringForeground}, + MoreMsg {fg = colors.StringForeground}, + NonText {fg = colors.NonTextForeground}, + Normal {bg = colors.BufferBackground, fg = colors.NormalForeground}, + NormalFloat {bg = colors.FloatBackground, fg = colors.FloatForeground}, + NormalNC {bg = colors.BufferBackground, fg = colors.NormalForeground}, + Number {fg = colors.NumberForeground}, + Operator {fg = colors.OperatorForeground}, + Pmenu {bg = colors.FloatBackground, fg = colors.FloatForeground}, + PmenuMatch {fg = colors.SearchForeground}, + PmenuSbar {bg = lighten(Pmenu.bg, 0.5)}, + PmenuSel {bg = colors.PmenuSelBackground}, + PmenuThumb {bg = lighten(Pmenu.bg, 2)}, + PreProc {fg = colors.PreProcForeground}, + Question {fg = colors.StringForeground}, + QuickFixLine { + fg = colors.HighlightForeground, + bg = colors.HighlightBackground + }, + Removed {fg = colors.ErrorForeground}, + Repeat {fg = colors.KeywordForeground}, + Search { + fg = colors.SearchForeground, + bg = colors.SearchBackground, + gui = "bold,italic,underline" + }, + SignColumn {bg = colors.NrBackground}, + Special {fg = colors.SpecialForeground}, + SpecialKey {fg = colors.NonTextForeground}, + SpellBad {gui = "italic", fg = colors.NormalForeground}, + SpellCap {gui = "italic", fg = colors.NormalForeground}, + SpellLocal {gui = "italic", fg = colors.NormalForeground}, + SpellRare {gui = "italic", fg = colors.NormalForeground}, + Statement {fg = colors.KeywordForeground}, + StatusLine {bg = colors.StatusBackground}, + StatusLineNC {bg = colors.StatusBackgroundNC}, + String {fg = colors.StringForeground}, + Substitute {fg = colors.SearchForeground, gui = "underline"}, + TabLine {bg = lighten(colors.EOBBackground)}, + TabLineFill {bg = colors.EOBBackground}, + TabLineSel {gui = "bold", bg = lighten(colors.EOBBackground, 2)}, + Title {fg = colors.FileForeground}, + Todo { + bg = darken(colors.StringForeground, 4), + fg = colors.NormalForeground, + gui = "italic" + }, + Type {fg = colors.KeywordForeground}, + Underlined {fg = colors.NumberForeground, gui = "underline"}, + VertSplit {bg = colors.NrBackground}, + Visual {bg = colors.SelectionBackground}, + WarningMsg {fg = colors.WarningForeground}, + WinSeparator {bg = colors.NrBackground}, + -- + -- mini.icons + MiniIconsAzure {fg = colors.FunctionForeground}, + MiniIconsBlue {fg = primary_colors.blue}, + MiniIconsCyan {fg = primary_colors.cyan}, + MiniIconsGreen {fg = primary_colors.green}, + MiniIconsGrey {fg = primary_colors.light_grey}, + MiniIconsOrange {fg = primary_colors.orange}, + MiniIconsPurple {fg = primary_colors.purple}, + MiniIconsRed {fg = primary_colors.red}, + MiniIconsYellow {fg = primary_colors.yellow}, + -- + -- qf + qfSeparator1 {Comment}, + qfSeparator2 {Comment}, + -- + -- tree-sitter + sym("@attribute") {fg = colors.CommentForeground}, + sym("@comment.error") {fg = colors.ErrorForeground}, + sym("@comment.warning") {fg = colors.WarningForeground}, + sym("@constructor") {fg = colors.FunctionForeground}, + sym("@function") {fg = colors.FunctionForeground}, + sym("@function.builtin") {fg = colors.FunctionForeground}, + sym("@keyword.directive") {fg = colors.PreProcForeground}, + sym("@keyword.function") {fg = colors.KeywordForeground}, + sym("@keyword.import") {fg = colors.PreProcForeground}, + sym("@keyword.operator") {fg = Operator.fg, gui = Operator.gui}, + sym("@lsp.type.property.lua") {fg = colors.ConstantForeground}, + sym("@module") {fg = colors.NamespaceForeground}, + sym("@number") {fg = colors.NumberForeground}, + sym("@number.float") {fg = colors.NumberForeground}, + sym("@operator") {fg = Operator.fg, gui = Operator.gui}, + sym("@operator.special") {fg = Operator.fg, gui = Operator.gui}, + sym("@punctuation.bracket") {fg = colors.FunctionForeground}, + sym("@punctuation.delimiter") {fg = colors.SpecialForeground}, + sym("@punctuation.special") {fg = colors.SpecialForeground}, + sym("@type.cpp") {fg = colors.FunctionForeground}, + sym("@type.definition") {fg = Constant.fg, gui = ""}, + sym("@variable") {fg = colors.NormalForeground}, + sym("@variable.member") {fg = colors.ConstantForeground}, + sym("@variable.member.cpp") {fg = colors.NormalForeground} + } + end +) + +-- return our parsed theme for extension or use else where. +return theme + +-- vi:nowrap