diff options
| author | Ellison Leão <ellisonleao@gmail.com> | 2021-02-23 01:15:03 -0300 |
|---|---|---|
| committer | Ellison Leão <ellisonleao@gmail.com> | 2021-02-23 01:15:03 -0300 |
| commit | a034fdca2a52e31296684d7e10f131a0c3e8e606 (patch) | |
| tree | 4d558fb2ec954c3d9373809f042209be4852035d | |
| parent | d755ce15d44c0c36cc0e166be765d81c42faac9e (diff) | |
| download | gruvbox-a034fdca2a52e31296684d7e10f131a0c3e8e606.tar.gz gruvbox-a034fdca2a52e31296684d7e10f131a0c3e8e606.tar.xz | |
initial changes on moving to lush.nvim
| -rw-r--r-- | README.md | 17 | ||||
| -rw-r--r-- | colors/gruvbox.vim | 7 | ||||
| -rw-r--r-- | lua/gruvbox.lua | 841 | ||||
| -rw-r--r-- | lua/gruvbox/palette.lua | 41 | ||||
| -rw-r--r-- | lua/lush_template/gruvbox.lua | 396 |
5 files changed, 410 insertions, 892 deletions
@@ -9,26 +9,28 @@ Please note that this plugin is under active development right now, so the statu Using `vim-plug` ``` -Plug 'tjdevries/colorbuddy.nvim' # required +Plug 'rktjmp/lush.nvim' # required Plug 'npxbr/gruvbox.nvim' ``` Using `packer` ``` -use {"npxbr/gruvbox.nvim", requires = {"tjdevries/colorbuddy.vim"}} +use {"npxbr/gruvbox.nvim", requires = {"rktjmp/lush.nvim"}} ``` # Usage Inside `init.vim` -```lua -lua require("colorbuddy").colorscheme("gruvbox") - --- or +```vimscript +set background=dark +set colorscheme=gruvbox +``` -lua require("colorbuddy").colorscheme("gruvbox", "light") -- for light mode +```lua +vim.o.background = "dark" +vim.o.colorscheme = "gruvbox" ``` # Configuration @@ -39,6 +41,5 @@ all `g:gruvbox_` configs are the same [as the original one](https://github.com/m - [vim-signify](https://github.com/mhinz/vim-signify) - [vim-startify](https://github.com/mhinz/vim-startify) -- [galaxyline.nvim](https://github.com/glepnir/galaxyline.nvim) More to be added.. diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 0ba5756..8bce9bd 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -1,2 +1,5 @@ -lua package.loaded["gruvbox"] = nil -lua require("gruvbox") +set background=dark +let g:colors_name="gruvbox" +" reloading colors +lua package.loaded["gruvbox.lush_template"] = nil +lua require("lush")(require("gruvbox.lush_template")) diff --git a/lua/gruvbox.lua b/lua/gruvbox.lua deleted file mode 100644 index 764e8ca..0000000 --- a/lua/gruvbox.lua +++ /dev/null @@ -1,841 +0,0 @@ -local Color, colors, Group, groups, styles = require("colorbuddy").setup() -local palette = require("gruvbox.palette") - -for k, item in pairs(palette) do - Color.new(k, item) -end - --- options (dark mode by default) -local bg0 = colors.dark0 -local bg1 = colors.dark1 -local bg2 = colors.dark2 -local bg3 = colors.dark3 -local bg4 = colors.dark4 - -local fg0 = colors.light0 -local fg1 = colors.light1 -local fg2 = colors.light2 -local fg3 = colors.light3 -local fg4 = colors.light4 - -local red = colors.bright_red -local green = colors.bright_green -local yellow = colors.bright_yellow -local blue = colors.bright_blue -local purple = colors.bright_purple -local aqua = colors.bright_aqua -local orange = colors.bright_orange -local sign_column = bg1 - --- global settings -local settings = { - contrast_dark = "medium", - contrart_light = "medium", - bold = true, - italic = true, - undercurl = true, - underline = true, - improved_strings = false, - improved_warnings = false, - invert_signs = false, - invert_selection = true, - invert_tabline = false, - italicize_comments = true, - italicize_strings = false, -} - --- setting default values -for k, val in pairs(settings) do - local key = "gruvbox_" .. k - if vim.g[key] == nil then - vim.g[key] = val - end -end - --- handle light/dark contrast settings -local bg = vim.o.background -local contrast = vim.g["gruvbox_contrast_" .. bg] -if contrast == "hard" then - bg0 = colors[bg .. "0_hard"] -elseif contrast == "soft" then - bg0 = colors[bg .. "0_soft"] -end - --- swap colors if light mode -if bg == "light" then - bg0 = colors.light0 - bg1 = colors.light1 - bg2 = colors.light2 - bg3 = colors.light3 - bg4 = colors.light4 - - fg0 = colors.dark0 - fg1 = colors.dark1 - fg2 = colors.dark2 - fg3 = colors.dark3 - fg4 = colors.dark4 - - red = colors.faded_red - green = colors.faded_green - yellow = colors.faded_yellow - blue = colors.faded_blue - purple = colors.faded_purple - aqua = colors.faded_aqua - orange = colors.faded_orange -end - -local hls_cursor = orange -if vim.g.gruvbox_hls_cursor ~= nil then - hls_cursor = colors[vim.g.gruvbox_hls_cursor] -end - -local hls_highlight = yellow -if vim.g.gruvbox_hls_cursor ~= nil then - hls_cursor = colors[vim.g.gruvbox_hls_highlight] -end - -local number_column -if vim.g.gruvbox_number_column ~= nil then - number_column = colors[vim.g.gruvbox_number_column] -end - -local color_column = bg1 -if vim.g.gruvbox_color_column ~= nil then - color_column = colors[vim.g.gruvbox_color_column] -end - -local vert_split = bg0 -if vim.g.gruvbox_vert_split ~= nil then - vert_split = colors[vim.g.gruvbox_vert_split] -end - -local invert_signs -if vim.g.gruvbox_invert_signs then - invert_signs = styles.inverse -end - -local invert_selection = styles.inverse -if not vim.g.gruvbox_invert_selection then - invert_selection = nil -end - -local invert_tabline -if vim.g.gruvbox_invert_tabline then - invert_tabline = styles.inverse -end - -local tabline_sel = green -if vim.g.gruvbox_tabline_sel then - tabline_sel = colors[vim.g.gruvbox_tabline_sel] -end - -local italic_comments = styles.italic -if not vim.g.gruvbox_italicize_comments then - italic_comments = nil -end - -local italic_strings -if vim.g.gruvbox_italicize_strings then - italic_strings = styles.italic -end - --- foregrounds -Group.new("GruvboxGray", colors.gray) -Group.new("GruvboxFg0", fg0) -Group.new("GruvboxFg1", fg1) -Group.new("GruvboxFg2", fg2) -Group.new("GruvboxFg3", fg3) -Group.new("GruvboxFg4", fg4) -Group.new("GruvboxGray", colors.gray) - --- backgrounds -Group.new("GruvboxBg0", bg0) -Group.new("GruvboxBg1", bg1) -Group.new("GruvboxBg2", bg2) -Group.new("GruvboxBg3", bg3) -Group.new("GruvboxBg4", bg4) - --- color groups -Group.new("GruvboxAqua", aqua) -Group.new("GruvboxAquaBold", aqua, nil, styles.bold) -Group.new("GruvboxBlue", blue) -Group.new("GruvboxBlueBold", blue, nil, styles.bold) -Group.new("GruvboxGreen", green) -Group.new("GruvboxGreenBold", green, nil, styles.bold) -Group.new("GruvboxOrange", orange) -Group.new("GruvboxOrangeBold", orange, nil, styles.bold) -Group.new("GruvboxPurple", purple) -Group.new("GruvboxPurpleBold", purple, nil, styles.bold) -Group.new("GruvboxRed", red) -Group.new("GruvboxRedBold", red, nil, styles.bold) -Group.new("GruvboxYellow", yellow) -Group.new("GruvboxYellowBold", yellow, nil, styles.bold) - --- signs -Group.new("GruvboxAquaSign", aqua, sign_column, invert_signs) -Group.new("GruvboxBlueSign", blue, sign_column, invert_signs) -Group.new("GruvboxGreenSign", green, sign_column, invert_signs) -Group.new("GruvboxOrangeSign", orange, sign_column, invert_signs) -Group.new("GruvboxPurpleSign", purple, sign_column, invert_signs) -Group.new("GruvboxRedSign", red, sign_column, invert_signs) -Group.new("GruvboxYellowSign", yellow, sign_column, invert_signs) - --- underlines -Group.new("GruvboxAquaUnderline", nil, nil, styles.undercurl, red) -Group.new("GruvboxBlueUnderline", nil, nil, styles.undercurl, blue) -Group.new("GruvboxGreenUnderline", nil, nil, styles.undercurl, green) -Group.new("GruvboxOrangeUnderline", nil, nil, styles.undercurl, orange) -Group.new("GruvboxPurpleUnderline", nil, nil, styles.undercurl, purple) -Group.new("GruvboxRedUnderline", nil, nil, styles.undercurl, red) -Group.new("GruvboxYellowUnderline", nil, nil, styles.undercurl, yellow) - --- base highlight groups -Group.new("Normal", fg0, bg0) -Group.new("CursorLine", nil, bg1) -Group.new("CursorColumn", groups.CursorLine, groups.CursorLine, groups.CursorLine) -Group.new("TabLineFill", bg4, bg1, invert_tabline) -Group.new("TabLineSel", tabline_sel, bg1, invert_tabline) -Group.new("TabLine", groups.TabLineFill, groups.TabLineFill, groups.TabLineFill) -Group.new("MatchParen", nil, bg3, styles.bold) -Group.new("ColorColumn", nil, color_column) -Group.new("Conceal", blue, nil) -Group.new("CursorLineNr", yellow, bg1) -Group.new("NonText", groups.GruvboxBg2, groups.GruvboxBg2, groups.GruvboxBg2) -Group.new("SpecialKey", groups.GruvboxFg4, groups.GruvboxFg4, groups.GruvboxFg4) -Group.new("Visual", nil, bg3, invert_selection) -Group.new("VisualNOS", groups.Visual, groups.Visual, groups.Visual) -Group.new("Search", hls_highlight, bg0, styles.inverse) -Group.new("IncSearch", hls_cursor, bg0, styles.inverse) -Group.new("QuickFixLine", bg0, yellow, styles.bold) -Group.new("Underlined", blue, nil, styles.underline) -Group.new("StatusLine", bg2, fg1, styles.inverse) -Group.new("StatusLineNC", bg1, fg4, styles.inverse) -Group.new("VertSplit", bg3, vert_split) -Group.new("WildMenu", blue, bg2, styles.bold) -Group.new("Directory", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) -Group.new("Title", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) -Group.new("ErrorMsg", bg0, red, styles.bold) -Group.new("MoreMsg", groups.GruvboxYellowBold, groups.GruvboxYellowBold, - groups.GruvboxYellowBold) -Group.new("ModeMsg", groups.GruvboxYellowBold, groups.GruvboxYellowBold, - groups.GruvboxYellowBold) -Group.new("Question", groups.GruvboxOrangeBold, groups.GruvboxOrangeBold, - groups.GruvboxOrangeBold) -Group.new("WarningMsg", groups.GruvboxRedBold, groups.GruvboxRedBold, - groups.GruvboxRedBold) -Group.new("LineNr", bg4, number_column) -Group.new("SignColumn", nil, sign_column) -Group.new("Folded", colors.gray, bg1, styles.italic) -Group.new("FoldColumn", colors.gray, groups.GruvboxBg1) -Group.new("Cursor", nil, nil, styles.inverse) -Group.new("iCursor", groups.Cursor, groups.Cursor, groups.Cursor) -Group.new("lCursor", groups.Cursor, groups.Cursor, groups.Cursor) -Group.new("vCursor", groups.Cursor, groups.Cursor, groups.Cursor) - --- Syntax highlight -if vim.g.gruvbox_improved_strings then - Group.new("Special", orange, bg1, italic_strings) - Group.new("String", fg1, bg1, italic_strings) -else - Group.new("Special", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange) - Group.new("String", green, nil, italic_strings) -end - -Group.new("Delimiter", fg0) -Group.new("Comment", colors.gray, nil, italic_comments) -Group.new("Todo", fg0, nil, styles.bold + styles.italic) -Group.new("Error", red, nil, styles.bold + styles.inverse) -Group.new("Statement", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("Conditional", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("Repeat", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("Label", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("Exception", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("Operator", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("Keyword", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("Identifier", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("Function", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) -Group.new("PreProc", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("Include", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("Define", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("Macro", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("PreCondit", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("Constant", groups.GruvboxPurple, groups.GruvboxPurple, groups.GruvboxPurple) -Group.new("Character", groups.GruvboxPurple, groups.GruvboxPurple, groups.GruvboxPurple) -Group.new("Boolean", groups.GruvboxPurple, groups.GruvboxPurple, groups.GruvboxPurple) -Group.new("Number", groups.GruvboxPurple, groups.GruvboxPurple, groups.GruvboxPurple) -Group.new("Float", groups.GruvboxPurple, groups.GruvboxPurple, groups.GruvboxPurple) -Group.new("Type", groups.GruvboxYellow, groups.GruvboxYellow, groups.GruvboxYellow) -Group.new("StorageClass", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("Structure", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("Typedef", groups.GruvboxYellow, groups.GruvboxYellow, groups.GruvboxYellow) - --- Completion menu -Group.new("Pmenu", fg1, bg2) -Group.new("PmenuSel", bg2, blue, styles.bold) -Group.new("PmenuSbar", nil, bg2) -Group.new("PmenuThumb", nil, bg4) - --- Diffs -Group.new("DiffDelete", red, bg1, invert_signs) -Group.new("DiffAdd", green, bg1, invert_signs) -Group.new("DiffChange", aqua, bg1, invert_signs) -Group.new("DiffText", yellow, bg1, invert_signs) - --- Spelling -if vim.fn.has("spell") == 1 then - Group.new("SpellBad", groups.GruvboxRedUnderline, groups.GruvboxRedUnderline, - groups.GruvboxRedUnderline) - Group.new("SpellLocal", groups.GruvboxAquaUnderline, groups.GruvboxAquaUnderline, - groups.GruvboxAquaUnderline) - Group.new("SpellRare", groups.GruvboxPurpleUnderline, groups.GruvboxPurpleUnderline, - groups.GruvboxPurpleUnderline) - - if vim.g.gruvbox_improved_warnings then - Group.new("SpellCap", green, nil, styles.bold + styles.underline) - else - Group.new("SpellRare", groups.GruvboxBlueUnderline, groups.GruvboxBlueUnderline, - groups.GruvboxBlueUnderline) - end -end - --- Filetype specific - --- HTML -Group.new("htmlTag", groups.GruvboxAquaBold, groups.GruvboxAquaBold, - groups.GruvboxAquaBold) -Group.new("htmlEndTag", groups.GruvboxAquaBold, groups.GruvboxAquaBold, - groups.GruvboxAquaBold) -Group.new("htmlTagName", groups.GruvboxBlueBold, groups.GruvboxBlueBold, - groups.GruvboxBlueBold) -Group.new("htmlArg", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange, groups.GruvboxOrange) -Group.new("htmlScriptTag", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("htmlTagN", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("htmlSpecialTagName", groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue) -Group.new("htmlLink", fg4, nil, styles.underline) -Group.new("htmlSpecialChar", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("htmlBold", fg0, bg0, styles.bold) -Group.new("htmlBoldUnderline", fg0, bg0, styles.bold + styles.underline) -Group.new("htmlBoldItalic", fg0, bg0, styles.bold + styles.italic) -Group.new("htmlBoldUnderlineItalic", fg0, bg0, - styles.bold + styles.underline + styles.italic) -Group.new("htmlUnderline", fg0, bg0, styles.underline) -Group.new("htmlUnderlineItalic", fg0, bg0, styles.underline + styles.italic) -Group.new("htmlItalic", fg0, bg0, styles.italic) -Group.new("htmlH1", groups.String, groups.String, groups.String) - --- XML -Group.new("xmlTag", groups.GruvboxAquaBold, groups.GruvboxAquaBold, - groups.GruvboxAquaBold) -Group.new("xmlEndTag", groups.GruvboxAquaBold, groups.GruvboxAquaBold, - groups.GruvboxAquaBold) -Group.new("xmlTagName", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("xmlEqual", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("docbkKeyword", groups.GruvboxAquaBold, groups.GruvboxAquaBold, - groups.GruvboxAquaBold) -Group.new("xmlDocTypeDecl", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("xmlDocTypeKeyword", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("xmlCdataStart", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("xmlCdataCdata", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("dtdFunction", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("dtdTagName", groups.GruvboxPurple, groups.GruvboxPurple, groups.GruvboxPurple) -Group.new("xmlAttrib", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange) -Group.new("xmlProcessingDelim", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("dtdParamEntityPunct", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("dtdParamEntityDPunct", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("xmlAttribPunct", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("xmlEntity", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("xmlEntityPunct", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) - --- VimL -Group.new("vimCommentTitle", fg4, nil, styles.bold + italic_comments) -Group.new("vimNotation", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("vimBracket", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange) -Group.new("vimMapModKey", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("vimFuncSID", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("vimSetSep", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("vimSep", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("vimContinue", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) - --- Python -Group.new("pythonBuiltin", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("pythonBuiltinObj", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("pythonBuiltinFunc", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("pythonFunction", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("pythonDecorator", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("pythonInclude", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("pythonImport", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("pythonRun", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("pythonCoding", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("pythonOperator", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("pythonException", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("pythonExceptions", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("pythonBoolean", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("pythonDot", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("pythonConditional", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("pythonRepeat", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("pythonDottedName", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) - --- CSS -Group.new("cssBraces", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("cssFunctionName", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow) -Group.new("cssIdentifier", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("cssClassName", groups.GruvboxGreen, groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen, groups.GruvboxGreen) -Group.new("cssColor", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("cssSelectorOp", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("cssSelectorOp2", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("cssImportant", groups.GruvboxGreen, groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen, groups.GruvboxGreen) -Group.new("cssVendor", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("cssTextProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssAnimationProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssUIProp", groups.GruvboxYellow, groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow, groups.GruvboxYellow) -Group.new("cssTransformProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssTransitionProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("cssPrintProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssPositioningProp", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow) -Group.new("cssBoxProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssFontDescriptorProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("cssFlexibleBoxProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("cssBorderOutlineProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("cssBackgroundProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("cssMarginProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssListProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssTableProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssFontProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssPaddingProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssDimensionProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssRenderProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssColorProp", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("cssGeneratedContentProp", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) - --- JavaScript - -Group.new("javaScriptBraces", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("javaScriptFunction", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("javaScriptIdentifier", groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed) -Group.new("javaScriptMember", groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("javaScriptNumber", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("javaScriptNull", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("javaScriptParens", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) - --- TypeScript -Group.new("typeScriptReserved", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("typeScriptLabel", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("typeScriptFuncKeyword", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("typeScriptIdentifier", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("typeScriptBraces", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("typeScriptEndColons", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("typeScriptDOMObjects", groups.GruvboxFg1, groups.GruvboxFg1, - groups.GruvboxFg1) -Group.new("typeScriptAjaxMethods", groups.GruvboxFg1, groups.GruvboxFg1, - groups.GruvboxFg1) -Group.new("typeScriptLogicSymbols", groups.GruvboxFg1, groups.GruvboxFg1, - groups.GruvboxFg1) -Group.new("typeScriptDocSeeTag", groups.Comment) -Group.new("typeScriptDocParam", groups.Comment) -Group.new("typeScriptDocTags", groups.vimCommentTitle) -Group.new("typeScriptGlobalObjects", groups.GruvboxFg1, groups.GruvboxFg1, - groups.GruvboxFg1) -Group.new("typeScriptParens", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("typeScriptOpSymbols", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("typeScriptHtmlElemProperties", groups.GruvboxFg1, groups.GruvboxFg1, - groups.GruvboxFg1) -Group.new("typeScriptNull", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("typeScriptInterpolationDelimiter", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) - --- Ruby -Group.new("rubyStringDelimiter", groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen) -Group.new("rubyInterpolationDelimiter", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) - --- Go -Group.new("goDirective", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("goConstants", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("goDeclaration", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("goDeclType", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("goBuiltins", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange) - --- Lua -Group.new("luaIn", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed, groups.GruvboxRed) -Group.new("luaFunction", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("luaTable", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange, groups.GruvboxOrange) - --- Java -Group.new("javaAnnotation", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("javaDocTags", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("javaCommentTitle", groups.vimCommentTitle, groups.vimCommentTitle, - groups.vimCommentTitle) -Group.new("javaParen", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("javaParen1", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("javaParen2", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("javaParen3", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("javaParen4", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("javaParen5", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("javaOperator", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("javaVarArg", groups.GruvboxGreen, groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen, groups.GruvboxGreen) - --- Elixir -Group.new("elixirDocString", groups.Comment, groups.Comment, groups.Comment) -Group.new("elixirStringDelimiter", groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen) -Group.new("elixirInterpolationDelimiter", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("elixirModuleDeclaration", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow) - --- Markdown -Group.new("markdownItalic", fg3, nil, styles.italic) -Group.new("markdownLinkText", colors.gray, nil, styles.underline) -Group.new("markdownH1", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) -Group.new("markdownH2", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) -Group.new("markdownH3", groups.GruvboxYellowBold, groups.GruvboxYellowBold, - groups.GruvboxYellowBold) -Group.new("markdownH4", groups.GruvboxYellowBold, groups.GruvboxYellowBold, - groups.GruvboxYellowBold) -Group.new("markdownH5", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow, groups.GruvboxYellow, groups.GruvboxYellow) -Group.new("markdownH6", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow, groups.GruvboxYellow, groups.GruvboxYellow) -Group.new("markdownCode", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("markdownCodeBlock", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("markdownCodeDelimiter", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("markdownBlockquote", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("markdownListMarker", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("markdownOrderedListMarker", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("markdownRule", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray, groups.GruvboxGray) -Group.new("markdownHeadingRule", groups.GruvboxGray, groups.GruvboxGray, - groups.GruvboxGray) -Group.new("markdownUrlDelimiter", groups.GruvboxFg3, groups.GruvboxFg3, - groups.GruvboxFg3) -Group.new("markdownLinkDelimiter", groups.GruvboxFg3, groups.GruvboxFg3, - groups.GruvboxFg3) -Group.new("markdownLinkTextDelimiter", groups.GruvboxFg3, groups.GruvboxFg3, - groups.GruvboxFg3) -Group.new("markdownHeadingDelimiter", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("markdownUrl", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("markdownUrlTitleDelimiter", groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen) -Group.new("markdownIdDeclaration", groups.markdownLinkText, groups.markdownLinkText, - groups.markdownLinkText) - --- Haskell -Group.new("haskellType", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("haskellIdentifier", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("haskellSeparator", groups.GruvboxFg4, groups.GruvboxFg4, groups.GruvboxFg4) -Group.new("haskellDelimiter", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("haskellOperators", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) - -Group.new("haskellBacktick", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("haskellStatement", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("haskellConditional", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) - -Group.new("haskellLet", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("haskellDefault", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("haskellWhere", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("haskellBottom", groups.GruvboxRedBold, groups.GruvboxRedBold, - groups.GruvboxRedBold) -Group.new("haskellImportKeywords", groups.GruvboxPurpleBold, groups.GruvboxPurpleBold, - groups.GruvboxPurpleBold) -Group.new("haskellDeclKeyword", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("haskellDecl", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("haskellDeriving", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("haskellAssocType", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) - -Group.new("haskellNumber", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("haskellPragma", groups.GruvboxRedBold, groups.GruvboxRedBold, - groups.GruvboxRedBold) - -Group.new("haskellTH", groups.GruvboxAquaBold, groups.GruvboxAquaBold, - groups.GruvboxAquaBold) -Group.new("haskellForeignKeywords", groups.GruvboxGreen, groups.GruvboxGreen, - groups.GruvboxGreen) -Group.new("haskellKeyword", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("haskellFloat", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("haskellInfix", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("haskellQuote", groups.GruvboxGreenBold, groups.GruvboxGreenBold, - groups.GruvboxGreenBold) -Group.new("haskellShebang", groups.GruvboxYellowBold, groups.GruvboxYellowBold, - groups.GruvboxYellowBold) -Group.new("haskellLiquid", groups.GruvboxPurpleBold, groups.GruvboxPurpleBold, - groups.GruvboxPurpleBold) -Group.new("haskellQuasiQuoted", groups.GruvboxBlueBold, groups.GruvboxBlueBold, - groups.GruvboxBlueBold) -Group.new("haskellRecursiveDo", groups.GruvboxPurple, groups.GruvboxPurple, - groups.GruvboxPurple) -Group.new("haskellQuotedType", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("haskellPreProc", groups.GruvboxFg4, groups.GruvboxFg4, groups.GruvboxFg4) -Group.new("haskellTypeRoles", groups.GruvboxRedBold, groups.GruvboxRedBold, - groups.GruvboxRedBold) -Group.new("haskellTypeForall", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("haskellPatternKeyword", groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue) - --- JSON -Group.new("jsonKeyword", groups.GruvboxGreen, groups.GruvboxGreen, groups.GruvboxGreen) -Group.new("jsonQuote", groups.GruvboxGreen, groups.GruvboxGreen, groups.GruvboxGreen) -Group.new("jsonBraces", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("jsonString", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) - --- Rust -Group.new("rustSigil", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange) -Group.new("rustEscape", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("rustStringContinuation", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("rustEnum", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("rustStructure", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("rustModPathSep", groups.GruvboxFg2, groups.GruvboxFg2, groups.GruvboxFg2) -Group.new("rustCommentLineDoc", groups.Comment, groups.Comment, groups.Comment) -Group.new("rustDefault", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) - --- Ocaml -Group.new("ocamlOperator", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("ocamlKeyChar", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("ocamlArrow", groups.GruvboxOrange, groups.GruvboxOrange, groups.GruvboxOrange) -Group.new("ocamlInfixOpKeyword", groups.GruvboxRed, groups.GruvboxRed, groups.GruvboxRed) -Group.new("ocamlConstructor", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) - --- Plugin specific - --- vim-signify -Group.new("SignifySignAdd", groups.GruvboxGreenSign, groups.GruvboxGreenSign, - groups.GruvboxGreenSign) -Group.new("SignifySignChange", groups.GruvboxAquaSign, groups.GruvboxAquaSign, - groups.GruvboxAquaSign) -Group.new("SignifySignDelete", groups.GruvboxRedSign, groups.GruvboxRedSign, - groups.GruvboxRedSign) - --- vim-startify -Group.new("StartifyBracket", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("StartifyFile", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("StartifyNumber", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("StartifyPath", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("StartifySlash", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("StartifySection", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow) -Group.new("StartifySpecial", groups.GruvboxBg2, groups.GruvboxBg2, groups.GruvboxBg2) -Group.new("StartifyHeader", groups.GruvboxOrange, groups.GruvboxOrange, - groups.GruvboxOrange) -Group.new("StartifyFooter", groups.GruvboxBg2, groups.GruvboxBg2, groups.GruvboxBg2) - --- netrw -Group.new("netrwDir", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("netrwClassify", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("netrwLink", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("netrwSymLink", groups.GruvboxFg1, groups.GruvboxFg1, groups.GruvboxFg1) -Group.new("netrwExe", groups.GruvboxYellow, groups.GruvboxYellow, groups.GruvboxYellow) -Group.new("netrwComment", groups.GruvboxGray, groups.GruvboxGray, groups.GruvboxGray) -Group.new("netrwList", groups.GruvboxBlue, groups.GruvboxBlue, groups.GruvboxBlue) -Group.new("netrwHelpCmd", groups.GruvboxAqua, groups.GruvboxAqua, groups.GruvboxAqua) -Group.new("netrwCmdSep", groups.GruvboxFg3, groups.GruvboxFg3, groups.GruvboxFg3) -Group.new("netrwVersion", groups.GruvboxGreen, groups.GruvboxGreen, groups.GruvboxGreen) - --- LSP -Group.new("LspDiagnosticsDefaultError", groups.GruvboxRed, groups.GruvboxRed, - groups.GruvboxRed) -Group.new("LspDiagnosticsSignError", groups.GruvboxRedSign, groups.GruvboxRedSign, - groups.GruvboxRedSign) -Group.new("LspDiagnosticsUnderlineError", groups.GruvboxRedUnderline, - groups.GruvboxRedUnderline, groups.GruvboxRedUnderline) - -Group.new("LspDiagnosticsDefaultWarning", groups.GruvboxYellow, groups.GruvboxYellow, - groups.GruvboxYellow) -Group.new("LspDiagnosticsSignWarning", groups.GruvboxYellowSign, - groups.GruvboxYellowSign, groups.GruvboxYellowSign) -Group.new("LspDiagnosticsUnderlineWarning", groups.GruvboxYellowUnderline, - groups.GruvboxYellowUnderline, groups.GruvboxYellowUnderline) - -Group.new("LspDiagnosticsDefaultInformation", groups.GruvboxBlue, groups.GruvboxBlue, - groups.GruvboxBlue) -Group.new("LspDiagnosticsSignInformation", groups.GruvboxBlueSign, - groups.GruvboxBlueSign, groups.GruvboxBlueSign) -Group.new("LspDiagnosticsUnderlineInformation", groups.GruvboxBlueUnderline, - groups.GruvboxBlueUnderline, groups.GruvboxBlueUnderline) - -Group.new("LspDiagnosticsDefaultHint", groups.GruvboxAqua, groups.GruvboxAqua, - groups.GruvboxAqua) -Group.new("LspDiagnosticsSignHint", groups.GruvboxAquaSign, groups.GruvboxAquaSign, - groups.GruvboxAquaSign) -Group.new("LspDiagnosticsUnderlineHint", groups.GruvboxAquaUnderline, - groups.GruvboxAquaUnderline, groups.GruvboxAquaUnderline) - --- Galaxyline default providers -Group.new("GalaxyGitBranch", fg0, colors.faded_aqua, nil) -Group.new("GalaxyGitBranchSeparator", yellow, bg0, nil) -Group.new("GalaxyDiffAdd", groups.DiffAdd, nil, styles.bold) -Group.new("GalaxyDiffModified", groups.DiffChange, nil, styles.bold) -Group.new("GalaxyDiffRemove", groups.DiffDelete, nil, styles.bold) -Group.new("GalaxyScrollbar", green, bg0, nil) -Group.new("GalaxyLinePercent", fg0, bg0, nil) -Group.new("GalaxyFileTypeName", fg0, bg0, styles.bold) -Group.new("GalaxyFileName", blue, bg0, styles.bold) -Group.new("GalaxyFileIcon", groups.GalaxyFileName, groups.GalaxyFileName, - groups.GalaxyFileName) -Group.new("GalaxyFileSize", groups.GalaxyFileName, groups.GalaxyFileName, - groups.GalaxyFileName) -Group.new("GalaxyFileEncode", groups.GalaxyFileName, groups.GalaxyFileName, - groups.GalaxyFileName) -Group.new("GalaxyFileFormat", groups.GalaxyFileName, groups.GalaxyFileName, - groups.GalaxyFileName) -Group.new("GalaxyDiagnosticError", groups.LspDiagnosticsDefaultError, - groups.LspDiagnosticsDefaultError, groups.LspDiagnosticsDefaultError) -Group.new("GalaxyDiagnosticWarn", groups.LspDiagnosticsDefaultWarning, - groups.LspDiagnosticsDefaultWarning, groups.LspDiagnosticsDefaultWarning) -Group.new("GalaxyDiagnosticHint", groups.LspDiagnosticsDefaultHint, - groups.LspDiagnosticsDefaultHint, groups.LspDiagnosticsDefaultHint) -Group.new("GalaxyDiagnosticInformation", groups.LspDiagnosticsDefaultInformation, - groups.LspDiagnosticsDefaultInformation, - groups.LspDiagnosticsDefaultInformation) - --- Treesitter -Group.new("TSNone", nil, nil, nil) -Group.new("TSStrong", nil, nil, styles.bold) -Group.new("TSUnderline", nil, nil, styles.underline) -Group.new("TSEmphasis", nil, nil, styles.italic) -Group.new("TSPunctDelimiter", groups.Delimiter, groups.Delimiter, groups.Delimiter) -Group.new("TSPunctBracket", groups.Delimiter, groups.Delimiter, groups.Delimiter) -Group.new("TSPunctSpecial", groups.Delimiter, groups.Delimiter, groups.Delimiter) -Group.new("TSConstant", groups.Constant, groups.Constant, groups.Constant) -Group.new("TSConstBuiltin", groups.Special, groups.Special, groups.Special) -Group.new("TSConstMacro", groups.Define, groups.Define, groups.Define) -Group.new("TSString", groups.String, groups.String, groups.String) -Group.new("TSStringRegex", groups.String, groups.String, groups.String) -Group.new("TSStringEscape", groups.SpecialChar, groups.SpecialChar, groups.SpecialChar) -Group.new("TSCharacter", groups.Character, groups.Character, groups.Character) -Group.new("TSNumber", groups.Number, groups.Number, groups.Number) -Group.new("TSBoolean", groups.Boolean, groups.Boolean, groups.Boolean) -Group.new("TSFloat", groups.Float, groups.Float, groups.Float) -Group.new("TSFunction", groups.Function, groups.Function, groups.Function) -Group.new("TSFuncBuiltin", groups.Special, groups.Special, groups.Special) -Group.new("TSFuncMacro", groups.Macro, groups.Macro, groups.Macro) -Group.new("TSParameter", groups.Identifier, groups.Identifier, groups.Identifier) -Group.new("TSParameterReference", groups.TSParameter, groups.TSParameter, - groups.TSParameter) -Group.new("TSMethod", groups.Function, groups.Function, groups.Function) -Group.new("TSField", groups.Identifier, groups.Identifier, groups.Identifier) -Group.new("TSProperty", groups.Identifier, groups.Identifier, groups.Identifier) -Group.new("TSConstructor", groups.Special, groups.Special, groups.Special) -Group.new("TSAnnotation", groups.PreProc, groups.PreProc, groups.PreProc) -Group.new("TSNamespace", groups.Include, groups.Include, groups.Include) -Group.new("TSConditional", groups.Conditional, groups.Conditional, groups.Conditional) -Group.new("TSRepeat", groups.Repeat, groups.Repeat, groups.Repeat, groups.Repeat) -Group.new("TSLabel", groups.Label, groups.Label, groups.Label) -Group.new("TSOperator", groups.Operator, groups.Operator, groups.Operator) -Group.new("TSKeyword", groups.Keyword, groups.Keyword, groups.Keyword) -Group.new("TSKeywordFunction", groups.Keyword, groups.Keyword, groups.Keyword) -Group.new("TSKeywordOperator", groups.TSOperator, groups.TSOperator, groups.TSOperator) -Group.new("TSException", groups.Exception, groups.Exception, groups.Exception) -Group.new("TSType", groups.Type, groups.Type, groups.Type) -Group.new("TSTypeBuiltin", groups.Type, groups.Type, groups.Type) -Group.new("TSInclude", groups.Include, groups.Include, groups.Include) -Group.new("TSVariableBuiltin", groups.Special, groups.Special, groups.Special) -Group.new("TSText", groups.TSNone, groups.TSNone, groups.TSNone) -Group.new("TSTitle", groups.Title, groups.Title, groups.Title) -Group.new("TSLiteral", groups.String, groups.String, groups.String) -Group.new("TSURI", groups.Underlined, groups.Underlined, groups.Underlined) -Group.new("TSTag", groups.Label, groups.Label, groups.Label) -Group.new("TSTagDelimiter", groups.Delimiter, groups.Delimiter, groups.Delimiter) diff --git a/lua/gruvbox/palette.lua b/lua/gruvbox/palette.lua deleted file mode 100644 index acd2677..0000000 --- a/lua/gruvbox/palette.lua +++ /dev/null @@ -1,41 +0,0 @@ --- gruvbox color palette -local palette = { - dark0_hard = "#1d2021", - dark0 = "#282828", - dark0_soft = "#32302f", - dark1 = "#3c3836", - dark2 = "#504945", - dark3 = "#665c54", - dark4 = "#7c6f64", - light0_hard = "#f9f5d7", - light0 = "#fbf1c7", - light0_soft = "#f2e5bc", - light1 = "#ebdbb2", - light2 = "#d5c4a1", - light3 = "#bdae93", - light4 = "#a89984", - bright_red = "#fb4934", - bright_green = "#b8bb26", - bright_yellow = "#fabd2f", - bright_blue = "#83a598", - bright_purple = "#d3869b", - bright_aqua = "#8ec07c", - bright_orange = "#fe8019", - neutral_red = "#cc241d", - neutral_green = "#98971a", - neutral_yellow = "#d79921", - neutral_blue = "#458588", - neutral_purple = "#b16286", - neutral_aqua = "#689d6a", - neutral_orange = "#d65d0e", - faded_red = "#9d0006", - faded_green = "#79740e", - faded_yellow = "#b57614", - faded_blue = "#076678", - faded_purple = "#8f3f71", - faded_aqua = "#427b58", - faded_orange = "#af3a03", - gray = "#928374", -} - -return palette diff --git a/lua/lush_template/gruvbox.lua b/lua/lush_template/gruvbox.lua new file mode 100644 index 0000000..f303b25 --- /dev/null +++ b/lua/lush_template/gruvbox.lua @@ -0,0 +1,396 @@ +local lush = require("lush") +local hsl = lush.hsl +-- gruvbox palette +local colors = { + dark0_hard = "#1d2021", + dark0 = "#282828", + dark0_soft = "#32302f", + dark1 = "#3c3836", + dark2 = "#504945", + dark3 = "#665c54", + dark4 = "#7c6f64", + light0_hard = "#f9f5d7", + light0 = "#fbf1c7", + light0_soft = "#f2e5bc", + light1 = "#ebdbb2", + light2 = "#d5c4a1", + light3 = "#bdae93", + light4 = "#a89984", + bright_red = "#fb4934", + bright_green = "#b8bb26", + bright_yellow = "#fabd2f", + bright_blue = "#83a598", + bright_purple = "#d3869b", + bright_aqua = "#8ec07c", + bright_orange = "#fe8019", + neutral_red = "#cc241d", + neutral_green = "#98971a", + neutral_yellow = "#d79921", + neutral_blue = "#458588", + neutral_purple = "#b16286", + neutral_aqua = "#689d6a", + neutral_orange = "#d65d0e", + faded_red = "#9d0006", + faded_green = "#79740e", + faded_yellow = "#b57614", + faded_blue = "#076678", + faded_purple = "#8f3f71", + faded_aqua = "#427b58", + faded_orange = "#af3a03", + gray = "#928374", +} +-- options (dark mode by default) +local bg0 = colors.dark0 +local bg1 = colors.dark1 +local bg2 = colors.dark2 +local bg3 = colors.dark3 +local bg4 = colors.dark4 + +local fg0 = colors.light0 +local fg1 = colors.light1 +local fg2 = colors.light2 +local fg3 = colors.light3 +local fg4 = colors.light4 + +local red = colors.bright_red +local green = colors.bright_green +local yellow = colors.bright_yellow +local blue = colors.bright_blue +local purple = colors.bright_purple +local aqua = colors.bright_aqua +local orange = colors.bright_orange +local sign_column = bg1 +local gray = colors.gray + +-- global settings +local settings = { + contrast_dark = "medium", + contrart_light = "medium", + bold = true, + italic = true, + undercurl = true, + underline = true, + improved_strings = false, + improved_warnings = false, + invert_signs = false, + invert_selection = true, + invert_tabline = false, + italicize_comments = true, + italicize_strings = false, +} + +local styles = { + italic = "italic", + inverse = "inverse", + bold = "bold", + undercurl = "undercurl", + underline = "underline", +} + +-- setting default values +for k, val in pairs(settings) do + local key = "gruvbox_" .. k + if vim.g[key] == nil then + vim.g[key] = val + end +end + +-- handle light/dark contrast settings +local bg = vim.o.background +local contrast = vim.g["gruvbox_contrast_" .. bg] +if contrast == "hard" then + bg0 = colors[bg .. "0_hard"] +elseif contrast == "soft" then + bg0 = colors[bg .. "0_soft"] +end + +-- swap colors if light mode +if bg == "light" then + bg0 = colors.light0 + bg1 = colors.light1 + bg2 = colors.light2 + bg3 = colors.light3 + bg4 = colors.light4 + fg0 = colors.dark0 + fg1 = colors.dark1 + fg2 = colors.dark2 + fg3 = colors.dark3 + fg4 = colors.dark4 + red = colors.faded_red + green = colors.faded_green + yellow = colors.faded_yellow + blue = colors.faded_blue + purple = colors.faded_purple + aqua = colors.faded_aqua + orange = colors.faded_orange +end + +local hls_cursor = orange +if vim.g.gruvbox_hls_cursor ~= nil then + hls_cursor = colors[vim.g.gruvbox_hls_cursor] +end + +local hls_highlight = yellow +if vim.g.gruvbox_hls_cursor ~= nil then + hls_cursor = colors[vim.g.gruvbox_hls_highlight] +end + +local number_column +if vim.g.gruvbox_number_column ~= nil then + number_column = hsl(colors[vim.g.gruvbox_number_column]) +end + +local color_column = bg1 +if vim.g.gruvbox_color_column ~= nil then + color_column = colors[vim.g.gruvbox_color_column] +end + +local vert_split = bg0 +if vim.g.gruvbox_vert_split ~= nil then + vert_split = colors[vim.g.gruvbox_vert_split] +end + +local invert_signs +if vim.g.gruvbox_invert_signs then + invert_signs = styles.inverse +end + +local invert_selection = styles.inverse +if not vim.g.gruvbox_invert_selection then + invert_selection = nil +end + +local invert_tabline +if vim.g.gruvbox_invert_tabline then + invert_tabline = styles.inverse +end + +local tabline_sel = green +if vim.g.gruvbox_tabline_sel then + tabline_sel = colors[vim.g.gruvbox_tabline_sel] +end + +local italic_comments = settings.italic +if not vim.g.gruvbox_italicize_comments then + italic_comments = nil +end + +local italic_strings +if vim.g.gruvbox_italicize_strings then + italic_strings = styles.italic +end + +local special = {fg = hsl(orange), bg = hsl(bg1), gui = italic_strings} +local special_string = {fg = hsl(fg1), bg = hsl(bg1), italic_strings} +if not vim.g.gruvbox_improved_strings then + special = {fg = hsl(orange)} + special_string = {fg = hsl(green), gui = italic_strings} +end + +local theme = lush(function() + return { + -- EndOfBuffer { }, + -- TermCursor { }, + -- TermCursorNC { }, + -- Substitute { }, + -- MsgArea { }, + -- MsgSeparator { }, + -- Whitespace { }, + -- Base groups + ColorColumn {bg = hsl(bg1)}, + Conceal {bg = hsl(blue)}, + Cursor {gui = styles.inverse}, + lCursor {Cursor}, + CursorIM {Cursor}, + CursorColumn {bg = bg1}, + CursorLine {CursorColumn}, + Directory {fg = hsl(green), gui = styles.bold}, + DiffAdd {fg = hsl(green), bg = hsl(bg1), gui = invert_signs}, + DiffChange {fg = hsl(aqua), bg = hsl(bg1), gui = invert_signs}, + DiffDelete {fg = hsl(red), bg = hsl(bg1), gui = invert_signs}, + DiffText {fg = hsl(yellow), bg = hsl(bg1), gui = invert_signs}, + ErrorMsg {fg = hsl(bg0), bg = hsl(red), gui = styles.bold}, + VertSplit {fg = hsl(bg3), bgb = hsl(vert_split)}, + Folded {fg = hsl(gray), bg = hsl(bg1), gui = styles.italic}, + FoldColumn {fg = hsl(gray), bg = hsl(bg1)}, + SignColumn {bg = hsl(sign_column)}, + IncSearch {fg = hsl(hls_cursor), bg = hsl(bg0), gui = styles.inverse}, + LineNr {fg = hsl(bg4), bg = number_column}, + CursorLineNr {fg = hsl(yellow), bg = hsl(bg1)}, + MatchParen {bg = hsl(bg3), gui = styles.bold}, + ModeMsg {fg = hsl(yellow), gui = styles.bold}, + MoreMsg {fg = hsl(yellow), gui = styles.bold}, + NonText {fg = hsl(bg2)}, + Normal {fg = hsl(fg0), bg = hsl(bg0)}, + NormalFloat {Normal}, + NormalNC {Normal}, + Pmenu {fg = hsl(fg1), bg = hsl(bg2)}, + PmenuSel {fg = hsl(bg2), bg = hsl(blue), gui = styles.bold}, + PmenuSbar {bg = hsl(bg2)}, + PmenuThumb {bg = hsl(bg4)}, + Question {fg = hsl(orange), gui = styles.bold}, + QuickFixLine {fg = hsl(fg0), bg = hsl(yellow), gui = styles.bold}, + Search {fg = hsl(hls_highlight), bg = hsl(bg0), gui = styles.inverse}, + SpecialKey {fg = hsl(fg4)}, + SpellRare {gui = styles.undercurl, sep = hsl(purple)}, + SpellBad {fg = hsl(red), gui = styles.underline}, + StatusLine {fg = hsl(bg2), bg = hsl(fg1), gui = styles.inverse}, + StatusLineNC {fg = hsl(bg1), bg = hsl(fg4), gui = styles.inverse}, + TabLine {fg = hsl(bg4), bg = hsl(bg1), gui = invert_tabline}, + TabLineFill {fg = hsl(bg4), bg = hsl(bg1), gui = invert_tabline}, + TabLineSel {fg = hsl(tabline_sel), bg = hsl(bg1), gui = invert_tabline}, + Title {fg = hsl(green), gui = styles.bold}, + Visual {bg = hsl(bg3), gui = invert_selection}, + VisualNOS {bg = hsl(bg3), gui = invert_selection}, + WarningMsg {fg = hsl(red), gui = styles.bold}, + WildMenu {fg = hsl(blue), bg = hsl(bg2), gui = styles.bold}, + Constant {fg = hsl(purple)}, + String {unpack(special_string)}, + Character {fg = hsl(purple)}, + Number {Character}, + Boolean {Character}, + Float {Character}, + Identifier {fg = hsl(blue)}, + Function {fg = hsl(green), gui = styles.bold}, + Statement {fg = hsl(red)}, + Conditional {fg = hsl(red)}, + Repeat {fg = hsl(red)}, + Label {fg = hsl(red)}, + Keyword {fg = hsl(red)}, + Exception {fg = hsl(red)}, + Operator {fg = hsl(fg1)}, + PreProc {fg = hsl(aqua)}, + Include {fg = hsl(aqua)}, + Define {fg = hsl(aqua)}, + Macro {fg = hsl(aqua)}, + PreCondit {fg = hsl(aqua)}, + Type {fg = hsl(yellow)}, + StorageClass {fg = hsl(orange)}, + Structure {fg = hsl(aqua)}, + Typedef {fg = hsl(yellow)}, + Special {unpack(special)}, + SpecialChar {fg = hsl(red)}, + Tag {fg = hsl(aqua), gui = styles.bold}, + Delimiter {fg = hsl(fg0)}, + SpecialComment {fg = hsl(gray), gui = styles.italic}, + Debug {fg = hsl(red)}, + Underlined {gui = styles.underline}, + Bold {gui = styles.bold}, + Italic {gui = styles.italic}, + Ignore {}, + Error {fg = hsl(red), gui = styles.bold .. "," .. styles.underline}, -- TODO: check if we have some abstraction to merge two styles + Todo {fg = hsl(fg0), gui = styles.bold .. "," .. styles.italic}, + + -- LSP + LspDiagnosticsError {Error}, + LspDiagnosticsErrorSign {fg = hsl(red), bg = hsl(sign_column), gui = invert_signs}, + LspDiagnosticsErrorFloating {LspDiagnosticsError}, + LspDiagnosticsWarning {fg = hsl(yellow)}, + LspDiagnosticsWarningSign { + LspDiagnosticsWarning, + bg = hsl(sign_column), + gui = styles.undercurl, + sp = hsl(yellow), + }, + LspDiagnosticsWarningFloating {LspDiagnosticsWarning}, + LspDiagnosticsInformation {fg = hsl(blue)}, + LspDiagnosticsInformationSign { + LspDiagnosticsInformation, + bg = hsl(sign_column), + gui = invert_signs, + }, + LspDiagnosticsInformationFloating {LspDiagnosticsInformation}, + LspDiagnosticsHint {fg = hsl(aqua)}, + LspDiagnosticsHintSign { + LspDiagnosticsHint, + bg = hsl(sign_column), + gui = invert_signs, + }, + LspDiagnosticsHintFloating {LspDiagnosticsHint}, + + -- Treesitter + TSNone {}, + TSError {Error}, + TSPunctDelimiter {Delimiter}, + TSPunctBracket {Delimiter}, + TSPunctSpecial {Delimiter}, + TSConstant {Constant}, + TSConstBuiltin {Special}, + TSConstMacro {Define}, + TSString {String}, + TSStringRegex {String}, + TSStringEscape {SpecialChar}, + TSCharacter {Character}, + TSNumber {Number}, + TSBoolean {Boolean}, + TSFloat {Float}, + TSFunction {Function}, + TSFuncBuiltin {Special}, + TSFuncMacro {Macro}, + TSParameter {Identifier}, + TSParameterReference {TSParameter}, + TSMethod {Function}, + TSField {Identifier}, + TSProperty {Identifier}, + TSConstructor {Special}, + TSConditional {Conditional}, + TSRepeat {Repeat}, + TSLabel {Label}, + TSOperator {Operator}, + TSKeyword {Keyword}, + TSKeywordFunction {Keyword}, + TSException {Exception}, + TSType {Type}, + TSTypeBuiltin {Type}, + TSNamespace {Include}, + TSInclude {Include}, + TSAnnotation {PreProc}, + TSText {TSNone}, + TSStrong {gui = styles.bold}, + TSEmphasis {gui = styles.italic}, + TSUnderline {gui = styles.underline}, + TSTitle {Title}, + TSLiteral {String}, + TSURI {Underlined}, + TSVariable {Special}, + TSVariableBuiltin {Special}, + + -- netrw + netrwDir {fg = hsl(aqua)}, + netrwClassify {netrwDir}, + netrwLink {fg = hsl(gray)}, + netrwSymLink {fg = hsl(fg1)}, + netrwExe {fg = hsl(yellow)}, + netrwComment {netrwLink}, + netrwList {fg = hsl(blue)}, + netrwHelpCmd {netrwDir}, + netrwCmdSep {fg = hsl(fg3)}, + netrwVersion {fg = hsl(green)}, + + -- vim-startify + StartifyBracket {fg = hsl(fg3)}, + StartifyFile {fg = hsl(fg1)}, + StartifyNumber {fg = hsl(blue)}, + StartifyPath {fg = hsl(gray)}, + StartifySlash {StartifyPath}, + StartifySection {fg = hsl(yellow)}, + StartifySpecial {fg = hsl(bg2)}, + StartifyHeader {fg = hsl(orange)}, + StartifyFooter {fg = hsl(bg2)}, + + -- vim-signify + SignifySignAdd {fg = hsl(green), bg = hsl(sign_column), gui = invert_signs}, + SignifySignChange {fg = hsl(aqua), bg = hsl(sign_column), gui = invert_signs}, + SignifySignDelete {fg = hsl(red), bg = hsl(sign_column), gui = invert_signs}, + + -- lua + luaIn {fg = hsl(red)}, + luaFunction {fg = hsl(aqua)}, + luaTable {fg = hsl(orange)}, + + } +end) + +return theme + +-- vi:nowrap |
