From 6a0ccb52a4bb1256b50399bcd977920f63fefeec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammad=20Ahmad=20=F0=9F=8C=8C?= Date: Tue, 7 Dec 2021 11:06:14 +0200 Subject: refactor(gruvbox): remove lush dependency refactor(gruvbox): remove filetypes highlights for treesitter perf(gruvbox): reduce load time to ~5ms --- lua/gruvbox/base.lua | 374 ++++++++++----------- lua/gruvbox/colors.lua | 74 ++-- lua/gruvbox/init.lua | 19 +- lua/gruvbox/languages.lua | 672 ++++++++----------------------------- lua/gruvbox/plugins/highlights.lua | 539 +++++++++++++++-------------- lua/gruvbox/plugins/lightline.lua | 122 +++---- lua/gruvbox/settings.lua | 82 ++--- lua/gruvbox/utils.lua | 68 +++- 8 files changed, 796 insertions(+), 1154 deletions(-) (limited to 'lua') diff --git a/lua/gruvbox/base.lua b/lua/gruvbox/base.lua index cc4e0f8..599f394 100644 --- a/lua/gruvbox/base.lua +++ b/lua/gruvbox/base.lua @@ -1,7 +1,6 @@ -local lush = require("lush") -local colors = require("gruvbox.colors") +local colors = require "gruvbox.colors" local styles = require("gruvbox.settings").styles -local utils = require("gruvbox.utils") +local utils = require "gruvbox.utils" -- options (dark mode by default) local bg0 = colors.dark0 @@ -27,37 +26,37 @@ local gray = colors.gray local bg = vim.o.background if bg == nil then - bg = "dark" - vim.o.background = bg + bg = "dark" + vim.o.background = bg 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 + 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 -- handle light/dark contrast settings local contrast = vim.g["gruvbox_contrast_" .. bg] if contrast == "hard" then - bg0 = colors[bg .. "0_hard"] + bg0 = colors[bg .. "0_hard"] elseif contrast == "soft" then - bg0 = colors[bg .. "0_soft"] + bg0 = colors[bg .. "0_soft"] end -- extending colors table with basic names for easy customization in g:gruvbox_* options @@ -80,8 +79,7 @@ colors.aqua = aqua colors.orange = orange local hls_cursor = utils.get_color_from_var(vim.g.gruvbox_hls_cursor, orange, colors) -local hls_highlight = utils.get_color_from_var(vim.g.gruvbox_hls_highlight, yellow, - colors) +local hls_highlight = utils.get_color_from_var(vim.g.gruvbox_hls_highlight, yellow, colors) local number_column = utils.get_color_from_var(vim.g.gruvbox_number_column, nil, colors) local color_column = utils.get_color_from_var(vim.g.gruvbox_color_column, bg1, colors) local vert_split = utils.get_color_from_var(vim.g.gruvbox_vert_split, bg0, colors) @@ -97,184 +95,184 @@ local special_string_bg = bg1 local special_string_gui = styles.italic_strings if not utils.tobool(vim.g.gruvbox_improved_strings) then - improved_strings_fg = green - improved_strings_bg = nil - special_string_bg = nil - special_string_gui = nil + improved_strings_fg = green + improved_strings_bg = nil + special_string_bg = nil + special_string_gui = nil end -- neovim terminal mode colors -vim.g.terminal_color_0 = bg0.hex -vim.g.terminal_color_8 = gray.hex -vim.g.terminal_color_1 = colors.neutral_red.hex -vim.g.terminal_color_9 = red.hex -vim.g.terminal_color_2 = colors.neutral_green.hex -vim.g.terminal_color_10 = green.hex -vim.g.terminal_color_3 = colors.neutral_yellow.hex -vim.g.terminal_color_11 = yellow.hex -vim.g.terminal_color_4 = colors.neutral_blue.hex -vim.g.terminal_color_12 = blue.hex -vim.g.terminal_color_5 = colors.neutral_purple.hex -vim.g.terminal_color_13 = purple.hex -vim.g.terminal_color_6 = colors.neutral_aqua.hex -vim.g.terminal_color_14 = aqua.hex -vim.g.terminal_color_7 = fg4.hex -vim.g.terminal_color_15 = fg1.hex +vim.g.terminal_color_0 = bg0 +vim.g.terminal_color_8 = gray +vim.g.terminal_color_1 = colors.neutral_red +vim.g.terminal_color_9 = red +vim.g.terminal_color_2 = colors.neutral_green +vim.g.terminal_color_10 = green +vim.g.terminal_color_3 = colors.neutral_yellow +vim.g.terminal_color_11 = yellow +vim.g.terminal_color_4 = colors.neutral_blue +vim.g.terminal_color_12 = blue +vim.g.terminal_color_5 = colors.neutral_purple +vim.g.terminal_color_13 = purple +vim.g.terminal_color_6 = colors.neutral_aqua +vim.g.terminal_color_14 = aqua +vim.g.terminal_color_7 = fg4 +vim.g.terminal_color_15 = fg1 vim.g.colors_name = "gruvbox" local table_concat = table.concat -local base_group = lush(function() - return { +local base_group = { -- Base groups - GruvboxFg0 {fg = fg0}, - GruvboxFg1 {fg = fg1}, - GruvboxFg2 {fg = fg2}, - GruvboxFg3 {fg = fg3}, - GruvboxFg4 {fg = fg4}, - GruvboxGray {fg = gray}, - GruvboxBg0 {fg = bg0}, - GruvboxBg1 {fg = bg1}, - GruvboxBg2 {fg = bg2}, - GruvboxBg3 {fg = bg3}, - GruvboxBg4 {fg = bg4}, + GruvboxFg0 = { fg = fg0 }, + GruvboxFg1 = { fg = fg1 }, + GruvboxFg2 = { fg = fg2 }, + GruvboxFg3 = { fg = fg3 }, + GruvboxFg4 = { fg = fg4 }, + GruvboxGray = { fg = gray }, + GruvboxBg0 = { fg = bg0 }, + GruvboxBg1 = { fg = bg1 }, + GruvboxBg2 = { fg = bg2 }, + GruvboxBg3 = { fg = bg3 }, + GruvboxBg4 = { fg = bg4 }, - GruvboxRed {fg = red}, - GruvboxRedBold {fg = red, gui = styles.bold}, - GruvboxGreen {fg = green}, - GruvboxGreenBold {fg = green, gui = styles.bold}, - GruvboxYellow {fg = yellow}, - GruvboxYellowBold {fg = yellow, gui = styles.bold}, - GruvboxBlue {fg = blue}, - GruvboxBlueBold {fg = blue, gui = styles.bold}, - GruvboxPurple {fg = purple}, - GruvboxPurpleBold {fg = purple, gui = styles.bold}, - GruvboxAqua {fg = aqua}, - GruvboxAquaBold {fg = aqua, gui = styles.bold}, - GruvboxOrange {fg = orange}, - GruvboxOrangeBold {fg = orange, gui = styles.bold}, + GruvboxRed = { fg = red }, + GruvboxRedBold = { fg = red, gui = styles.bold }, + GruvboxGreen = { fg = green }, + GruvboxGreenBold = { fg = green, gui = styles.bold }, + GruvboxYellow = { fg = yellow }, + GruvboxYellowBold = { fg = yellow, gui = styles.bold }, + GruvboxBlue = { fg = blue }, + GruvboxBlueBold = { fg = blue, gui = styles.bold }, + GruvboxPurple = { fg = purple }, + GruvboxPurpleBold = { fg = purple, gui = styles.bold }, + GruvboxAqua = { fg = aqua }, + GruvboxAquaBold = { fg = aqua, gui = styles.bold }, + GruvboxOrange = { fg = orange }, + GruvboxOrangeBold = { fg = orange, gui = styles.bold }, - GruvboxRedSign {fg = red, bg = sign_column, gui = styles.invert_signs}, - GruvboxGreenSign {fg = green, bg = sign_column, gui = styles.invert_signs}, - GruvboxYellowSign {fg = yellow, bg = sign_column, gui = styles.invert_signs}, - GruvboxBlueSign {fg = blue, bg = sign_column, gui = styles.invert_signs}, - GruvboxPurpleSign {fg = purple, bg = sign_column, gui = styles.invert_signs}, - GruvboxAquaSign {fg = aqua, bg = sign_column, gui = styles.invert_signs}, - GruvboxOrangeSign {fg = orange, bg = sign_column, gui = styles.invert_signs}, + GruvboxRedSign = { fg = red, bg = sign_column, gui = styles.invert_signs }, + GruvboxGreenSign = { fg = green, bg = sign_column, gui = styles.invert_signs }, + GruvboxYellowSign = { fg = yellow, bg = sign_column, gui = styles.invert_signs }, + GruvboxBlueSign = { fg = blue, bg = sign_column, gui = styles.invert_signs }, + GruvboxPurpleSign = { fg = purple, bg = sign_column, gui = styles.invert_signs }, + GruvboxAquaSign = { fg = aqua, bg = sign_column, gui = styles.invert_signs }, + GruvboxOrangeSign = { fg = orange, bg = sign_column, gui = styles.invert_signs }, - GruvboxRedUnderline {gui = styles.undercurl, sp = red}, - GruvboxGreenUnderline {gui = styles.undercurl, sp = green}, - GruvboxYellowUnderline {gui = styles.undercurl, sp = yellow}, - GruvboxBlueUnderline {gui = styles.undercurl, sp = blue}, - GruvboxPurpleUnderline {gui = styles.undercurl, sp = purple}, - GruvboxAquaUnderline {gui = styles.undercurl, sp = aqua}, - GruvboxOrangeUnderline {gui = styles.undercurl, sp = orange}, + GruvboxRedUnderline = { gui = styles.undercurl, sp = red }, + GruvboxGreenUnderline = { gui = styles.undercurl, sp = green }, + GruvboxYellowUnderline = { gui = styles.undercurl, sp = yellow }, + GruvboxBlueUnderline = { gui = styles.undercurl, sp = blue }, + GruvboxPurpleUnderline = { gui = styles.undercurl, sp = purple }, + GruvboxAquaUnderline = { gui = styles.undercurl, sp = aqua }, + GruvboxOrangeUnderline = { gui = styles.undercurl, sp = orange }, - ColorColumn {bg = color_column}, - Conceal {fg = blue}, - Cursor {gui = styles.inverse}, - lCursor {Cursor}, - iCursor {Cursor}, - vCursor {Cursor}, - CursorIM {Cursor}, - CursorLine {bg = bg1}, - CursorColumn {CursorLine}, - Directory {GruvboxGreenBold}, - DiffAdd {fg = green, bg = bg0, gui = styles.inverse}, - DiffChange {fg = aqua, bg = bg0, gui = styles.inverse}, - DiffDelete {fg = red, bg = bg0, gui = styles.inverse}, - DiffText {fg = yellow, bg = bg0, gui = styles.inverse}, - ErrorMsg {fg = bg0, bg = red, gui = styles.bold}, - VertSplit {fg = bg3, bg = vert_split}, - Folded {fg = gray, bg = bg1, gui = styles.italic_strings}, - FoldColumn {fg = gray, bg = bg1}, - SignColumn {bg = sign_column}, - IncSearch {fg = hls_cursor, bg = bg0, gui = styles.inverse}, - LineNr {fg = bg4, bg = number_column}, - CursorLineNr {fg = yellow, bg = bg1}, - MatchParen {bg = bg3, gui = styles.bold}, - ModeMsg {GruvboxYellowBold}, - MoreMsg {GruvboxYellowBold}, - NonText {GruvboxBg2}, - Normal {fg = fg1, bg = bg0}, - Pmenu {fg = fg1, bg = bg2}, - PmenuSel {fg = bg2, bg = fg4, gui = styles.bold}, - PmenuSbar {bg = bg2}, - PmenuThumb {bg = bg4}, - Question {GruvboxOrangeBold}, - QuickFixLine {fg = bg0, bg = yellow, gui = styles.bold}, - Search {fg = hls_highlight, bg = bg0, gui = styles.inverse}, - SpecialKey {GruvboxFg4}, - SpellRare {GruvboxPurpleUnderline}, - SpellBad {GruvboxRedUnderline}, - StatusLine {fg = bg2, bg = fg1, gui = styles.inverse}, - StatusLineNC {fg = bg1, bg = fg4, gui = styles.inverse}, - TabLineFill {fg = bg4, bg = bg1, gui = styles.invert_tabline}, - TabLine {fg = bg4, bg = bg1, gui = styles.invert_tabline}, - TabLineSel {fg = tabline_sel, bg = bg1, gui = styles.invert_tabline}, - Title {GruvboxGreenBold}, - Visual {bg = bg3, gui = styles.invert_selection}, - VisualNOS {Visual}, - WarningMsg {GruvboxRedBold}, - WildMenu {fg = blue, bg = bg2, gui = styles.bold}, - Constant {GruvboxPurple}, - Special {fg = special_string_fg, bg = special_string_bg, gui = special_string_gui}, - String { - fg = improved_strings_fg, - bg = improved_strings_bg, - gui = improved_strings_gui, + ColorColumn = { bg = color_column }, + Conceal = { fg = blue }, + Cursor = { gui = styles.inverse }, + lCursor = "Cursor", + iCursor = "Cursor", + vCursor = "Cursor", + CursorIM = "Cursor", + CursorLine = { bg = bg1 }, + CursorColumn = "CursorLine", + Directory = "GruvboxGreenBold", + DiffAdd = { fg = green, bg = bg0, gui = styles.inverse }, + DiffChange = { fg = aqua, bg = bg0, gui = styles.inverse }, + DiffDelete = { fg = red, bg = bg0, gui = styles.inverse }, + DiffText = { fg = yellow, bg = bg0, gui = styles.inverse }, + ErrorMsg = { fg = bg0, bg = red, gui = styles.bold }, + VertSplit = { fg = bg3, bg = vert_split }, + Folded = { fg = gray, bg = bg1, gui = styles.italic_strings }, + FoldColumn = { fg = gray, bg = bg1 }, + SignColumn = { bg = sign_column }, + IncSearch = { fg = hls_cursor, bg = bg0, gui = styles.inverse }, + LineNr = { fg = bg4, bg = number_column }, + CursorLineNr = { fg = yellow, bg = bg1 }, + MatchParen = { bg = bg3, gui = styles.bold }, + ModeMsg = "GruvboxYellowBold", + MoreMsg = "GruvboxYellowBold", + NonText = "GruvboxBg2", + Normal = { fg = fg1, bg = bg0 }, + Pmenu = { fg = fg1, bg = bg2 }, + PmenuSel = { fg = bg2, bg = fg4, gui = styles.bold }, + PmenuSbar = { bg = bg2 }, + PmenuThumb = { bg = bg4 }, + Question = "GruvboxOrangeBold", + QuickFixLine = { fg = bg0, bg = yellow, gui = styles.bold }, + Search = { fg = hls_highlight, bg = bg0, gui = styles.inverse }, + SpecialKey = "GruvboxFg4", + SpellRare = "GruvboxPurpleUnderline", + SpellBad = "GruvboxRedUnderline", + SpellLocal = "GruvboxAquaUnderline", + SpellCap = { fg = green, gui = table_concat({ styles.bold, styles.italic }, ",") }, + StatusLine = { fg = bg2, bg = fg1, gui = styles.inverse }, + StatusLineNC = { fg = bg1, bg = fg4, gui = styles.inverse }, + TabLineFill = { fg = bg4, bg = bg1, gui = styles.invert_tabline }, + TabLine = { fg = bg4, bg = bg1, gui = styles.invert_tabline }, + TabLineSel = { fg = tabline_sel, bg = bg1, gui = styles.invert_tabline }, + Title = "GruvboxGreenBold", + Visual = { bg = bg3, gui = styles.invert_selection }, + VisualNOS = "Visual", + WarningMsg = "GruvboxRedBold", + WildMenu = { fg = blue, bg = bg2, gui = styles.bold }, + Constant = "GruvboxPurple", + Special = { fg = special_string_fg, bg = special_string_bg, gui = special_string_gui }, + String = { + fg = improved_strings_fg, + bg = improved_strings_bg, + gui = improved_strings_gui, }, - Character {GruvboxPurple}, - Number {GruvboxPurple}, - Boolean {GruvboxPurple}, - Float {GruvboxPurple}, - Identifier {GruvboxBlue}, - Function {GruvboxGreenBold}, - Statement {GruvboxRed}, - Conditional {GruvboxRed}, - Repeat {GruvboxRed}, - Label {GruvboxRed}, - Exception {GruvboxRed}, - Keyword {GruvboxRed}, - Operator {GruvboxOrange}, - PreProc {GruvboxAqua}, - Include {GruvboxAqua}, - Define {GruvboxAqua}, - Macro {GruvboxAqua}, - PreCondit {GruvboxAqua}, - Type {GruvboxYellow}, - StorageClass {GruvboxOrange}, - Structure {GruvboxAqua}, - Typedef {GruvboxYellow}, - SpecialChar {GruvboxRed}, - Tag {GruvboxAquaBold}, - Delimiter {GruvboxFg3}, - Comment {fg = gray, gui = styles.italic_comments}, - Debug {GruvboxRed}, - Underlined {fg = blue, gui = styles.underline}, - Bold {gui = styles.bold}, - Italic {gui = styles.italic}, - Ignore {}, - Error {GruvboxRed, gui = table_concat({styles.bold, styles.underline}, ",")}, - Todo {fg = fg0, gui = table_concat({styles.bold, styles.italic_comments}, ",")}, - diffAdded {GruvboxGreen}, - diffRemoved {GruvboxRed}, - diffChanged {GruvboxAqua}, - diffFile {GruvboxOrange}, - diffNewFile {GruvboxYellow}, - diffLine {GruvboxBlue}, + Character = "GruvboxPurple", + Number = "GruvboxPurple", + Boolean = "GruvboxPurple", + Float = "GruvboxPurple", + Identifier = "GruvboxBlue", + Function = "GruvboxGreenBold", + Statement = "GruvboxRed", + Conditional = "GruvboxRed", + Repeat = "GruvboxRed", + Label = "GruvboxRed", + Exception = "GruvboxRed", + Keyword = "GruvboxRed", + Operator = "GruvboxOrange", + PreProc = "GruvboxAqua", + Include = "GruvboxAqua", + Define = "GruvboxAqua", + Macro = "GruvboxAqua", + PreCondit = "GruvboxAqua", + Type = "GruvboxYellow", + StorageClass = "GruvboxOrange", + Structure = "GruvboxAqua", + Typedef = "GruvboxYellow", + SpecialChar = "GruvboxRed", + Tag = "GruvboxAquaBold", + Delimiter = "GruvboxFg3", + Comment = { fg = gray, gui = styles.italic_comments }, + Debug = "GruvboxRed", + Underlined = { fg = blue, gui = styles.underline }, + Bold = { gui = styles.bold }, + Italic = { gui = styles.italic }, + Ignore = {}, + Error = { fg = red, gui = table_concat({ styles.bold, styles.underline }, ",") }, + Todo = { fg = fg0, gui = table_concat({ styles.bold, styles.italic_comments }, ",") }, + diffAdded = "GruvboxGreen", + diffRemoved = "GruvboxRed", + diffChanged = "GruvboxAqua", + diffFile = "GruvboxOrange", + diffNewFile = "GruvboxYellow", + diffLine = "GruvboxBlue", -- signature - SignatureMarkText {GruvboxBlueSign}, - SignatureMarkerText {GruvboxPurpleSign}, + SignatureMarkText = "GruvboxBlueSign", + SignatureMarkerText = "GruvboxPurpleSign", -- gitcommit - gitcommitSelectedFile {GruvboxGreen}, - gitcommitDiscardedFile {GruvboxRed}, + gitcommitSelectedFile = "GruvboxGreen", + gitcommitDiscardedFile = "GruvboxRed", -- checkhealth - healthError {fg = bg0, bg = red}, - healthSuccess {fg = bg0, bg = green}, - healthWarning {fg = bg0, bg = yellow}, - } -end) + healthError = { fg = bg0, bg = red }, + healthSuccess = { fg = bg0, bg = green }, + healthWarning = { fg = bg0, bg = yellow }, +} return base_group diff --git a/lua/gruvbox/colors.lua b/lua/gruvbox/colors.lua index e7f5775..c9c55a2 100644 --- a/lua/gruvbox/colors.lua +++ b/lua/gruvbox/colors.lua @@ -1,41 +1,39 @@ -local hsl = require("lush.hsl") - -- gruvbox palette return { - dark0_hard = hsl("#1d2021"), - dark0 = hsl("#282828"), - dark0_soft = hsl("#32302f"), - dark1 = hsl("#3c3836"), - dark2 = hsl("#504945"), - dark3 = hsl("#665c54"), - dark4 = hsl("#7c6f64"), - light0_hard = hsl("#f9f5d7"), - light0 = hsl("#fbf1c7"), - light0_soft = hsl("#f2e5bc"), - light1 = hsl("#ebdbb2"), - light2 = hsl("#d5c4a1"), - light3 = hsl("#bdae93"), - light4 = hsl("#a89984"), - bright_red = hsl("#fb4934"), - bright_green = hsl("#b8bb26"), - bright_yellow = hsl("#fabd2f"), - bright_blue = hsl("#83a598"), - bright_purple = hsl("#d3869b"), - bright_aqua = hsl("#8ec07c"), - bright_orange = hsl("#fe8019"), - neutral_red = hsl("#cc241d"), - neutral_green = hsl("#98971a"), - neutral_yellow = hsl("#d79921"), - neutral_blue = hsl("#458588"), - neutral_purple = hsl("#b16286"), - neutral_aqua = hsl("#689d6a"), - neutral_orange = hsl("#d65d0e"), - faded_red = hsl("#9d0006"), - faded_green = hsl("#79740e"), - faded_yellow = hsl("#b57614"), - faded_blue = hsl("#076678"), - faded_purple = hsl("#8f3f71"), - faded_aqua = hsl("#427b58"), - faded_orange = hsl("#af3a03"), - gray = hsl("#928374"), + 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", } diff --git a/lua/gruvbox/init.lua b/lua/gruvbox/init.lua index cb65fbf..e85cd3c 100644 --- a/lua/gruvbox/init.lua +++ b/lua/gruvbox/init.lua @@ -1,12 +1,17 @@ -local lush = require("lush") -local base = require("gruvbox.base") -local plugins = require("gruvbox.plugins.highlights") -local languages = require("gruvbox.languages") +local base = require "gruvbox.base" +local plugins = require "gruvbox.plugins.highlights" +local languages = require "gruvbox.languages" +local utils = require "gruvbox.utils" -local specs = {base, languages, plugins} -local spec = lush.merge(specs) +local specs = { base, languages, plugins } +local spec = utils.merge(specs) + +local M = {} +M.load = function() + utils.highlights(spec) +end -- checking if user has lightline and adding support require("gruvbox.plugins.lightline").start(spec) -return spec +return M diff --git a/lua/gruvbox/languages.lua b/lua/gruvbox/languages.lua index d1b90b7..20486b0 100644 --- a/lua/gruvbox/languages.lua +++ b/lua/gruvbox/languages.lua @@ -1,540 +1,144 @@ -- language specific higlights -local lush = require("lush") -local base = require("gruvbox.base") +local base = require "gruvbox.base" local styles = require("gruvbox.settings").styles -local table_concat = table.concat - --- golang -local golang = lush(function() - return { - goDirective {base.GruvboxAqua}, - goConstants {base.GruvboxPurple}, - goDeclaration {base.GruvboxRed}, - goDeclType {base.GruvboxBlue}, - goBuiltins {base.GruvboxOrange}, - } -end) - --- java -local java = lush(function() - return { - javaAnnotation {base.GruvboxBlue}, - javaDocTags {base.GruvboxAqua}, - javaCommentTitle {base.Comment}, - javaParen {base.GruvboxFg3}, - javaParen1 {base.GruvboxFg3}, - javaParen2 {base.GruvboxFg3}, - javaParen3 {base.GruvboxFg3}, - javaParen4 {base.GruvboxFg3}, - javaParen5 {base.GruvboxFg3}, - javaOperator {base.GruvboxOrange}, - } -end) +local utils = require "gruvbox.utils" -- xml -local xml = lush(function() - return { - xmlTag {base.GruvboxAquaBold}, - xmlEndTag {base.GruvboxAquaBold}, - xmlTagName {base.GruvboxBlue}, - xmlEqual {base.GruvboxBlue}, - docbkKeyword {base.GruvboxAquaBold}, - xmlDocTypeDecl {base.GruvboxGray}, - xmlDocTypeKeyword {base.GruvboxPurple}, - xmlCdataStart {base.GruvboxGray}, - xmlCdataCdata {base.GruvboxPurple}, - dtdFunction {base.GruvboxGray}, - dtdTagName {base.GruvboxPurple}, - xmlAttrib {base.GruvboxOrange}, - xmlProcessingDelim {base.GruvboxGray}, - dtdParamEntityPunct {base.GruvboxGray}, - dtdParamEntityDPunct {base.GruvboxGray}, - xmlAttribPunct {base.GruvboxGray}, - xmlEntity {base.GruvboxRed}, - xmlEntityPunct {base.GruvboxRed}, - } -end) - -local viml = lush(function() - return { - vimNotation {base.GruvboxOrange}, - vimBracket {base.GruvboxOrange}, - vimMapModKey {base.GruvboxOrange}, - vimFuncSID {base.GruvboxFg3}, - vimSetSep {base.GruvboxFg3}, - vimSep {base.GruvboxFg3}, - vimContinue {base.GruvboxFg3}, - } -end) - -local c = lush(function() - return { - cOperator {base.GruvboxPurple}, - cppOperator {base.GruvboxPurple}, - cStructure {base.GruvboxOrange}, - - } -end) - -local python = lush(function() - return { - pythonBuiltin {base.GruvboxOrange}, - pythonBuiltinObj {base.GruvboxOrange}, - pythonBuiltinFunc {base.GruvboxOrange}, - pythonFunction {base.GruvboxAqua}, - pythonDecorator {base.GruvboxRed}, - pythonInclude {base.GruvboxBlue}, - pythonImport {base.GruvboxBlue}, - pythonRun {base.GruvboxBlue}, - pythonCoding {base.GruvboxBlue}, - pythonOperator {base.GruvboxRed}, - pythonException {base.GruvboxRed}, - pythonExceptions {base.GruvboxPurple}, - pythonBoolean {base.GruvboxPurple}, - pythonDot {base.GruvboxFg3}, - pythonConditional {base.GruvboxRed}, - pythonRepeat {base.GruvboxRed}, - pythonDottedName {base.GruvboxGreenBold}, - } -end) - -local clojure = lush(function() - return { - clojureKeyword {base.GruvboxBlue}, - clojureCond {base.GruvboxOrange}, - clojureSpecial {base.GruvboxOrange}, - clojureDefine {base.GruvboxOrange}, - clojureFunc {base.GruvboxYellow}, - clojureRepeat {base.GruvboxYellow}, - clojureCharacter {base.GruvboxAqua}, - clojureStringEscape {base.GruvboxAqua}, - clojureException {base.GruvboxRed}, - clojureRegexp {base.GruvboxAqua}, - clojureRegexpEscape {base.GruvboxAqua}, - clojureParen {base.GruvboxFg3}, - clojureAnonArg {base.GruvboxYellow}, - clojureVariable {base.GruvboxBlue}, - clojureMacro {base.GruvboxOrange}, - clojureMeta {base.GruvboxYellow}, - clojureDeref {base.GruvboxYellow}, - clojureQuote {base.GruvboxYellow}, - clojureUnquote {base.GruvboxYellow}, - clojureRegexpCharClass {fg = base.GruvboxFg3.fg.hex, gui = styles.bold}, - clojureRegexpMod {clojureRegexpCharClass}, - clojureRegexpQuantifier {clojureRegexpCharClass}, - } -end) - -local html = lush(function() - return { - htmlTag {base.GruvboxAquaBold}, - htmlEndTag {base.GruvboxAquaBold}, - htmlTagName {base.GruvboxBlue}, - htmlArg {base.GruvboxOrange}, - htmlScriptTag {base.GruvboxPurple}, - htmlTagN {base.GruvboxFg1}, - htmlSpecialTagName {base.GruvboxBlue}, - htmlSpecialChar {base.GruvboxRed}, - htmlLink {fg = base.GruvboxFg4.fg.hex, gui = styles.underline}, - htmlBold {fg = base.GruvboxFg1.fg.hex, gui = styles.bold}, - htmlBoldUnderline { - fg = base.GruvboxFg1.fg.hex, - gui = table_concat({styles.bold, styles.underline}, ","), - }, - htmlBoldItalic { - fg = base.GruvboxFg1.fg.hex, - gui = table_concat({styles.bold, styles.italic_strings}, ","), - }, - htmlBoldUnderlineItalic { - fg = base.GruvboxFg1.fg.hex, - gui = table_concat({styles.bold, styles.italic_strings}, ","), - }, - htmlItalic {fg = base.GruvboxFg1.fg.hex, gui = styles.italic_strings}, - } -end) - -local css = lush(function() - return { - cssBraces {base.GruvboxBlue}, - cssFunctionName {base.GruvboxYellow}, - cssIdentifier {base.GruvboxOrange}, - cssClassName {base.GruvboxGreen}, - cssColor {base.GruvboxBlue}, - cssSelectorOp {base.GruvboxBlue}, - cssSelectorOp2 {base.GruvboxBlue}, - cssImportant {base.GruvboxGreen}, - cssVendor {base.GruvboxFg1}, - cssTextProp {base.GruvboxAqua}, - cssAnimationProp {base.GruvboxAqua}, - cssUIProp {base.GruvboxYellow}, - cssTransformProp {base.GruvboxAqua}, - cssTransitionProp {base.GruvboxAqua}, - cssPrintProp {base.GruvboxAqua}, - cssPositioningProp {base.GruvboxYellow}, - cssBoxProp {base.GruvboxAqua}, - cssFontDescriptorProp {base.GruvboxAqua}, - cssFlexibleBoxProp {base.GruvboxAqua}, - cssBorderOutlineProp {base.GruvboxAqua}, - cssBackgroundProp {base.GruvboxAqua}, - cssMarginProp {base.GruvboxAqua}, - cssListProp {base.GruvboxAqua}, - cssTableProp {base.GruvboxAqua}, - cssFontProp {base.GruvboxAqua}, - cssPaddingProp {base.GruvboxAqua}, - cssDimensionProp {base.GruvboxAqua}, - cssRenderProp {base.GruvboxAqua}, - cssColorProp {base.GruvboxAqua}, - cssGeneratedContentProp {base.GruvboxAqua}, - } -end) - -local js = lush(function() - return { - javaScriptBraces {base.GruvboxFg1}, - javaScriptFunction {base.GruvboxAqua}, - javaScriptIdentifier {base.GruvboxRed}, - javaScriptMember {base.GruvboxBlue}, - javaScriptNumber {base.GruvboxPurple}, - javaScriptNull {base.GruvboxPurple}, - javaScriptParens {base.GruvboxFg3}, - javascriptImport {base.GruvboxAqua}, - javascriptExport {base.GruvboxAqua}, - javascriptClassKeyword {base.GruvboxAqua}, - javascriptClassExtends {base.GruvboxAqua}, - javascriptDefault {base.GruvboxAqua}, - javascriptClassName {base.GruvboxYellow}, - javascriptClassSuperName {base.GruvboxYellow}, - javascriptGlobal {base.GruvboxYellow}, - javascriptEndColons {base.GruvboxFg1}, - javascriptFuncArg {base.GruvboxFg1}, - javascriptGlobalMethod {base.GruvboxFg1}, - javascriptNodeGlobal {base.GruvboxFg1}, - javascriptBOMWindowProp {base.GruvboxFg1}, - javascriptArrayMethod {base.GruvboxFg1}, - javascriptArrayStaticMethod {base.GruvboxFg1}, - javascriptCacheMethod {base.GruvboxFg1}, - javascriptDateMethod {base.GruvboxFg1}, - javascriptMathStaticMethod {base.GruvboxFg1}, - javascriptProp {base.GruvboxFg1}, - javascriptURLUtilsProp {base.GruvboxFg1}, - javascriptBOMNavigatorProp {base.GruvboxFg1}, - javascriptDOMDocMethod {base.GruvboxFg1}, - javascriptDOMDocProp {base.GruvboxFg1}, - javascriptBOMLocationMethod {base.GruvboxFg1}, - javascriptBOMWindowMethod {base.GruvboxFg1}, - javascriptStringMethod {base.GruvboxFg1}, - javascriptVariable {base.GruvboxOrange}, - javascriptClassSuper {base.GruvboxOrange}, - javascriptFuncKeyword {base.GruvboxAqua}, - javascriptAsyncFunc {base.GruvboxAqua}, - javascriptClassStatic {base.GruvboxOrange}, - javascriptOperator {base.GruvboxRed}, - javascriptForOperator {base.GruvboxRed}, - javascriptYield {base.GruvboxRed}, - javascriptExceptions {base.GruvboxRed}, - javascriptMessage {base.GruvboxRed}, - javascriptTemplateSB {base.GruvboxAqua}, - javascriptTemplateSubstitution {base.GruvboxFg1}, - javascriptLabel {base.GruvboxFg1}, - javascriptObjectLabel {base.GruvboxFg1}, - javascriptPropertyName {base.GruvboxFg1}, - javascriptLogicSymbols {base.GruvboxFg1}, - javascriptArrowFunc {base.GruvboxYellow}, - javascriptDocParamName {base.GruvboxFg4}, - javascriptDocTags {base.GruvboxFg4}, - javascriptDocNotation {base.GruvboxFg4}, - javascriptDocParamType {base.GruvboxFg4}, - javascriptDocNamedParamType {base.GruvboxFg4}, - javascriptBrackets {base.GruvboxFg1}, - javascriptDOMElemAttrs {base.GruvboxFg1}, - javascriptDOMEventMethod {base.GruvboxFg1}, - javascriptDOMNodeMethod {base.GruvboxFg1}, - javascriptDOMStorageMethod {base.GruvboxFg1}, - javascriptHeadersMethod {base.GruvboxFg1}, - javascriptAsyncFuncKeyword {base.GruvboxRed}, - javascriptAwaitFuncKeyword {base.GruvboxRed}, - jsClassKeyword {base.GruvboxAqua}, - jsExtendsKeyword {base.GruvboxAqua}, - jsExportDefault {base.GruvboxAqua}, - jsTemplateBraces {base.GruvboxAqua}, - jsGlobalNodeObjects {base.GruvboxBlue}, - jsGlobalObjects {base.GruvboxBlue}, - jsObjectKey {base.GruvboxGreenBold}, - jsFunction {base.GruvboxAqua}, - jsFuncCall {base.GruvboxBlue}, - jsFuncParens {base.GruvboxFg3}, - jsParens {base.GruvboxFg3}, - jsNull {base.GruvboxPurple}, - jsUndefined {base.GruvboxPurple}, - jsClassDefinition {base.GruvboxYellow}, - jsOperatorKeyword {base.GruvboxRed}, - } -end) - -local typescript = lush(function() - return { - typescriptReserved {base.GruvboxAqua}, - typescriptLabel {base.GruvboxAqua}, - typescriptFuncKeyword {base.GruvboxAqua}, - typescriptIdentifier {base.GruvboxOrange}, - typescriptBraces {base.GruvboxOrange}, - typescriptEndColons {base.GruvboxFg1}, - typescriptDOMObjects {base.GruvboxFg1}, - typescriptAjaxMethods {base.GruvboxFg1}, - typescriptLogicSymbols {base.GruvboxOrange}, - typescriptDocSeeTag {base.Comment}, - typescriptDocParam {base.Comment}, - typescriptDocTags {base.Comment}, - typescriptGlobalObjects {base.GruvboxFg1}, - typescriptParens {base.GruvboxOrange}, - typescriptOpSymbols {base.GruvboxOrange}, - typescriptHtmlElemProperties {base.GruvboxFg1}, - typescriptNull {base.GruvboxPurple}, - typescriptInterpolationDelimiter {base.GruvboxAqua}, - typescriptArrowFunc {base.GruvboxFg1}, - typescriptCharacter {base.GruvboxOrange}, - typescriptUnion {base.GruvboxOrange}, - typescriptDotNotation {base.GruvboxOrange}, - typescriptGlobalObjectDot {typescriptDotNotation}, - } -end) - -local jsx = lush(function() - return { - jsxTagName {base.GruvboxAqua}, - jsxComponentName {base.GruvboxGreen}, - jsxCloseString {base.GruvboxFg4}, - jsxAttrib {base.GruvboxYellow}, - jsxEqual {base.GruvboxAqua}, - } -end) - -local purescript = lush(function() - return { - purescriptModuleKeyword {base.GruvboxAqua}, - purescriptModuleName {base.GruvboxFg1}, - purescriptWhere {base.GruvboxAqua}, - purescriptDelimiter {base.GruvboxFg4}, - purescriptType {base.GruvboxFg1}, - purescriptImportKeyword {base.GruvboxAqua}, - purescriptHidingKeyword {base.GruvboxAqua}, - purescriptAsKeyword {base.GruvboxAqua}, - purescriptStructure {base.GruvboxAqua}, - purescriptOperator {base.GruvboxBlue}, - purescriptTypeVar {base.GruvboxFg1}, - purescriptConstructor {base.GruvboxFg1}, - purescriptFunction {base.GruvboxFg1}, - purescriptConditional {base.GruvboxOrange}, - purescriptBacktick {base.GruvboxOrange}, - } -end) - -local coffeescript = lush(function() - return { - coffeeExtendedOp {base.GruvboxFg3}, - coffeeSpecialOp {base.GruvboxFg3}, - coffeeCurly {base.GruvboxOrange}, - coffeeParen {base.GruvboxFg3}, - coffeeBracket {base.GruvboxOrange}, - } -end) - -local ruby = lush(function() - return { - rubyStringDelimiter {base.GruvboxGreen}, - rubyInterpolationDelimiter {base.GruvboxAqua}, - } -end) - -local objc = lush(function() - return {objcTypeModifier {base.GruvboxRed}, objcDirective {base.GruvboxBlue}} -end) - -local moonscript = lush(function() - return { - moonSpecialOp {base.GruvboxFg3}, - moonExtendedOp {base.GruvboxFg3}, - moonFunction {base.GruvboxFg3}, - moonObject {base.GruvboxYellow}, - } -end) - -local elixir = lush(function() - return { - elixirDocString {base.Comment}, - elixirStringDelimiter {base.GruvboxGreen}, - elixirInterpolationDelimiter {base.GruvboxAqua}, - elixirModuleDeclaration {base.GruvboxYellow}, - } -end) - -local scala = lush(function() - return { - scalaNameDefinition {base.GruvboxFg1}, - scalaCaseFollowing {base.GruvboxFg1}, - scalaCapitalWord {base.GruvboxFg1}, - scalaTypeExtension {base.GruvboxFg1}, - scalaKeyword {base.GruvboxRed}, - scalaKeywordModifier {base.GruvboxRed}, - scalaSpecial {base.GruvboxAqua}, - scalaOperator {base.GruvboxFg1}, - scalaTypeDeclaration {base.GruvboxYellow}, - scalaTypeTypePostDeclaration {base.GruvboxYellow}, - scalaInstanceDeclaration {base.GruvboxFg1}, - scalaInterpolation {base.GruvboxAqua}, - } -end) - -local markdown = lush(function() - return { - markdownItalic {fg = base.GruvboxFg3.fg.hex, gui = styles.italic_strings}, - markdownH1 {base.GruvboxGreenBold}, - markdownH2 {markdownH1}, - markdownH3 {base.GruvboxYellowBold}, - markdownH4 {markdownH3}, - markdownH5 {base.GruvboxYellow}, - markdownH6 {markdownH5}, - markdownCode {base.GruvboxAqua}, - markdownCodeBlock {base.GruvboxAqua}, - markdownCodeDelimiter {base.GruvboxAqua}, - markdownBlockquote {base.GruvboxGray}, - markdownListMarker {base.GruvboxGray}, - markdownOrderedListMarker {base.GruvboxGray}, - markdownRule {base.GruvboxGray}, - markdownHeadingRule {base.GruvboxGray}, - markdownUrlDelimiter {base.GruvboxFg3}, - markdownLinkDelimiter {base.GruvboxFg3}, - markdownLinkTextDelimiter {base.GruvboxFg3}, - markdownHeadingDelimiter {base.GruvboxOrange}, - markdownUrl {base.GruvboxPurple}, - markdownUrlTitleDelimiter {base.GruvboxGreen}, - markdownLinkText {fg = base.GruvboxGray.fg.hex, gui = styles.underline}, - markdownIdDeclaration {markdownLinkText}, - } -end) - -local haskell = lush(function() - return { - haskellType {base.GruvboxBlue}, - haskellIdentifier {base.GruvboxAqua}, - haskellSeparator {base.GruvboxFg4}, - haskellDelimiter {base.GruvboxOrange}, - haskellOperators {base.GruvboxPurple}, - haskellBacktick {base.GruvboxOrange}, - haskellStatement {base.GruvboxPurple}, - haskellConditional {base.GruvboxPurple}, - haskellLet {base.GruvboxRed}, - haskellDefault {base.GruvboxRed}, - haskellWhere {base.GruvboxRed}, - haskellBottom {base.GruvboxRedBold}, - haskellImportKeywords {base.GruvboxPurpleBold}, - haskellDeclKeyword {base.GruvboxOrange}, - haskellDecl {base.GruvboxOrange}, - haskellDeriving {base.GruvboxPurple}, - haskellAssocType {base.GruvboxAqua}, - haskellNumber {base.GruvboxAqua}, - haskellPragma {base.GruvboxRedBold}, - haskellTH {base.GruvboxAquaBold}, - haskellForeignKeywords {base.GruvboxGreen}, - haskellKeyword {base.GruvboxRed}, - haskellFloat {base.GruvboxAqua}, - haskellInfix {base.GruvboxPurple}, - haskellQuote {base.GruvboxGreenBold}, - haskellShebang {base.GruvboxYellowBold}, - haskellLiquid {base.GruvboxPurpleBold}, - haskellQuasiQuoted {base.GruvboxBlueBold}, - haskellRecursiveDo {base.GruvboxPurple}, - haskellQuotedType {base.GruvboxRed}, - haskellPreProc {base.GruvboxFg4}, - haskellTypeRoles {base.GruvboxRedBold}, - haskellTypeForall {base.GruvboxRed}, - haskellPatternKeyword {base.GruvboxBlue}, - - } -end) - -local json = lush(function() - return { - jsonKeyword {base.GruvboxGreen}, - jsonQuote {base.GruvboxGreen}, - jsonBraces {base.GruvboxFg1}, - jsonString {base.GruvboxFg1}, - } -end) - -local csharp = lush(function() - return { - csBraces {base.GruvboxFg1}, - csEndColon {base.GruvboxFg1}, - csLogicSymbols {base.GruvboxFg1}, - csParens {base.GruvboxFg3}, - csOpSymbols {base.GruvboxFg3}, - csInterpolationDelimiter {base.GruvboxFg3}, - csInterpolationAlignDel {base.GruvboxAquaBold}, - csInterpolationFormat {base.GruvboxAqua}, - csInterpolationFormatDel {base.GruvboxAquaBold}, - } -end) - -local rust = lush(function() - return { - rustSigil {base.GruvboxOrange}, - rustEscape {base.GruvboxAqua}, - rustStringContinuation {base.GruvboxAqua}, - rustEnum {base.GruvboxAqua}, - rustStructure {base.GruvboxAqua}, - rustModPathSep {base.GruvboxFg2}, - rustCommentLineDoc {base.GruvboxOrange}, - rustCommentBlockDoc {base.GruvboxOrange}, - rustDefault {base.GruvboxAqua}, - } -end) - -local ocaml = lush(function() - return { - ocamlOperator {base.GruvboxFg1}, - ocamlKeyChar {base.GruvboxOrange}, - ocamlArrow {base.GruvboxOrange}, - ocamlInfixOpKeyword {base.GruvboxRed}, - ocamlConstructor {base.GruvboxOrange}, - } -end) - -local lua = lush(function() - return { - luaIn {base.GruvboxRed}, - luaFunction {base.GruvboxAqua}, - luaTable {base.GruvboxOrange}, - } -end) - -local langs = lush.merge({ - golang, - java, - xml, - viml, - c, - python, - clojure, - html, - css, - js, - typescript, - jsx, - purescript, - coffeescript, - ruby, - objc, - moonscript, - elixir, - scala, - markdown, - haskell, - json, - csharp, - rust, - ocaml, - lua, -}) +local xml = { + xmlTag = base.GruvboxAquaBold, + xmlEndTag = base.GruvboxAquaBold, + xmlTagName = base.GruvboxBlue, + xmlEqual = base.GruvboxBlue, + docbkKeyword = base.GruvboxAquaBold, + xmlDocTypeDecl = base.GruvboxGray, + xmlDocTypeKeyword = base.GruvboxPurple, + xmlCdataStart = base.GruvboxGray, + xmlCdataCdata = base.GruvboxPurple, + dtdFunction = base.GruvboxGray, + dtdTagName = base.GruvboxPurple, + xmlAttrib = base.GruvboxOrange, + xmlProcessingDelim = base.GruvboxGray, + dtdParamEntityPunct = base.GruvboxGray, + dtdParamEntityDPunct = base.GruvboxGray, + xmlAttribPunct = base.GruvboxGray, + xmlEntity = base.GruvboxRed, + xmlEntityPunct = base.GruvboxRed, +} + +local purescript = { + purescriptModuleKeyword = base.GruvboxAqua, + purescriptModuleName = base.GruvboxFg1, + purescriptWhere = base.GruvboxAqua, + purescriptDelimiter = base.GruvboxFg4, + purescriptType = base.GruvboxFg1, + purescriptImportKeyword = base.GruvboxAqua, + purescriptHidingKeyword = base.GruvboxAqua, + purescriptAsKeyword = base.GruvboxAqua, + purescriptStructure = base.GruvboxAqua, + purescriptOperator = base.GruvboxBlue, + purescriptTypeVar = base.GruvboxFg1, + purescriptConstructor = base.GruvboxFg1, + purescriptFunction = base.GruvboxFg1, + purescriptConditional = base.GruvboxOrange, + purescriptBacktick = base.GruvboxOrange, +} + +local coffeescript = { + coffeeExtendedOp = base.GruvboxFg3, + coffeeSpecialOp = base.GruvboxFg3, + coffeeCurly = base.GruvboxOrange, + coffeeParen = base.GruvboxFg3, + coffeeBracket = base.GruvboxOrange, +} + +local objc = { objcTypeModifier = base.GruvboxRed, objcDirective = base.GruvboxBlue } + +local moonscript = { + moonSpecialOp = base.GruvboxFg3, + moonExtendedOp = base.GruvboxFg3, + moonFunction = base.GruvboxFg3, + moonObject = base.GruvboxYellow, +} + +local elixir = { + elixirDocString = base.Comment, + elixirStringDelimiter = base.GruvboxGreen, + elixirInterpolationDelimiter = base.GruvboxAqua, + elixirModuleDeclaration = base.GruvboxYellow, +} + +local markdown = { + markdownItalic = { fg = base.GruvboxFg3.fg, gui = styles.italic_strings }, + markdownH1 = base.GruvboxGreenBold, + markdownH2 = "markdownH1", + markdownH3 = base.GruvboxYellowBold, + markdownH4 = "markdownH3", + markdownH5 = base.GruvboxYellow, + markdownH6 = "markdownH5", + markdownCode = base.GruvboxAqua, + markdownCodeBlock = base.GruvboxAqua, + markdownCodeDelimiter = base.GruvboxAqua, + markdownBlockquote = base.GruvboxGray, + markdownListMarker = base.GruvboxGray, + markdownOrderedListMarker = base.GruvboxGray, + markdownRule = base.GruvboxGray, + markdownHeadingRule = base.GruvboxGray, + markdownUrlDelimiter = base.GruvboxFg3, + markdownLinkDelimiter = base.GruvboxFg3, + markdownLinkTextDelimiter = base.GruvboxFg3, + markdownHeadingDelimiter = base.GruvboxOrange, + markdownUrl = base.GruvboxPurple, + markdownUrlTitleDelimiter = base.GruvboxGreen, + markdownLinkText = { fg = base.GruvboxGray.fg, gui = styles.underline }, + markdownIdDeclaration = "markdownLinkText", +} + +local haskell = { + haskellType = base.GruvboxBlue, + haskellIdentifier = base.GruvboxAqua, + haskellSeparator = base.GruvboxFg4, + haskellDelimiter = base.GruvboxOrange, + haskellOperators = base.GruvboxPurple, + haskellBacktick = base.GruvboxOrange, + haskellStatement = base.GruvboxPurple, + haskellConditional = base.GruvboxPurple, + haskellLet = base.GruvboxRed, + haskellDefault = base.GruvboxRed, + haskellWhere = base.GruvboxRed, + haskellBottom = base.GruvboxRedBold, + haskellImportKeywords = base.GruvboxPurpleBold, + haskellDeclKeyword = base.GruvboxOrange, + haskellDecl = base.GruvboxOrange, + haskellDeriving = base.GruvboxPurple, + haskellAssocType = base.GruvboxAqua, + haskellNumber = base.GruvboxAqua, + haskellPragma = base.GruvboxRedBold, + haskellTH = base.GruvboxAquaBold, + haskellForeignKeywords = base.GruvboxGreen, + haskellKeyword = base.GruvboxRed, + haskellFloat = base.GruvboxAqua, + haskellInfix = base.GruvboxPurple, + haskellQuote = base.GruvboxGreenBold, + haskellShebang = base.GruvboxYellowBold, + haskellLiquid = base.GruvboxPurpleBold, + haskellQuasiQuoted = base.GruvboxBlueBold, + haskellRecursiveDo = base.GruvboxPurple, + haskellQuotedType = base.GruvboxRed, + haskellPreProc = base.GruvboxFg4, + haskellTypeRoles = base.GruvboxRedBold, + haskellTypeForall = base.GruvboxRed, + haskellPatternKeyword = base.GruvboxBlue, +} + +local langs = utils.merge { + xml, + purescript, + coffeescript, + objc, + moonscript, + elixir, + markdown, + haskell, +} return langs diff --git a/lua/gruvbox/plugins/highlights.lua b/lua/gruvbox/plugins/highlights.lua index 0d82d29..7a0fa6c 100644 --- a/lua/gruvbox/plugins/highlights.lua +++ b/lua/gruvbox/plugins/highlights.lua @@ -1,299 +1,296 @@ -- 3rd party plugins highlights -local lush = require("lush") -local base = require("gruvbox.base") +local base = require "gruvbox.base" local styles = require("gruvbox.settings").styles +local colors = require "gruvbox.colors" -local plugins = lush(function() - return { +local plugins = { -- netrw - netrwDir {base.GruvboxAqua}, - netrwClassify {base.GruvboxAqua}, - netrwLink {base.GruvboxGray}, - netrwSymLink {base.GruvboxFg1}, - netrwExe {base.GruvboxYellow}, - netrwComment {base.GruvboxGray}, - netrwList {base.GruvboxBlue}, - netrwHelpCmd {base.GruvboxAqua}, - netrwCmdSep {base.GruvboxFg3}, - netrwVersion {base.GruvboxGreen}, + netrwDir = base.GruvboxAqua, + netrwClassify = base.GruvboxAqua, + netrwLink = base.GruvboxGray, + netrwSymLink = base.GruvboxFg1, + netrwExe = base.GruvboxYellow, + netrwComment = base.GruvboxGray, + netrwList = base.GruvboxBlue, + netrwHelpCmd = base.GruvboxAqua, + netrwCmdSep = base.GruvboxFg3, + netrwVersion = base.GruvboxGreen, -- nvim-treesitter - TSNone {}, - TSError {base.Error}, - TSTitle {base.Title}, - TSLiteral {base.String}, - TSURI {base.Underlined}, - TSVariable {base.GruvboxFg1}, - TSPunctDelimiter {base.Delimiter}, - TSPunctBracket {base.Delimiter}, - TSPunctSpecial {base.Delimiter}, - TSConstant {base.Constant}, - TSConstBuiltin {base.Special}, - TSConstMacro {base.Define}, - TSString {base.String}, - TSStringRegex {base.String}, - TSStringEscape {base.SpecialChar}, - TSCharacter {base.Character}, - TSNumber {base.Number}, - TSBoolean {base.Boolean}, - TSFloat {base.Float}, - TSFunction {base.Function}, - TSFuncBuiltin {base.Special}, - TSFuncMacro {base.Macro}, - TSParameter {base.Identifier}, - TSParameterReference {TSParameter}, - TSMethod {base.Function}, - TSField {base.Identifier}, - TSProperty {base.Identifier}, - TSConstructor {base.Special}, - TSAnnotation {base.PreProc}, - TSAttribute {base.PreProc}, - TSNamespace {base.Include}, - TSConditional {base.Conditional}, - TSRepeat {base.Repeat}, - TSLabel {base.Label}, - TSOperator {base.Operator}, - TSKeyword {base.Keyword}, - TSKeywordFunction {base.Keyword}, - TSKeywordOperator {TSOperator}, - TSException {base.Exception}, - TSType {base.Type}, - TSTypeBuiltin {base.Type}, - TSInclude {base.Include}, - TSVariableBuiltin {base.Special}, - TSText {TSNone}, - TSStrong {gui = styles.bold}, - TSEmphasis {gui = styles.italic_strings}, - TSUnderline {gui = styles.underline}, - TSComment {base.Comment}, - TSStructure {base.GruvboxOrange}, - TSTag {base.GruvboxOrange}, - TSTagDelimiter {base.GruvboxGreen}, + TSNone = {}, + TSError = base.Error, + TSTitle = base.Title, + TSLiteral = base.String, + TSURI = base.Underlined, + TSVariable = base.GruvboxFg1, + TSPunctDelimiter = base.Delimiter, + TSPunctBracket = base.Delimiter, + TSPunctSpecial = base.Delimiter, + TSConstant = base.Constant, + TSConstBuiltin = base.Special, + TSConstMacro = base.Define, + TSString = base.String, + TSStringRegex = base.String, + TSStringEscape = base.SpecialChar, + TSCharacter = base.Character, + TSNumber = base.Number, + TSBoolean = base.Boolean, + TSFloat = base.Float, + TSFunction = base.Function, + TSFuncBuiltin = base.Special, + TSFuncMacro = base.Macro, + TSParameter = base.Identifier, + TSParameterReference = "TSParameter", + TSMethod = base.Function, + TSField = base.Identifier, + TSProperty = base.Identifier, + TSConstructor = base.Special, + TSAnnotation = base.PreProc, + TSAttribute = base.PreProc, + TSNamespace = base.Include, + TSConditional = base.Conditional, + TSRepeat = base.Repeat, + TSLabel = base.Label, + TSOperator = base.Operator, + TSKeyword = base.Keyword, + TSKeywordFunction = base.Keyword, + TSKeywordOperator = "TSOperator", + TSException = base.Exception, + TSType = base.Type, + TSTypeBuiltin = base.Type, + TSInclude = base.Include, + TSVariableBuiltin = base.Special, + TSText = "TSNone", + TSStrong = { gui = styles.bold }, + TSEmphasis = { gui = styles.italic_strings }, + TSUnderline = { gui = styles.underline }, + TSComment = base.Comment, + TSStructure = base.GruvboxOrange, + TSTag = base.GruvboxOrange, + TSTagDelimiter = base.GruvboxGreen, -- telescope.nvim - TelescopeSelection {base.GruvboxOrangeBold}, - TelescopeSlectionCaret {base.GruvboxRed}, - TelescopeMultiSelection {base.GruvboxGray}, - TelescopeNormal {base.GruvboxFg1}, - TelescopeBorder {TelescopeNormal}, - TelescopePromptBorder {TelescopeNormal}, - TelescopeResultsBorder {TelescopeNormal}, - TelescopePreviewBorder {TelescopeNormal}, - TelescopeMatching {base.GruvboxBlue}, - TelescopePromptPrefix {base.GruvboxRed}, - TelescopePrompt {TelescopeNormal}, + TelescopeSelection = base.GruvboxOrangeBold, + TelescopeSlectionCaret = base.GruvboxRed, + TelescopeMultiSelection = base.GruvboxGray, + TelescopeNormal = base.GruvboxFg1, + TelescopeBorder = "TelescopeNormal", + TelescopePromptBorder = "TelescopeNormal", + TelescopeResultsBorder = "TelescopeNormal", + TelescopePreviewBorder = "TelescopeNormal", + TelescopeMatching = base.GruvboxBlue, + TelescopePromptPrefix = base.GruvboxRed, + TelescopePrompt = "TelescopeNormal", -- lspsaga.nvim - LspSagaDiagnosticBorder {base.NormalNC}, - LspSagaDiagnosticHeader {base.GruvboxRed}, - LspSagaDiagnosticTruncateLine {base.NormalNC}, - LspFloatWinBorder {base.NormalNC}, - LspSagaBorderTitle {base.Title}, - TargetWord {base.Error}, - ReferencesCount {base.Title}, - ReferencesIcon {base.Special}, - DefinitionCount {base.Title}, - TargetFileName {base.Comment}, - DefinitionIcon {base.Special}, - ProviderTruncateLine {base.NormalNC}, - SagaShadow {base.GruvboxBg0}, - LspSagaFinderSelection {base.Search}, - DiagnosticTruncateLine {base.NormalNC}, - DiagnosticWarning {base.DiagnosticWarn}, - DiagnosticInformation {base.DiagnosticInfo}, - DefinitionPreviewTitle {base.Title}, - LspSagaShTruncateLine {base.NormalNC}, - LspSagaDocTruncateLine {base.NormalNC}, - LineDiagTuncateLine {base.NormalNC}, - LspSagaCodeActionTitle {base.Title}, - LspSagaCodeActionTruncateLine {base.NormalNC}, - LspSagaCodeActionContent {base.Normal}, - LspSagaRenamePromptPrefix {base.GruvboxFg2}, - LspSagaRenameBorder {gui = styles.bold}, - LspSagaHoverBorder {gui = styles.bold}, - LspSagaSignatureHelpBorder {gui = styles.bold}, - LspSagaCodeActionBorder {gui = styles.bold}, - LspSagaAutoPreview {}, - LspSagaDefPreviewBorder {gui = styles.bold}, - LspLinesDiagBorder {gui = styles.bold}, + LspSagaDiagnosticBorder = base.NormalNC, + LspSagaDiagnosticHeader = base.GruvboxRed, + LspSagaDiagnosticTruncateLine = base.NormalNC, + LspFloatWinBorder = base.NormalNC, + LspSagaBorderTitle = base.Title, + TargetWord = base.Error, + ReferencesCount = base.Title, + ReferencesIcon = base.Special, + DefinitionCount = base.Title, + TargetFileName = base.Comment, + DefinitionIcon = base.Special, + ProviderTruncateLine = base.NormalNC, + SagaShadow = base.GruvboxBg0, + LspSagaFinderSelection = base.Search, + DiagnosticTruncateLine = base.NormalNC, + DiagnosticWarning = base.DiagnosticWarn, + DiagnosticInformation = base.DiagnosticInfo, + DefinitionPreviewTitle = base.Title, + LspSagaShTruncateLine = base.NormalNC, + LspSagaDocTruncateLine = base.NormalNC, + LineDiagTuncateLine = base.NormalNC, + LspSagaCodeActionTitle = base.Title, + LspSagaCodeActionTruncateLine = base.NormalNC, + LspSagaCodeActionContent = base.Normal, + LspSagaRenamePromptPrefix = base.GruvboxFg2, + LspSagaRenameBorder = { gui = styles.bold }, + LspSagaHoverBorder = { gui = styles.bold }, + LspSagaSignatureHelpBorder = { gui = styles.bold }, + LspSagaCodeActionBorder = { gui = styles.bold }, + LspSagaAutoPreview = {}, + LspSagaDefPreviewBorder = { gui = styles.bold }, + LspLinesDiagBorder = { gui = styles.bold }, -- vim-startify - StartifyBracket {base.Delimiter}, - StartifyFile {base.Identifier}, - StartifyNumber {base.Number}, - StartifyPath {base.Directory}, - StartifySlash {base.Delimiter}, - StartifySection {base.Statement}, - StartifySpecial {base.Comment}, - StartifyHeader {base.Title}, - StartifyFooter {base.Title}, - StartifyVar {StartifyPath}, - StartifySelect {base.Title}, + StartifyBracket = base.Delimiter, + StartifyFile = base.Identifier, + StartifyNumber = base.Number, + StartifyPath = base.Directory, + StartifySlash = base.Delimiter, + StartifySection = base.Statement, + StartifySpecial = base.Comment, + StartifyHeader = base.Title, + StartifyFooter = base.Title, + StartifyVar = "StartifyPath", + StartifySelect = base.Title, -- vim-signify - SignifySignAdd {base.GruvboxGreenSign}, - SignifySignChange {base.GruvboxAquaSign}, - SignifySignDelete {base.GruvboxRedSign}, + SignifySignAdd = base.GruvboxGreenSign, + SignifySignChange = base.GruvboxAquaSign, + SignifySignDelete = base.GruvboxRedSign, -- syntastic - SyntasticError {base.GruvboxRedUnderline}, - SyntasticWarning {base.GruvboxYellowUnderline}, - SyntasticErrorSign {base.GruvboxRedSign}, - SyntasticWarningSign {base.GruvboxYellowSign}, + SyntasticError = base.GruvboxRedUnderline, + SyntasticWarning = base.GruvboxYellowUnderline, + SyntasticErrorSign = base.GruvboxRedSign, + SyntasticWarningSign = base.GruvboxYellowSign, -- termdebug - debugPC {bg = colors.faded_blue}, - debugBreakpoint {base.GruvboxRedSign}, + debugPC = { bg = colors.faded_blue }, + debugBreakpoint = base.GruvboxRedSign, -- vim-dirvish - DirvishPathTail {base.GruvboxAqua}, - DirvishArg {base.GruvboxYellow}, + DirvishPathTail = base.GruvboxAqua, + DirvishArg = base.GruvboxYellow, -- nerdtree - NERDTreeDir {base.GruvboxAqua}, - NERDTreeDirSlash {base.GruvboxAqua}, - NERDTreeOpenable {base.GruvboxOrange}, - NERDTreeClosable {base.GruvboxOrange}, - NERDTreeFile {base.GruvboxFg1}, - NERDTreeExecFile {base.GruvboxYellow}, - NERDTreeUp {base.GruvboxGray}, - NERDTreeCWD {base.GruvboxGreen}, - NERDTreeHelp {base.GruvboxFg1}, - NERDTreeToggleOn {base.GruvboxGreen}, - NERDTreeToggleOff {base.GruvboxRed}, + NERDTreeDir = base.GruvboxAqua, + NERDTreeDirSlash = base.GruvboxAqua, + NERDTreeOpenable = base.GruvboxOrange, + NERDTreeClosable = base.GruvboxOrange, + NERDTreeFile = base.GruvboxFg1, + NERDTreeExecFile = base.GruvboxYellow, + NERDTreeUp = base.GruvboxGray, + NERDTreeCWD = base.GruvboxGreen, + NERDTreeHelp = base.GruvboxFg1, + NERDTreeToggleOn = base.GruvboxGreen, + NERDTreeToggleOff = base.GruvboxRed, -- coc.nvim - CocErrorSign {base.GruvboxRedSign}, - CocWarningSign {base.GruvboxOrangeSign}, - CocInfoSign {base.GruvboxBlueSign}, - CocHintSign {base.GruvboxAquaSign}, - CocErrorFloat {base.GruvboxRed}, - CocWarningFloat {base.GruvboxOrange}, - CocInfoFloat {base.GruvboxBlue}, - CocHintFloat {base.GruvboxAqua}, - CocDiagnosticsError {base.GruvboxRed}, - CocDiagnosticsWarning {base.GruvboxOrange}, - CocDiagnosticsInfo {base.GruvboxBlue}, - CocDiagnosticsHint {base.GruvboxAqua}, - CocSelectedText {base.GruvboxRed}, - CocCodeLens {base.GruvboxGray}, - CocErrorHighlight {base.GruvboxRedUnderline}, - CocWarningHighlight {base.GruvboxOrangeUnderline}, - CocInfoHighlight {base.GruvboxBlueUnderline}, - CocHintHighlight {base.GruvboxAquaUnderline}, + CocErrorSign = base.GruvboxRedSign, + CocWarningSign = base.GruvboxOrangeSign, + CocInfoSign = base.GruvboxBlueSign, + CocHintSign = base.GruvboxAquaSign, + CocErrorFloat = base.GruvboxRed, + CocWarningFloat = base.GruvboxOrange, + CocInfoFloat = base.GruvboxBlue, + CocHintFloat = base.GruvboxAqua, + CocDiagnosticsError = base.GruvboxRed, + CocDiagnosticsWarning = base.GruvboxOrange, + CocDiagnosticsInfo = base.GruvboxBlue, + CocDiagnosticsHint = base.GruvboxAqua, + CocSelectedText = base.GruvboxRed, + CocCodeLens = base.GruvboxGray, + CocErrorHighlight = base.GruvboxRedUnderline, + CocWarningHighlight = base.GruvboxOrangeUnderline, + CocInfoHighlight = base.GruvboxBlueUnderline, + CocHintHighlight = base.GruvboxAquaUnderline, -- ale.vim - ALEError {base.GruvboxRedUnderline}, - ALEWarning {base.GruvboxYellowUnderline}, - ALEInfo {base.GruvboxBlueUnderline}, - ALEErrorSign {base.GruvboxRedSign}, - ALEWarningSign {base.GruvboxYellowSign}, - ALEInfoSign {base.GruvboxBlueSign}, - ALEVirtualTextError {base.GruvboxRed}, - ALEVirtualTextWarning {base.GruvboxYellow}, - ALEVirtualTextInfo {base.GruvboxBlue}, + ALEError = base.GruvboxRedUnderline, + ALEWarning = base.GruvboxYellowUnderline, + ALEInfo = base.GruvboxBlueUnderline, + ALEErrorSign = base.GruvboxRedSign, + ALEWarningSign = base.GruvboxYellowSign, + ALEInfoSign = base.GruvboxBlueSign, + ALEVirtualTextError = base.GruvboxRed, + ALEVirtualTextWarning = base.GruvboxYellow, + ALEVirtualTextInfo = base.GruvboxBlue, -- vim-buftabline - BufTabLineCurrent {base.TabLineSel}, - BufTabLineActive {base.PmenuSel}, - BufTabLineHidden {base.TabLine}, - BufTabLineFill {base.TabLineFill}, - BufTabLineModifiedCurrent {BufTabLineCurrent}, - BufTabLineModifiedActive {BufTabLineActive}, - BufTabLineModifiedHidden {BufTabLineHidden}, + BufTabLineCurrent = base.TabLineSel, + BufTabLineActive = base.PmenuSel, + BufTabLineHidden = base.TabLine, + BufTabLineFill = base.TabLineFill, + BufTabLineModifiedCurrent = "BufTabLineCurrent", + BufTabLineModifiedActive = "BufTabLineActive", + BufTabLineModifiedHidden = "BufTabLineHidden", -- ctrlP - CtrlPMatch {base.Identifier}, - CtrlPNoEntries {base.Error}, - CtrlPPrtBase {base.Comment}, - CtrlPPrtCursor {base.Constant}, - CtrlPLinePre {fg = base.GruvboxBg2.fg.hex}, - CtrlPMode1 {base.Character}, - CtrlPMode2 {base.LineNr}, - CtrlPStats {base.Function}, + CtrlPMatch = base.Identifier, + CtrlPNoEntries = base.Error, + CtrlPPrtBase = base.Comment, + CtrlPPrtCursor = base.Constant, + CtrlPLinePre = { fg = base.GruvboxBg2.fg }, + CtrlPMode1 = base.Character, + CtrlPMode2 = base.LineNr, + CtrlPStats = base.Function, -- fzf.vim - Fzf1 {fg = base.GruvboxBlue.fg.hex, bg = base.GruvboxBg1.fg.hex}, - Fzf2 {fg = base.GruvboxOrange.fg.hex, bg = base.GruvboxBg1.fg.hex}, - Fzf3 {fg = base.GruvboxFg4.fg.hex, bg = base.GruvboxBg1.fg.hex}, - ShowMarksHLl {base.GruvboxBlueSign}, - ShowMarksHLu {base.GruvboxBlueSign}, - ShowMarksHLo {base.GruvboxBlueSign}, - ShowMarksHLm {base.GruvboxBlueSign}, + Fzf1 = { fg = base.GruvboxBlue.fg, bg = base.GruvboxBg1.fg }, + Fzf2 = { fg = base.GruvboxOrange.fg, bg = base.GruvboxBg1.fg }, + Fzf3 = { fg = base.GruvboxFg4.fg, bg = base.GruvboxBg1.fg }, + ShowMarksHLl = base.GruvboxBlueSign, + ShowMarksHLu = base.GruvboxBlueSign, + ShowMarksHLo = base.GruvboxBlueSign, + ShowMarksHLm = base.GruvboxBlueSign, -- git-gutter - GitGutterAdd {base.GruvboxGreenSign}, - GitGutterChange {base.GruvboxAquaSign}, - GitGutterDelete {base.GruvboxRedSign}, - GitGutterChangeDelete {base.GruvboxAquaSign}, + GitGutterAdd = base.GruvboxGreenSign, + GitGutterChange = base.GruvboxAquaSign, + GitGutterDelete = base.GruvboxRedSign, + GitGutterChangeDelete = base.GruvboxAquaSign, -- gitsigns.nvim - GitSignsAdd {base.GruvboxGreenSign}, - GitSignsChange {base.GruvboxAquaSign}, - GitSignsDelete {base.GruvboxRedSign}, - GitSignsCurrentLineBlame {base.NonText}, + GitSignsAdd = base.GruvboxGreenSign, + GitSignsChange = base.GruvboxAquaSign, + GitSignsDelete = base.GruvboxRedSign, + GitSignsCurrentLineBlame = base.NonText, -- nvim-cmp - CmpItemAbbr {base.GruvboxFg0}, - CmpItemAbbrDeprecated {base.GruvboxFg0}, - CmpItemAbbrMatch {base.GruvboxBlue}, - CmpItemAbbrMatchFuzzy { base.GruvboxAqua }, - CmpItemAbbrMatchFuzzy {gui = styles.underline, fg = base.GruvboxBlue.fg.hex}, - CmpItemKind {base.GruvboxOrange}, - CmpItemKindClass { base.GruvboxGreen }, - CmpItemKindConstructor { base.GruvboxGreen }, - CmpItemKindField { base.GruvboxAqua }, - CmpItemKindFile { base.GruvboxOrange }, - CmpItemKindFolder { base.GruvboxOrange }, - CmpItemKindFunction { base.GruvboxPurple }, - CmpItemKindInterface { base.GruvboxGreen }, - CmpItemKindKeyword { base.Keyword }, - CmpItemKindMethod { base.GruvboxPurple }, - CmpItemKindSnippet { base.GruvboxYellow }, - CmpItemKindText { base.GruvboxFg0 }, - CmpItemKindValue { base.GruvboxOrange }, - CmpItemKindVariable { base.GruvboxBlue }, - CmpItemMenu {base.GruvboxGray}, + CmpItemAbbr = base.GruvboxFg0, + CmpItemAbbrDeprecated = base.GruvboxFg0, + CmpItemAbbrMatch = base.GruvboxBlue, + CmpItemAbbrMatchFuzzy = { gui = styles.underline, fg = base.GruvboxAqua.fg }, + CmpItemKind = base.GruvboxOrange, + CmpItemKindClass = base.GruvboxGreen, + CmpItemKindConstructor = base.GruvboxGreen, + CmpItemKindField = base.GruvboxAqua, + CmpItemKindFile = base.GruvboxOrange, + CmpItemKindFolder = base.GruvboxOrange, + CmpItemKindFunction = base.GruvboxPurple, + CmpItemKindInterface = base.GruvboxGreen, + CmpItemKindKeyword = base.Keyword, + CmpItemKindMethod = base.GruvboxPurple, + CmpItemKindSnippet = base.GruvboxYellow, + CmpItemKindText = base.GruvboxFg0, + CmpItemKindValue = base.GruvboxOrange, + CmpItemKindVariable = base.GruvboxBlue, + CmpItemMenu = base.GruvboxGray, -- LSP - LspCodeLens {base.GruvboxGray}, - LspReferenceRead {bg = base.GruvboxBg2.fg.hex, gui = styles.underline}, - LspReferenceText {bg = base.GruvboxBg2.fg.hex, gui = styles.underline}, - LspReferenceWrite {bg = base.GruvboxBg2.fg.hex, gui = styles.underline}, + LspCodeLens = base.GruvboxGray, + LspReferenceRead = { bg = base.GruvboxBg2.fg, gui = styles.underline }, + LspReferenceText = { bg = base.GruvboxBg2.fg, gui = styles.underline }, + LspReferenceWrite = { bg = base.GruvboxBg2.fg, gui = styles.underline }, -- NOTE: Deprecated settings (see https://github.com/neovim/neovim/pull/15585) - LspDiagnosticsDefaultError {base.GruvboxRed}, - LspDiagnosticsSignError {base.GruvboxRedSign}, - LspDiagnosticsUnderlineError {base.GruvboxRedUnderline}, - LspDiagnosticsDefaultWarning {base.GruvboxYellow}, - LspDiagnosticsSignWarning {base.GruvboxYellowSign}, - LspDiagnosticsUnderlineWarning {base.GruvboxYellowUnderline}, - LspDiagnosticsDefaultInformation {base.GruvboxBlue}, - LspDiagnosticsSignInformation {base.GruvboxBlueSign}, - LspDiagnosticsUnderlineInformation {base.GruvboxBlueUnderline}, - LspDiagnosticsDefaultHint {base.GruvboxAqua}, - LspDiagnosticsSignHint {base.GruvboxAquaSign}, - LspDiagnosticsUnderlineHint {base.GruvboxAquaUnderline}, - LspDiagnosticsFloatingError {base.GruvboxRed}, - LspDiagnosticsFloatingWarning {base.GruvboxOrange}, - LspDiagnosticsFloatingInformation {base.GruvboxBlue}, - LspDiagnosticsFloatingHint {base.GruvboxAqua}, - LspDiagnosticsVirtualTextError {base.GruvboxRed}, - LspDiagnosticsVirtualTextWarning {base.GruvboxYellow}, - LspDiagnosticsVirtualTextInformation {base.GruvboxBlue}, - LspDiagnosticsVirtualTextHint {base.GruvboxAqua}, + LspDiagnosticsDefaultError = base.GruvboxRed, + LspDiagnosticsSignError = base.GruvboxRedSign, + LspDiagnosticsUnderlineError = base.GruvboxRedUnderline, + LspDiagnosticsDefaultWarning = base.GruvboxYellow, + LspDiagnosticsSignWarning = base.GruvboxYellowSign, + LspDiagnosticsUnderlineWarning = base.GruvboxYellowUnderline, + LspDiagnosticsDefaultInformation = base.GruvboxBlue, + LspDiagnosticsSignInformation = base.GruvboxBlueSign, + LspDiagnosticsUnderlineInformation = base.GruvboxBlueUnderline, + LspDiagnosticsDefaultHint = base.GruvboxAqua, + LspDiagnosticsSignHint = base.GruvboxAquaSign, + LspDiagnosticsUnderlineHint = base.GruvboxAquaUnderline, + LspDiagnosticsFloatingError = base.GruvboxRed, + LspDiagnosticsFloatingWarning = base.GruvboxOrange, + LspDiagnosticsFloatingInformation = base.GruvboxBlue, + LspDiagnosticsFloatingHint = base.GruvboxAqua, + LspDiagnosticsVirtualTextError = base.GruvboxRed, + LspDiagnosticsVirtualTextWarning = base.GruvboxYellow, + LspDiagnosticsVirtualTextInformation = base.GruvboxBlue, + LspDiagnosticsVirtualTextHint = base.GruvboxAqua, -- Diagnostic - DiagnosticError{base.GruvboxRed}, - DiagnosticSignError{base.GruvboxRedSign}, - DiagnosticUnderlineError{base.GruvboxRedUnderline}, - DiagnosticWarn{base.GruvboxYellow}, - DiagnosticSignWarn{base.GruvboxYellowSign}, - DiagnosticUnderlineWarn{base.GruvboxYellowUnderline}, - DiagnosticInfo{base.GruvboxBlue}, - DiagnosticSignInfo{base.GruvboxBlueSign}, - DiagnosticUnderlineInfo{base.GruvboxBlueUnderline}, - DiagnosticHint{base.GruvboxAqua}, - DiagnosticSignHint{base.GruvboxAquaSign}, - DiagnosticUnderlineHint{base.GruvboxAquaUnderline}, - DiagnosticFloatingError{base.GruvboxRed}, - DiagnosticFloatingWarn{base.GruvboxOrange}, - DiagnosticFloatingInfo{base.GruvboxBlue}, - DiagnosticFloatingHint{base.GruvboxAqua}, - DiagnosticVirtualTextError{base.GruvboxRed}, - DiagnosticVirtualTextWarn{base.GruvboxYellow}, - DiagnosticVirtualTextInfo{base.GruvboxBlue}, - DiagnosticVirtualTextHint{base.GruvboxAqua}, + DiagnosticError = base.GruvboxRed, + DiagnosticSignError = base.GruvboxRedSign, + DiagnosticUnderlineError = base.GruvboxRedUnderline, + DiagnosticWarn = base.GruvboxYellow, + DiagnosticSignWarn = base.GruvboxYellowSign, + DiagnosticUnderlineWarn = base.GruvboxYellowUnderline, + DiagnosticInfo = base.GruvboxBlue, + DiagnosticSignInfo = base.GruvboxBlueSign, + DiagnosticUnderlineInfo = base.GruvboxBlueUnderline, + DiagnosticHint = base.GruvboxAqua, + DiagnosticSignHint = base.GruvboxAquaSign, + DiagnosticUnderlineHint = base.GruvboxAquaUnderline, + DiagnosticFloatingError = base.GruvboxRed, + DiagnosticFloatingWarn = base.GruvboxOrange, + DiagnosticFloatingInfo = base.GruvboxBlue, + DiagnosticFloatingHint = base.GruvboxAqua, + DiagnosticVirtualTextError = base.GruvboxRed, + DiagnosticVirtualTextWarn = base.GruvboxYellow, + DiagnosticVirtualTextInfo = base.GruvboxBlue, + DiagnosticVirtualTextHint = base.GruvboxAqua, -- mail.vim - mailQuoted1 {base.GruvboxAqua}, - mailQuoted2 {base.GruvboxPurple}, - mailQuoted3 {base.GruvboxYellow}, - mailQuoted4 {base.GruvboxGreen}, - mailQuoted5 {base.GruvboxRed}, - mailQuoted6 {base.GruvboxOrange}, - mailSignature {base.Comment}, - } -end) + mailQuoted1 = base.GruvboxAqua, + mailQuoted2 = base.GruvboxPurple, + mailQuoted3 = base.GruvboxYellow, + mailQuoted4 = base.GruvboxGreen, + mailQuoted5 = base.GruvboxRed, + mailQuoted6 = base.GruvboxOrange, + mailSignature = base.Comment, +} return plugins diff --git a/lua/gruvbox/plugins/lightline.lua b/lua/gruvbox/plugins/lightline.lua index 5ac631f..a46dc6e 100644 --- a/lua/gruvbox/plugins/lightline.lua +++ b/lua/gruvbox/plugins/lightline.lua @@ -2,70 +2,70 @@ local M = {} M.start = function(theme) - local bg0 = theme.GruvboxBg0.fg.hex - local bg1 = theme.GruvboxBg1.fg.hex - local bg2 = theme.GruvboxBg2.fg.hex - local bg4 = theme.GruvboxBg4.fg.hex - local fg1 = theme.GruvboxFg1.fg.hex - local fg4 = theme.GruvboxFg4.fg.hex + local bg0 = theme.GruvboxBg0.fg + local bg1 = theme.GruvboxBg1.fg + local bg2 = theme.GruvboxBg2.fg + local bg4 = theme.GruvboxBg4.fg + local fg1 = theme.GruvboxFg1.fg + local fg4 = theme.GruvboxFg4.fg - local yellow = theme.GruvboxYellow.fg.hex - local blue = theme.GruvboxBlue.fg.hex - local aqua = theme.GruvboxAqua.fg.hex - local orange = theme.GruvboxOrange.fg.hex - local red = theme.GruvboxRed.fg.hex - local green = theme.GruvboxGreen.fg.hex + local yellow = theme.GruvboxYellow.fg + local blue = theme.GruvboxBlue.fg + local aqua = theme.GruvboxAqua.fg + local orange = theme.GruvboxOrange.fg + local red = theme.GruvboxRed.fg + local green = theme.GruvboxGreen.fg - local lightline_theme = { - normal = { - left = {{bg0, fg4, "bold"}, {fg4, bg2}}, - middle = {{fg4, bg1}}, - right = {{bg0, fg4}, {fg4, bg2}}, - error = {{bg0, red}}, - warning = {{bg0, yellow}}, - }, - insert = { - left = {{bg0, blue, "bold"}, {fg1, bg2}}, - middle = {{fg4, bg1}}, - right = {{bg0, blue}, {fg1, bg2}}, - }, - inactive = { - left = {{bg4, bg1}}, - middle = {{bg4, bg1}}, - right = {{bg4, bg1}, {bg4, bg1}}, - }, - terminal = { - left = {{bg0, green, "bold"}, {fg1, bg2}}, - middle = {{fg4, bg1}}, - right = {{bg0, green}, {fg1, bg2}}, - }, - replace = { - left = {{bg0, aqua, "bold"}, {fg1, bg2}}, - middle = {{fg4, bg1}}, - right = {{bg0, aqua}, {fg1, bg2}}, - }, - visual = { - left = {{bg0, orange, "bold"}, {bg0, bg4}}, - middle = {{fg4, bg1}}, - right = {{bg0, orange}, {bg0, bg4}}, - }, - tabline = { - left = {{fg4, bg2}}, - middle = {{bg0, bg4}}, - right = {{bg0, orange}}, - tabsel = {{bg0, fg4}}, - }, - } + local lightline_theme = { + normal = { + left = { { bg0, fg4, "bold" }, { fg4, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, fg4 }, { fg4, bg2 } }, + error = { { bg0, red } }, + warning = { { bg0, yellow } }, + }, + insert = { + left = { { bg0, blue, "bold" }, { fg1, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, blue }, { fg1, bg2 } }, + }, + inactive = { + left = { { bg4, bg1 } }, + middle = { { bg4, bg1 } }, + right = { { bg4, bg1 }, { bg4, bg1 } }, + }, + terminal = { + left = { { bg0, green, "bold" }, { fg1, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, green }, { fg1, bg2 } }, + }, + replace = { + left = { { bg0, aqua, "bold" }, { fg1, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, aqua }, { fg1, bg2 } }, + }, + visual = { + left = { { bg0, orange, "bold" }, { bg0, bg4 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, orange }, { bg0, bg4 } }, + }, + tabline = { + left = { { fg4, bg2 } }, + middle = { { bg0, bg4 } }, + right = { { bg0, orange } }, + tabsel = { { bg0, fg4 } }, + }, + } - local has_lightline, _ = pcall(vim.fn["lightline#update"]) - if has_lightline then - local ll_filled = vim.fn['lightline#colorscheme#fill'](lightline_theme) - vim.g['lightline#colorscheme#gruvbox#palette'] = ll_filled - vim.schedule(function() - vim.fn['lightline#disable']() - vim.fn['lightline#enable']() - end) - end + local has_lightline, _ = pcall(vim.fn["lightline#update"]) + if has_lightline then + local ll_filled = vim.fn["lightline#colorscheme#fill"](lightline_theme) + vim.g["lightline#colorscheme#gruvbox#palette"] = ll_filled + vim.schedule(function() + vim.fn["lightline#disable"]() + vim.fn["lightline#enable"]() + end) + end end return M diff --git a/lua/gruvbox/settings.lua b/lua/gruvbox/settings.lua index 84b3c06..08f839f 100644 --- a/lua/gruvbox/settings.lua +++ b/lua/gruvbox/settings.lua @@ -1,84 +1,84 @@ -- gruvbox settings handler -local utils = require("gruvbox.utils") +local utils = require "gruvbox.utils" local settings = { - contrast_dark = "medium", - contrast_light = "medium", - bold = true, - italic = true, - undercurl = true, - underline = true, - inverse = true, - improved_strings = false, - improved_warnings = false, - invert_signs = false, - invert_selection = true, - invert_tabline = false, - italicize_comments = true, - italicize_strings = false, - invert_intend_guides = false, + contrast_dark = "medium", + contrast_light = "medium", + bold = true, + italic = true, + undercurl = true, + underline = true, + inverse = true, + improved_strings = false, + improved_warnings = false, + invert_signs = false, + invert_selection = true, + invert_tabline = false, + italicize_comments = true, + italicize_strings = false, + invert_intend_guides = false, } local styles = { - italic = "italic", - bold = "bold", - underline = "underline", - inverse = "inverse", - undercurl = "undercurl", - invert_signs = "", - invert_selection = "inverse", - invert_tabline = "", - italic_comments = "italic", - italic_strings = "NONE", + italic = "italic", + bold = "bold", + underline = "underline", + inverse = "inverse", + undercurl = "undercurl", + invert_signs = "", + invert_selection = "inverse", + invert_tabline = "", + italic_comments = "italic", + italic_strings = "NONE", } -- 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 + local key = "gruvbox_" .. k + if vim.g[key] == nil then + vim.g[key] = val + end end -- styles check if not utils.tobool(vim.g.gruvbox_bold) then - styles.bold = "NONE" + styles.bold = "NONE" end if not utils.tobool(vim.g.gruvbox_underline) then - styles.underline = "NONE" + styles.underline = "NONE" end if not utils.tobool(vim.g.gruvbox_italic) then - styles.italic = "NONE" + styles.italic = "NONE" end if not utils.tobool(vim.g.gruvbox_inverse) then - styles.inverse = "NONE" + styles.inverse = "NONE" end if not utils.tobool(vim.g.gruvbox_undercurl) then - styles.undercurl = "NONE" + styles.undercurl = "NONE" end if utils.tobool(vim.g.gruvbox_invert_signs) then - styles.invert_signs = "inverse" + styles.invert_signs = "inverse" end if not utils.tobool(vim.g.gruvbox_invert_selection) then - styles.invert_selection = "NONE" + styles.invert_selection = "NONE" end if utils.tobool(vim.g.gruvbox_invert_tabline) then - styles.invert_tabline = "inverse" + styles.invert_tabline = "inverse" end if not utils.tobool(vim.g.gruvbox_italicize_comments) then - styles.italic_comments = "NONE" + styles.italic_comments = "NONE" end if utils.tobool(vim.g.gruvbox_italicize_strings) then - styles.italic_strings = "italic" + styles.italic_strings = "italic" end -return {settings = settings, styles = styles} +return { settings = settings, styles = styles } diff --git a/lua/gruvbox/utils.lua b/lua/gruvbox/utils.lua index c548f5c..1d3edec 100644 --- a/lua/gruvbox/utils.lua +++ b/lua/gruvbox/utils.lua @@ -2,25 +2,65 @@ local M = {} M.tobool = function(val) - if val == 0 or not val then - return false - end - return true + if val == 0 or not val then + return false + end + return true end -- check if vim.g.gruvbox_* color exists in current palette, return default color -- otherwise M.get_color_from_var = function(color, default, colors) - if color == nil then - return default - end - - local c = colors[color] - if c == nil then - print(string.format("%s color could not be found, using default", color)) - return default - end - return c + if color == nil then + return default + end + + local c = colors[color] + if c == nil then + print(string.format("%s color could not be found, using default", color)) + return default + end + return c +end + +M.merge = function(tbls) + local source = {} + for _, group in pairs(tbls) do + for groupName, opts in pairs(group) do + source[groupName] = opts + end + end + + return source +end + +M.highlights = function(hls) + for k, v in pairs(hls) do + if type(v) == "table" then + -- no blank strings allowed for guifg, guibg, guisp and gui + local opt = {} + for kk, vv in pairs(v) do + if vv == "" then + vv = nil + end + + opt[kk] = vv + end + + vim.cmd( + string.format( + "hi %s guifg=%s guibg=%s guisp=%s gui=%s", + k, + opt.fg or "NONE", + opt.bg or "NONE", + opt.sp or "NONE", + opt.gui or "NONE" + ) + ) + else + vim.cmd(string.format("hi! link %s %s", k, v)) + end + end end return M -- cgit v1.2.3 From 5a9f2110d7133865564c39f0489e0984a98c5341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammad=20Ahmad=20=F0=9F=8C=8C?= Date: Wed, 8 Dec 2021 01:37:31 +0200 Subject: refactore(gruvbox): sync with gruvbox-community --- lua/gruvbox/base.lua | 17 +-- lua/gruvbox/colors.lua | 72 ++++++------ lua/gruvbox/plugins/airline.lua | 240 ++++++++++++++++++---------------------- 3 files changed, 153 insertions(+), 176 deletions(-) (limited to 'lua') diff --git a/lua/gruvbox/base.lua b/lua/gruvbox/base.lua index 599f394..66311bc 100644 --- a/lua/gruvbox/base.lua +++ b/lua/gruvbox/base.lua @@ -184,7 +184,7 @@ local base_group = { DiffText = { fg = yellow, bg = bg0, gui = styles.inverse }, ErrorMsg = { fg = bg0, bg = red, gui = styles.bold }, VertSplit = { fg = bg3, bg = vert_split }, - Folded = { fg = gray, bg = bg1, gui = styles.italic_strings }, + Folded = { fg = gray, bg = bg1, gui = styles.italic }, FoldColumn = { fg = gray, bg = bg1 }, SignColumn = { bg = sign_column }, IncSearch = { fg = hls_cursor, bg = bg0, gui = styles.inverse }, @@ -196,7 +196,7 @@ local base_group = { NonText = "GruvboxBg2", Normal = { fg = fg1, bg = bg0 }, Pmenu = { fg = fg1, bg = bg2 }, - PmenuSel = { fg = bg2, bg = fg4, gui = styles.bold }, + PmenuSel = { fg = bg2, bg = blue, gui = styles.bold }, PmenuSbar = { bg = bg2 }, PmenuThumb = { bg = bg4 }, Question = "GruvboxOrangeBold", @@ -206,11 +206,14 @@ local base_group = { SpellRare = "GruvboxPurpleUnderline", SpellBad = "GruvboxRedUnderline", SpellLocal = "GruvboxAquaUnderline", - SpellCap = { fg = green, gui = table_concat({ styles.bold, styles.italic }, ",") }, + SpellCap = utils.tobool(vim.g.gruvbox_improved_warnings) and { + fg = green, + gui = table_concat({ styles.bold, styles.italic }, ","), + } or "GruvboxBlueUnderline", StatusLine = { fg = bg2, bg = fg1, gui = styles.inverse }, StatusLineNC = { fg = bg1, bg = fg4, gui = styles.inverse }, TabLineFill = { fg = bg4, bg = bg1, gui = styles.invert_tabline }, - TabLine = { fg = bg4, bg = bg1, gui = styles.invert_tabline }, + TabLine = "TabLineFill", TabLineSel = { fg = tabline_sel, bg = bg1, gui = styles.invert_tabline }, Title = "GruvboxGreenBold", Visual = { bg = bg3, gui = styles.invert_selection }, @@ -236,7 +239,7 @@ local base_group = { Label = "GruvboxRed", Exception = "GruvboxRed", Keyword = "GruvboxRed", - Operator = "GruvboxOrange", + Operator = "GruvboxFg1", PreProc = "GruvboxAqua", Include = "GruvboxAqua", Define = "GruvboxAqua", @@ -255,8 +258,8 @@ local base_group = { Bold = { gui = styles.bold }, Italic = { gui = styles.italic }, Ignore = {}, - Error = { fg = red, gui = table_concat({ styles.bold, styles.underline }, ",") }, - Todo = { fg = fg0, gui = table_concat({ styles.bold, styles.italic_comments }, ",") }, + Error = { fg = red, gui = table_concat({ styles.bold, styles.inverse }, ",") }, + Todo = { fg = fg0, gui = table_concat({ styles.bold, styles.italic }, ",") }, diffAdded = "GruvboxGreen", diffRemoved = "GruvboxRed", diffChanged = "GruvboxAqua", diff --git a/lua/gruvbox/colors.lua b/lua/gruvbox/colors.lua index c9c55a2..36c7f96 100644 --- a/lua/gruvbox/colors.lua +++ b/lua/gruvbox/colors.lua @@ -1,39 +1,39 @@ -- gruvbox palette return { - 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", + 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", } diff --git a/lua/gruvbox/plugins/airline.lua b/lua/gruvbox/plugins/airline.lua index b6b558b..da7b46d 100644 --- a/lua/gruvbox/plugins/airline.lua +++ b/lua/gruvbox/plugins/airline.lua @@ -1,180 +1,154 @@ local M = {} M.refresh = function() - vim.api.nvim_err_writeln("refresh called!") - local M0 = vim.fn["airline#themes#get_highlight"]("Identifier") - - local accents_group = vim.fn["airline#themes#get_highlight"]("Special") - local modified_group = {M0[1], "", M0[2], "", ""} - local warning_group = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"Question", "fg"}) - local error_group = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"WarningMsg", "fg"}) - - local N1 = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"StatusLineNC", "fg"}) - local N2 = vim.fn["airline#themes#get_highlight2"]({"StatusLineNC", "bg"}, - {"PMenu", "bg"}) - local N3 = vim.fn["airline#themes#get_highlight2"]({"StatusLineNC", "bg"}, - {"StatusLineNC", "fg"}) + vim.api.nvim_err_writeln "refresh called!" + local M0 = vim.fn["airline#themes#get_highlight"] "Identifier" - -- normal mode vars - vim.g["airline#themes#gruvbox#palette.normal"] = - vim.fn["airline#themes#generate_color_map"](N1, N2, N3) - vim.g["airline#themes#gruvbox#palette.normal_modified"] = {airline_c = modified_group} - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = - warning_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = - warning_group - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] = error_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] = error_group - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] = N3 - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] = N3 + local accents_group = vim.fn["airline#themes#get_highlight"] "Special" + local modified_group = { M0[1], "", M0[2], "", "" } + local warning_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) + local error_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "WarningMsg", "fg" }) - -- insert mode vars - local I1 = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"Identifier", "fg"}) - local I2 = N2 - local I3 = vim.fn["airline#themes#get_highlight2"]({"GruvboxFg1", "fg"}, - {"Pmenu", "bg"}) + local N1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "StatusLineNC", "fg" }) + local N2 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "PMenu", "bg" }) + local N3 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "StatusLineNC", "fg" }) - vim.g["airline#themes#gruvbox#palette.insert"] = - vim.fn["airline#themes#generate_color_map"](I1, I2, I3) + -- normal mode vars + vim.g["airline#themes#gruvbox#palette.normal"] = vim.fn["airline#themes#generate_color_map"](N1, N2, N3) + vim.g["airline#themes#gruvbox#palette.normal_modified"] = { airline_c = modified_group } + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] = error_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] = error_group + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] = N3 + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] = N3 - vim.g["airline#themes#gruvbox#palette.insert_modified"] = - vim.g["airline#themes#gruvbox#palette.normal_modified"] + -- insert mode vars + local I1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Identifier", "fg" }) + local I2 = N2 + local I3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxFg1", "fg" }, { "Pmenu", "bg" }) - vim.g["airline#themes#gruvbox#palette.insert.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.insert"] = vim.fn["airline#themes#generate_color_map"](I1, I2, I3) - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.insert_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - vim.g["airline#themes#gruvbox#palette.insert.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.insert.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.insert.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.insert.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - -- replace mode vars - local R1 = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"Structure", "fg"}) - local R2 = I2 - local R3 = I3 + vim.g["airline#themes#gruvbox#palette.insert.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.replace"] = - vim.fn["airline#themes#generate_color_map"](R1, R2, R3) + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - vim.g["airline#themes#gruvbox#palette.replace_modified"] = - vim.g["airline#themes#gruvbox#palette.normal_modified"] + -- replace mode vars + local R1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Structure", "fg" }) + local R2 = I2 + local R3 = I3 - vim.g["airline#themes#gruvbox#palette.replace.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](R1, R2, R3) - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.replace_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - vim.g["airline#themes#gruvbox#palette.replace.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.replace.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.replace.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.replace.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - -- visual mode vars - local V1 = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"Question", "fg"}) - local V2 = N2 - local V3 = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"TabLine", "fg"}) + vim.g["airline#themes#gruvbox#palette.replace.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.replace"] = - vim.fn["airline#themes#generate_color_map"](V1, V2, V3) + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - vim.g["airline#themes#gruvbox#palette.visual_modified"] = - {airline_c = {V3[1], "", V3[3], "", ""}} + -- visual mode vars + local V1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) + local V2 = N2 + local V3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "TabLine", "fg" }) - vim.g["airline#themes#gruvbox#palette.visual.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](V1, V2, V3) - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.visual_modified"] = { airline_c = { V3[1], "", V3[3], "", "" } } - vim.g["airline#themes#gruvbox#palette.visual.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.visual.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.visual.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.visual.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - local C1 = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"GruvboxGreen", "fg"}) - local C2 = I2 - local C3 = I3 + vim.g["airline#themes#gruvbox#palette.visual.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.commandline"] = - vim.fn["airline#themes#generate_color_map"](C1, C2, C3) + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - vim.g["airline#themes#gruvbox#palette.commandline_modified"] = - vim.g["airline#themes#gruvbox#palette.normal_modified"] + local C1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxGreen", "fg" }) + local C2 = I2 + local C3 = I3 - vim.g["airline#themes#gruvbox#palette.commandline.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.commandline"] = vim.fn["airline#themes#generate_color_map"](C1, C2, C3) - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.commandline_modified"] = + vim.g["airline#themes#gruvbox#palette.normal_modified"] - vim.g["airline#themes#gruvbox#palette.commandline.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.commandline.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.commandline.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.commandline.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - local IA = vim.fn["airline#themes#get_highlight2"]({"TabLine", "fg"}, - {"CursorLine", "bg"}) - vim.g["airline#themes#gruvbox#palette.inactive"] = - vim.fn["airline#themes#generate_color_map"](IA, IA, IA) + vim.g["airline#themes#gruvbox#palette.commandline.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.inactive_modified"] = - {airline_c = modified_group} - vim.g["airline#themes#gruvbox#palette.accents"] = {red = accents_group} + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - local TF = vim.fn["airline#themes#get_highlight2"]({"GruvboxBg0", "fg"}, - {"GruvboxBg0", "fg"}) + local IA = vim.fn["airline#themes#get_highlight2"]({ "TabLine", "fg" }, { "CursorLine", "bg" }) + vim.g["airline#themes#gruvbox#palette.inactive"] = vim.fn["airline#themes#generate_color_map"](IA, IA, IA) - vim.g["airline#themes#gruvbox#palette.tabline"] = - { - airline_tab = N2, - airline_tabsel = N1, - airline_tabtype = V1, - airline_tablabel = V1, - airline_tablabel_right = V1, - airline_tabfill = TF, - airline_tabhid = IA, - airline_tabmod = I1, + vim.g["airline#themes#gruvbox#palette.inactive_modified"] = { airline_c = modified_group } + vim.g["airline#themes#gruvbox#palette.accents"] = { red = accents_group } + + local TF = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxBg0", "fg" }) + + vim.g["airline#themes#gruvbox#palette.tabline"] = { + airline_tab = N2, + airline_tabsel = N1, + airline_tabtype = V1, + airline_tablabel = V1, + airline_tablabel_right = V1, + airline_tabfill = TF, + airline_tabhid = IA, + airline_tabmod = I1, } end -- cgit v1.2.3 From 72eb93408e6e27ada50d501a1cc3e0ebded95b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammad=20Ahmad=20=F0=9F=8C=8C?= Date: Mon, 13 Dec 2021 00:57:15 +0200 Subject: chore(gruvbox): format using stylua --- lua/gruvbox/base.lua | 350 +++++++++++----------- lua/gruvbox/colors.lua | 72 ++--- lua/gruvbox/init.lua | 10 +- lua/gruvbox/languages.lua | 230 +++++++-------- lua/gruvbox/plugins/airline.lua | 211 +++++++------- lua/gruvbox/plugins/highlights.lua | 576 ++++++++++++++++++------------------- lua/gruvbox/plugins/lightline.lua | 122 ++++---- lua/gruvbox/settings.lua | 80 +++--- lua/gruvbox/utils.lua | 84 +++--- 9 files changed, 867 insertions(+), 868 deletions(-) (limited to 'lua') diff --git a/lua/gruvbox/base.lua b/lua/gruvbox/base.lua index 66311bc..e4e5708 100644 --- a/lua/gruvbox/base.lua +++ b/lua/gruvbox/base.lua @@ -1,6 +1,6 @@ -local colors = require "gruvbox.colors" +local colors = require("gruvbox.colors") local styles = require("gruvbox.settings").styles -local utils = require "gruvbox.utils" +local utils = require("gruvbox.utils") -- options (dark mode by default) local bg0 = colors.dark0 @@ -26,37 +26,37 @@ local gray = colors.gray local bg = vim.o.background if bg == nil then - bg = "dark" - vim.o.background = bg + bg = "dark" + vim.o.background = bg 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 + 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 -- handle light/dark contrast settings local contrast = vim.g["gruvbox_contrast_" .. bg] if contrast == "hard" then - bg0 = colors[bg .. "0_hard"] + bg0 = colors[bg .. "0_hard"] elseif contrast == "soft" then - bg0 = colors[bg .. "0_soft"] + bg0 = colors[bg .. "0_soft"] end -- extending colors table with basic names for easy customization in g:gruvbox_* options @@ -95,10 +95,10 @@ local special_string_bg = bg1 local special_string_gui = styles.italic_strings if not utils.tobool(vim.g.gruvbox_improved_strings) then - improved_strings_fg = green - improved_strings_bg = nil - special_string_bg = nil - special_string_gui = nil + improved_strings_fg = green + improved_strings_bg = nil + special_string_bg = nil + special_string_gui = nil end -- neovim terminal mode colors @@ -124,158 +124,158 @@ vim.g.colors_name = "gruvbox" local table_concat = table.concat local base_group = { - -- Base groups - GruvboxFg0 = { fg = fg0 }, - GruvboxFg1 = { fg = fg1 }, - GruvboxFg2 = { fg = fg2 }, - GruvboxFg3 = { fg = fg3 }, - GruvboxFg4 = { fg = fg4 }, - GruvboxGray = { fg = gray }, - GruvboxBg0 = { fg = bg0 }, - GruvboxBg1 = { fg = bg1 }, - GruvboxBg2 = { fg = bg2 }, - GruvboxBg3 = { fg = bg3 }, - GruvboxBg4 = { fg = bg4 }, + -- Base groups + GruvboxFg0 = { fg = fg0 }, + GruvboxFg1 = { fg = fg1 }, + GruvboxFg2 = { fg = fg2 }, + GruvboxFg3 = { fg = fg3 }, + GruvboxFg4 = { fg = fg4 }, + GruvboxGray = { fg = gray }, + GruvboxBg0 = { fg = bg0 }, + GruvboxBg1 = { fg = bg1 }, + GruvboxBg2 = { fg = bg2 }, + GruvboxBg3 = { fg = bg3 }, + GruvboxBg4 = { fg = bg4 }, - GruvboxRed = { fg = red }, - GruvboxRedBold = { fg = red, gui = styles.bold }, - GruvboxGreen = { fg = green }, - GruvboxGreenBold = { fg = green, gui = styles.bold }, - GruvboxYellow = { fg = yellow }, - GruvboxYellowBold = { fg = yellow, gui = styles.bold }, - GruvboxBlue = { fg = blue }, - GruvboxBlueBold = { fg = blue, gui = styles.bold }, - GruvboxPurple = { fg = purple }, - GruvboxPurpleBold = { fg = purple, gui = styles.bold }, - GruvboxAqua = { fg = aqua }, - GruvboxAquaBold = { fg = aqua, gui = styles.bold }, - GruvboxOrange = { fg = orange }, - GruvboxOrangeBold = { fg = orange, gui = styles.bold }, + GruvboxRed = { fg = red }, + GruvboxRedBold = { fg = red, gui = styles.bold }, + GruvboxGreen = { fg = green }, + GruvboxGreenBold = { fg = green, gui = styles.bold }, + GruvboxYellow = { fg = yellow }, + GruvboxYellowBold = { fg = yellow, gui = styles.bold }, + GruvboxBlue = { fg = blue }, + GruvboxBlueBold = { fg = blue, gui = styles.bold }, + GruvboxPurple = { fg = purple }, + GruvboxPurpleBold = { fg = purple, gui = styles.bold }, + GruvboxAqua = { fg = aqua }, + GruvboxAquaBold = { fg = aqua, gui = styles.bold }, + GruvboxOrange = { fg = orange }, + GruvboxOrangeBold = { fg = orange, gui = styles.bold }, - GruvboxRedSign = { fg = red, bg = sign_column, gui = styles.invert_signs }, - GruvboxGreenSign = { fg = green, bg = sign_column, gui = styles.invert_signs }, - GruvboxYellowSign = { fg = yellow, bg = sign_column, gui = styles.invert_signs }, - GruvboxBlueSign = { fg = blue, bg = sign_column, gui = styles.invert_signs }, - GruvboxPurpleSign = { fg = purple, bg = sign_column, gui = styles.invert_signs }, - GruvboxAquaSign = { fg = aqua, bg = sign_column, gui = styles.invert_signs }, - GruvboxOrangeSign = { fg = orange, bg = sign_column, gui = styles.invert_signs }, + GruvboxRedSign = { fg = red, bg = sign_column, gui = styles.invert_signs }, + GruvboxGreenSign = { fg = green, bg = sign_column, gui = styles.invert_signs }, + GruvboxYellowSign = { fg = yellow, bg = sign_column, gui = styles.invert_signs }, + GruvboxBlueSign = { fg = blue, bg = sign_column, gui = styles.invert_signs }, + GruvboxPurpleSign = { fg = purple, bg = sign_column, gui = styles.invert_signs }, + GruvboxAquaSign = { fg = aqua, bg = sign_column, gui = styles.invert_signs }, + GruvboxOrangeSign = { fg = orange, bg = sign_column, gui = styles.invert_signs }, - GruvboxRedUnderline = { gui = styles.undercurl, sp = red }, - GruvboxGreenUnderline = { gui = styles.undercurl, sp = green }, - GruvboxYellowUnderline = { gui = styles.undercurl, sp = yellow }, - GruvboxBlueUnderline = { gui = styles.undercurl, sp = blue }, - GruvboxPurpleUnderline = { gui = styles.undercurl, sp = purple }, - GruvboxAquaUnderline = { gui = styles.undercurl, sp = aqua }, - GruvboxOrangeUnderline = { gui = styles.undercurl, sp = orange }, + GruvboxRedUnderline = { gui = styles.undercurl, sp = red }, + GruvboxGreenUnderline = { gui = styles.undercurl, sp = green }, + GruvboxYellowUnderline = { gui = styles.undercurl, sp = yellow }, + GruvboxBlueUnderline = { gui = styles.undercurl, sp = blue }, + GruvboxPurpleUnderline = { gui = styles.undercurl, sp = purple }, + GruvboxAquaUnderline = { gui = styles.undercurl, sp = aqua }, + GruvboxOrangeUnderline = { gui = styles.undercurl, sp = orange }, - ColorColumn = { bg = color_column }, - Conceal = { fg = blue }, - Cursor = { gui = styles.inverse }, - lCursor = "Cursor", - iCursor = "Cursor", - vCursor = "Cursor", - CursorIM = "Cursor", - CursorLine = { bg = bg1 }, - CursorColumn = "CursorLine", - Directory = "GruvboxGreenBold", - DiffAdd = { fg = green, bg = bg0, gui = styles.inverse }, - DiffChange = { fg = aqua, bg = bg0, gui = styles.inverse }, - DiffDelete = { fg = red, bg = bg0, gui = styles.inverse }, - DiffText = { fg = yellow, bg = bg0, gui = styles.inverse }, - ErrorMsg = { fg = bg0, bg = red, gui = styles.bold }, - VertSplit = { fg = bg3, bg = vert_split }, - Folded = { fg = gray, bg = bg1, gui = styles.italic }, - FoldColumn = { fg = gray, bg = bg1 }, - SignColumn = { bg = sign_column }, - IncSearch = { fg = hls_cursor, bg = bg0, gui = styles.inverse }, - LineNr = { fg = bg4, bg = number_column }, - CursorLineNr = { fg = yellow, bg = bg1 }, - MatchParen = { bg = bg3, gui = styles.bold }, - ModeMsg = "GruvboxYellowBold", - MoreMsg = "GruvboxYellowBold", - NonText = "GruvboxBg2", - Normal = { fg = fg1, bg = bg0 }, - Pmenu = { fg = fg1, bg = bg2 }, - PmenuSel = { fg = bg2, bg = blue, gui = styles.bold }, - PmenuSbar = { bg = bg2 }, - PmenuThumb = { bg = bg4 }, - Question = "GruvboxOrangeBold", - QuickFixLine = { fg = bg0, bg = yellow, gui = styles.bold }, - Search = { fg = hls_highlight, bg = bg0, gui = styles.inverse }, - SpecialKey = "GruvboxFg4", - SpellRare = "GruvboxPurpleUnderline", - SpellBad = "GruvboxRedUnderline", - SpellLocal = "GruvboxAquaUnderline", - SpellCap = utils.tobool(vim.g.gruvbox_improved_warnings) and { - fg = green, - gui = table_concat({ styles.bold, styles.italic }, ","), - } or "GruvboxBlueUnderline", - StatusLine = { fg = bg2, bg = fg1, gui = styles.inverse }, - StatusLineNC = { fg = bg1, bg = fg4, gui = styles.inverse }, - TabLineFill = { fg = bg4, bg = bg1, gui = styles.invert_tabline }, - TabLine = "TabLineFill", - TabLineSel = { fg = tabline_sel, bg = bg1, gui = styles.invert_tabline }, - Title = "GruvboxGreenBold", - Visual = { bg = bg3, gui = styles.invert_selection }, - VisualNOS = "Visual", - WarningMsg = "GruvboxRedBold", - WildMenu = { fg = blue, bg = bg2, gui = styles.bold }, - Constant = "GruvboxPurple", - Special = { fg = special_string_fg, bg = special_string_bg, gui = special_string_gui }, - String = { - fg = improved_strings_fg, - bg = improved_strings_bg, - gui = improved_strings_gui, - }, - Character = "GruvboxPurple", - Number = "GruvboxPurple", - Boolean = "GruvboxPurple", - Float = "GruvboxPurple", - Identifier = "GruvboxBlue", - Function = "GruvboxGreenBold", - Statement = "GruvboxRed", - Conditional = "GruvboxRed", - Repeat = "GruvboxRed", - Label = "GruvboxRed", - Exception = "GruvboxRed", - Keyword = "GruvboxRed", - Operator = "GruvboxFg1", - PreProc = "GruvboxAqua", - Include = "GruvboxAqua", - Define = "GruvboxAqua", - Macro = "GruvboxAqua", - PreCondit = "GruvboxAqua", - Type = "GruvboxYellow", - StorageClass = "GruvboxOrange", - Structure = "GruvboxAqua", - Typedef = "GruvboxYellow", - SpecialChar = "GruvboxRed", - Tag = "GruvboxAquaBold", - Delimiter = "GruvboxFg3", - Comment = { fg = gray, gui = styles.italic_comments }, - Debug = "GruvboxRed", - Underlined = { fg = blue, gui = styles.underline }, - Bold = { gui = styles.bold }, - Italic = { gui = styles.italic }, - Ignore = {}, - Error = { fg = red, gui = table_concat({ styles.bold, styles.inverse }, ",") }, - Todo = { fg = fg0, gui = table_concat({ styles.bold, styles.italic }, ",") }, - diffAdded = "GruvboxGreen", - diffRemoved = "GruvboxRed", - diffChanged = "GruvboxAqua", - diffFile = "GruvboxOrange", - diffNewFile = "GruvboxYellow", - diffLine = "GruvboxBlue", - -- signature - SignatureMarkText = "GruvboxBlueSign", - SignatureMarkerText = "GruvboxPurpleSign", - -- gitcommit - gitcommitSelectedFile = "GruvboxGreen", - gitcommitDiscardedFile = "GruvboxRed", - -- checkhealth - healthError = { fg = bg0, bg = red }, - healthSuccess = { fg = bg0, bg = green }, - healthWarning = { fg = bg0, bg = yellow }, + ColorColumn = { bg = color_column }, + Conceal = { fg = blue }, + Cursor = { gui = styles.inverse }, + lCursor = "Cursor", + iCursor = "Cursor", + vCursor = "Cursor", + CursorIM = "Cursor", + CursorLine = { bg = bg1 }, + CursorColumn = "CursorLine", + Directory = "GruvboxGreenBold", + DiffAdd = { fg = green, bg = bg0, gui = styles.inverse }, + DiffChange = { fg = aqua, bg = bg0, gui = styles.inverse }, + DiffDelete = { fg = red, bg = bg0, gui = styles.inverse }, + DiffText = { fg = yellow, bg = bg0, gui = styles.inverse }, + ErrorMsg = { fg = bg0, bg = red, gui = styles.bold }, + VertSplit = { fg = bg3, bg = vert_split }, + Folded = { fg = gray, bg = bg1, gui = styles.italic }, + FoldColumn = { fg = gray, bg = bg1 }, + SignColumn = { bg = sign_column }, + IncSearch = { fg = hls_cursor, bg = bg0, gui = styles.inverse }, + LineNr = { fg = bg4, bg = number_column }, + CursorLineNr = { fg = yellow, bg = bg1 }, + MatchParen = { bg = bg3, gui = styles.bold }, + ModeMsg = "GruvboxYellowBold", + MoreMsg = "GruvboxYellowBold", + NonText = "GruvboxBg2", + Normal = { fg = fg1, bg = bg0 }, + Pmenu = { fg = fg1, bg = bg2 }, + PmenuSel = { fg = bg2, bg = blue, gui = styles.bold }, + PmenuSbar = { bg = bg2 }, + PmenuThumb = { bg = bg4 }, + Question = "GruvboxOrangeBold", + QuickFixLine = { fg = bg0, bg = yellow, gui = styles.bold }, + Search = { fg = hls_highlight, bg = bg0, gui = styles.inverse }, + SpecialKey = "GruvboxFg4", + SpellRare = "GruvboxPurpleUnderline", + SpellBad = "GruvboxRedUnderline", + SpellLocal = "GruvboxAquaUnderline", + SpellCap = utils.tobool(vim.g.gruvbox_improved_warnings) and { + fg = green, + gui = table_concat({ styles.bold, styles.italic }, ","), + } or "GruvboxBlueUnderline", + StatusLine = { fg = bg2, bg = fg1, gui = styles.inverse }, + StatusLineNC = { fg = bg1, bg = fg4, gui = styles.inverse }, + TabLineFill = { fg = bg4, bg = bg1, gui = styles.invert_tabline }, + TabLine = "TabLineFill", + TabLineSel = { fg = tabline_sel, bg = bg1, gui = styles.invert_tabline }, + Title = "GruvboxGreenBold", + Visual = { bg = bg3, gui = styles.invert_selection }, + VisualNOS = "Visual", + WarningMsg = "GruvboxRedBold", + WildMenu = { fg = blue, bg = bg2, gui = styles.bold }, + Constant = "GruvboxPurple", + Special = { fg = special_string_fg, bg = special_string_bg, gui = special_string_gui }, + String = { + fg = improved_strings_fg, + bg = improved_strings_bg, + gui = improved_strings_gui, + }, + Character = "GruvboxPurple", + Number = "GruvboxPurple", + Boolean = "GruvboxPurple", + Float = "GruvboxPurple", + Identifier = "GruvboxBlue", + Function = "GruvboxGreenBold", + Statement = "GruvboxRed", + Conditional = "GruvboxRed", + Repeat = "GruvboxRed", + Label = "GruvboxRed", + Exception = "GruvboxRed", + Keyword = "GruvboxRed", + Operator = "GruvboxFg1", + PreProc = "GruvboxAqua", + Include = "GruvboxAqua", + Define = "GruvboxAqua", + Macro = "GruvboxAqua", + PreCondit = "GruvboxAqua", + Type = "GruvboxYellow", + StorageClass = "GruvboxOrange", + Structure = "GruvboxAqua", + Typedef = "GruvboxYellow", + SpecialChar = "GruvboxRed", + Tag = "GruvboxAquaBold", + Delimiter = "GruvboxFg3", + Comment = { fg = gray, gui = styles.italic_comments }, + Debug = "GruvboxRed", + Underlined = { fg = blue, gui = styles.underline }, + Bold = { gui = styles.bold }, + Italic = { gui = styles.italic }, + Ignore = {}, + Error = { fg = red, gui = table_concat({ styles.bold, styles.inverse }, ",") }, + Todo = { fg = fg0, gui = table_concat({ styles.bold, styles.italic }, ",") }, + diffAdded = "GruvboxGreen", + diffRemoved = "GruvboxRed", + diffChanged = "GruvboxAqua", + diffFile = "GruvboxOrange", + diffNewFile = "GruvboxYellow", + diffLine = "GruvboxBlue", + -- signature + SignatureMarkText = "GruvboxBlueSign", + SignatureMarkerText = "GruvboxPurpleSign", + -- gitcommit + gitcommitSelectedFile = "GruvboxGreen", + gitcommitDiscardedFile = "GruvboxRed", + -- checkhealth + healthError = { fg = bg0, bg = red }, + healthSuccess = { fg = bg0, bg = green }, + healthWarning = { fg = bg0, bg = yellow }, } return base_group diff --git a/lua/gruvbox/colors.lua b/lua/gruvbox/colors.lua index 36c7f96..c9c55a2 100644 --- a/lua/gruvbox/colors.lua +++ b/lua/gruvbox/colors.lua @@ -1,39 +1,39 @@ -- gruvbox palette return { - 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", + 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", } diff --git a/lua/gruvbox/init.lua b/lua/gruvbox/init.lua index e85cd3c..679f8ac 100644 --- a/lua/gruvbox/init.lua +++ b/lua/gruvbox/init.lua @@ -1,14 +1,14 @@ -local base = require "gruvbox.base" -local plugins = require "gruvbox.plugins.highlights" -local languages = require "gruvbox.languages" -local utils = require "gruvbox.utils" +local base = require("gruvbox.base") +local plugins = require("gruvbox.plugins.highlights") +local languages = require("gruvbox.languages") +local utils = require("gruvbox.utils") local specs = { base, languages, plugins } local spec = utils.merge(specs) local M = {} M.load = function() - utils.highlights(spec) + utils.highlights(spec) end -- checking if user has lightline and adding support diff --git a/lua/gruvbox/languages.lua b/lua/gruvbox/languages.lua index 20486b0..ee4bbe8 100644 --- a/lua/gruvbox/languages.lua +++ b/lua/gruvbox/languages.lua @@ -1,144 +1,144 @@ -- language specific higlights -local base = require "gruvbox.base" +local base = require("gruvbox.base") local styles = require("gruvbox.settings").styles -local utils = require "gruvbox.utils" +local utils = require("gruvbox.utils") -- xml local xml = { - xmlTag = base.GruvboxAquaBold, - xmlEndTag = base.GruvboxAquaBold, - xmlTagName = base.GruvboxBlue, - xmlEqual = base.GruvboxBlue, - docbkKeyword = base.GruvboxAquaBold, - xmlDocTypeDecl = base.GruvboxGray, - xmlDocTypeKeyword = base.GruvboxPurple, - xmlCdataStart = base.GruvboxGray, - xmlCdataCdata = base.GruvboxPurple, - dtdFunction = base.GruvboxGray, - dtdTagName = base.GruvboxPurple, - xmlAttrib = base.GruvboxOrange, - xmlProcessingDelim = base.GruvboxGray, - dtdParamEntityPunct = base.GruvboxGray, - dtdParamEntityDPunct = base.GruvboxGray, - xmlAttribPunct = base.GruvboxGray, - xmlEntity = base.GruvboxRed, - xmlEntityPunct = base.GruvboxRed, + xmlTag = base.GruvboxAquaBold, + xmlEndTag = base.GruvboxAquaBold, + xmlTagName = base.GruvboxBlue, + xmlEqual = base.GruvboxBlue, + docbkKeyword = base.GruvboxAquaBold, + xmlDocTypeDecl = base.GruvboxGray, + xmlDocTypeKeyword = base.GruvboxPurple, + xmlCdataStart = base.GruvboxGray, + xmlCdataCdata = base.GruvboxPurple, + dtdFunction = base.GruvboxGray, + dtdTagName = base.GruvboxPurple, + xmlAttrib = base.GruvboxOrange, + xmlProcessingDelim = base.GruvboxGray, + dtdParamEntityPunct = base.GruvboxGray, + dtdParamEntityDPunct = base.GruvboxGray, + xmlAttribPunct = base.GruvboxGray, + xmlEntity = base.GruvboxRed, + xmlEntityPunct = base.GruvboxRed, } local purescript = { - purescriptModuleKeyword = base.GruvboxAqua, - purescriptModuleName = base.GruvboxFg1, - purescriptWhere = base.GruvboxAqua, - purescriptDelimiter = base.GruvboxFg4, - purescriptType = base.GruvboxFg1, - purescriptImportKeyword = base.GruvboxAqua, - purescriptHidingKeyword = base.GruvboxAqua, - purescriptAsKeyword = base.GruvboxAqua, - purescriptStructure = base.GruvboxAqua, - purescriptOperator = base.GruvboxBlue, - purescriptTypeVar = base.GruvboxFg1, - purescriptConstructor = base.GruvboxFg1, - purescriptFunction = base.GruvboxFg1, - purescriptConditional = base.GruvboxOrange, - purescriptBacktick = base.GruvboxOrange, + purescriptModuleKeyword = base.GruvboxAqua, + purescriptModuleName = base.GruvboxFg1, + purescriptWhere = base.GruvboxAqua, + purescriptDelimiter = base.GruvboxFg4, + purescriptType = base.GruvboxFg1, + purescriptImportKeyword = base.GruvboxAqua, + purescriptHidingKeyword = base.GruvboxAqua, + purescriptAsKeyword = base.GruvboxAqua, + purescriptStructure = base.GruvboxAqua, + purescriptOperator = base.GruvboxBlue, + purescriptTypeVar = base.GruvboxFg1, + purescriptConstructor = base.GruvboxFg1, + purescriptFunction = base.GruvboxFg1, + purescriptConditional = base.GruvboxOrange, + purescriptBacktick = base.GruvboxOrange, } local coffeescript = { - coffeeExtendedOp = base.GruvboxFg3, - coffeeSpecialOp = base.GruvboxFg3, - coffeeCurly = base.GruvboxOrange, - coffeeParen = base.GruvboxFg3, - coffeeBracket = base.GruvboxOrange, + coffeeExtendedOp = base.GruvboxFg3, + coffeeSpecialOp = base.GruvboxFg3, + coffeeCurly = base.GruvboxOrange, + coffeeParen = base.GruvboxFg3, + coffeeBracket = base.GruvboxOrange, } local objc = { objcTypeModifier = base.GruvboxRed, objcDirective = base.GruvboxBlue } local moonscript = { - moonSpecialOp = base.GruvboxFg3, - moonExtendedOp = base.GruvboxFg3, - moonFunction = base.GruvboxFg3, - moonObject = base.GruvboxYellow, + moonSpecialOp = base.GruvboxFg3, + moonExtendedOp = base.GruvboxFg3, + moonFunction = base.GruvboxFg3, + moonObject = base.GruvboxYellow, } local elixir = { - elixirDocString = base.Comment, - elixirStringDelimiter = base.GruvboxGreen, - elixirInterpolationDelimiter = base.GruvboxAqua, - elixirModuleDeclaration = base.GruvboxYellow, + elixirDocString = base.Comment, + elixirStringDelimiter = base.GruvboxGreen, + elixirInterpolationDelimiter = base.GruvboxAqua, + elixirModuleDeclaration = base.GruvboxYellow, } local markdown = { - markdownItalic = { fg = base.GruvboxFg3.fg, gui = styles.italic_strings }, - markdownH1 = base.GruvboxGreenBold, - markdownH2 = "markdownH1", - markdownH3 = base.GruvboxYellowBold, - markdownH4 = "markdownH3", - markdownH5 = base.GruvboxYellow, - markdownH6 = "markdownH5", - markdownCode = base.GruvboxAqua, - markdownCodeBlock = base.GruvboxAqua, - markdownCodeDelimiter = base.GruvboxAqua, - markdownBlockquote = base.GruvboxGray, - markdownListMarker = base.GruvboxGray, - markdownOrderedListMarker = base.GruvboxGray, - markdownRule = base.GruvboxGray, - markdownHeadingRule = base.GruvboxGray, - markdownUrlDelimiter = base.GruvboxFg3, - markdownLinkDelimiter = base.GruvboxFg3, - markdownLinkTextDelimiter = base.GruvboxFg3, - markdownHeadingDelimiter = base.GruvboxOrange, - markdownUrl = base.GruvboxPurple, - markdownUrlTitleDelimiter = base.GruvboxGreen, - markdownLinkText = { fg = base.GruvboxGray.fg, gui = styles.underline }, - markdownIdDeclaration = "markdownLinkText", + markdownItalic = { fg = base.GruvboxFg3.fg, gui = styles.italic_strings }, + markdownH1 = base.GruvboxGreenBold, + markdownH2 = "markdownH1", + markdownH3 = base.GruvboxYellowBold, + markdownH4 = "markdownH3", + markdownH5 = base.GruvboxYellow, + markdownH6 = "markdownH5", + markdownCode = base.GruvboxAqua, + markdownCodeBlock = base.GruvboxAqua, + markdownCodeDelimiter = base.GruvboxAqua, + markdownBlockquote = base.GruvboxGray, + markdownListMarker = base.GruvboxGray, + markdownOrderedListMarker = base.GruvboxGray, + markdownRule = base.GruvboxGray, + markdownHeadingRule = base.GruvboxGray, + markdownUrlDelimiter = base.GruvboxFg3, + markdownLinkDelimiter = base.GruvboxFg3, + markdownLinkTextDelimiter = base.GruvboxFg3, + markdownHeadingDelimiter = base.GruvboxOrange, + markdownUrl = base.GruvboxPurple, + markdownUrlTitleDelimiter = base.GruvboxGreen, + markdownLinkText = { fg = base.GruvboxGray.fg, gui = styles.underline }, + markdownIdDeclaration = "markdownLinkText", } local haskell = { - haskellType = base.GruvboxBlue, - haskellIdentifier = base.GruvboxAqua, - haskellSeparator = base.GruvboxFg4, - haskellDelimiter = base.GruvboxOrange, - haskellOperators = base.GruvboxPurple, - haskellBacktick = base.GruvboxOrange, - haskellStatement = base.GruvboxPurple, - haskellConditional = base.GruvboxPurple, - haskellLet = base.GruvboxRed, - haskellDefault = base.GruvboxRed, - haskellWhere = base.GruvboxRed, - haskellBottom = base.GruvboxRedBold, - haskellImportKeywords = base.GruvboxPurpleBold, - haskellDeclKeyword = base.GruvboxOrange, - haskellDecl = base.GruvboxOrange, - haskellDeriving = base.GruvboxPurple, - haskellAssocType = base.GruvboxAqua, - haskellNumber = base.GruvboxAqua, - haskellPragma = base.GruvboxRedBold, - haskellTH = base.GruvboxAquaBold, - haskellForeignKeywords = base.GruvboxGreen, - haskellKeyword = base.GruvboxRed, - haskellFloat = base.GruvboxAqua, - haskellInfix = base.GruvboxPurple, - haskellQuote = base.GruvboxGreenBold, - haskellShebang = base.GruvboxYellowBold, - haskellLiquid = base.GruvboxPurpleBold, - haskellQuasiQuoted = base.GruvboxBlueBold, - haskellRecursiveDo = base.GruvboxPurple, - haskellQuotedType = base.GruvboxRed, - haskellPreProc = base.GruvboxFg4, - haskellTypeRoles = base.GruvboxRedBold, - haskellTypeForall = base.GruvboxRed, - haskellPatternKeyword = base.GruvboxBlue, + haskellType = base.GruvboxBlue, + haskellIdentifier = base.GruvboxAqua, + haskellSeparator = base.GruvboxFg4, + haskellDelimiter = base.GruvboxOrange, + haskellOperators = base.GruvboxPurple, + haskellBacktick = base.GruvboxOrange, + haskellStatement = base.GruvboxPurple, + haskellConditional = base.GruvboxPurple, + haskellLet = base.GruvboxRed, + haskellDefault = base.GruvboxRed, + haskellWhere = base.GruvboxRed, + haskellBottom = base.GruvboxRedBold, + haskellImportKeywords = base.GruvboxPurpleBold, + haskellDeclKeyword = base.GruvboxOrange, + haskellDecl = base.GruvboxOrange, + haskellDeriving = base.GruvboxPurple, + haskellAssocType = base.GruvboxAqua, + haskellNumber = base.GruvboxAqua, + haskellPragma = base.GruvboxRedBold, + haskellTH = base.GruvboxAquaBold, + haskellForeignKeywords = base.GruvboxGreen, + haskellKeyword = base.GruvboxRed, + haskellFloat = base.GruvboxAqua, + haskellInfix = base.GruvboxPurple, + haskellQuote = base.GruvboxGreenBold, + haskellShebang = base.GruvboxYellowBold, + haskellLiquid = base.GruvboxPurpleBold, + haskellQuasiQuoted = base.GruvboxBlueBold, + haskellRecursiveDo = base.GruvboxPurple, + haskellQuotedType = base.GruvboxRed, + haskellPreProc = base.GruvboxFg4, + haskellTypeRoles = base.GruvboxRedBold, + haskellTypeForall = base.GruvboxRed, + haskellPatternKeyword = base.GruvboxBlue, } -local langs = utils.merge { - xml, - purescript, - coffeescript, - objc, - moonscript, - elixir, - markdown, - haskell, -} +local langs = utils.merge({ + xml, + purescript, + coffeescript, + objc, + moonscript, + elixir, + markdown, + haskell, +}) return langs diff --git a/lua/gruvbox/plugins/airline.lua b/lua/gruvbox/plugins/airline.lua index da7b46d..8f80701 100644 --- a/lua/gruvbox/plugins/airline.lua +++ b/lua/gruvbox/plugins/airline.lua @@ -1,155 +1,154 @@ local M = {} M.refresh = function() - vim.api.nvim_err_writeln "refresh called!" - local M0 = vim.fn["airline#themes#get_highlight"] "Identifier" + vim.api.nvim_err_writeln("refresh called!") + local M0 = vim.fn["airline#themes#get_highlight"]("Identifier") - local accents_group = vim.fn["airline#themes#get_highlight"] "Special" - local modified_group = { M0[1], "", M0[2], "", "" } - local warning_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) - local error_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "WarningMsg", "fg" }) + local accents_group = vim.fn["airline#themes#get_highlight"]("Special") + local modified_group = { M0[1], "", M0[2], "", "" } + local warning_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) + local error_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "WarningMsg", "fg" }) - local N1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "StatusLineNC", "fg" }) - local N2 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "PMenu", "bg" }) - local N3 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "StatusLineNC", "fg" }) + local N1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "StatusLineNC", "fg" }) + local N2 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "PMenu", "bg" }) + local N3 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "StatusLineNC", "fg" }) - -- normal mode vars - vim.g["airline#themes#gruvbox#palette.normal"] = vim.fn["airline#themes#generate_color_map"](N1, N2, N3) - vim.g["airline#themes#gruvbox#palette.normal_modified"] = { airline_c = modified_group } - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] = error_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] = error_group - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] = N3 - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] = N3 + -- normal mode vars + vim.g["airline#themes#gruvbox#palette.normal"] = vim.fn["airline#themes#generate_color_map"](N1, N2, N3) + vim.g["airline#themes#gruvbox#palette.normal_modified"] = { airline_c = modified_group } + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] = error_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] = error_group + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] = N3 + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] = N3 - -- insert mode vars - local I1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Identifier", "fg" }) - local I2 = N2 - local I3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxFg1", "fg" }, { "Pmenu", "bg" }) + -- insert mode vars + local I1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Identifier", "fg" }) + local I2 = N2 + local I3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxFg1", "fg" }, { "Pmenu", "bg" }) - vim.g["airline#themes#gruvbox#palette.insert"] = vim.fn["airline#themes#generate_color_map"](I1, I2, I3) + vim.g["airline#themes#gruvbox#palette.insert"] = vim.fn["airline#themes#generate_color_map"](I1, I2, I3) - vim.g["airline#themes#gruvbox#palette.insert_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] + vim.g["airline#themes#gruvbox#palette.insert_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - vim.g["airline#themes#gruvbox#palette.insert.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.insert.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.insert.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.insert.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - vim.g["airline#themes#gruvbox#palette.insert.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.insert.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - -- replace mode vars - local R1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Structure", "fg" }) - local R2 = I2 - local R3 = I3 + -- replace mode vars + local R1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Structure", "fg" }) + local R2 = I2 + local R3 = I3 - vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](R1, R2, R3) + vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](R1, R2, R3) - vim.g["airline#themes#gruvbox#palette.replace_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] + vim.g["airline#themes#gruvbox#palette.replace_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - vim.g["airline#themes#gruvbox#palette.replace.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.replace.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.replace.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.replace.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - vim.g["airline#themes#gruvbox#palette.replace.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.replace.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - -- visual mode vars - local V1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) - local V2 = N2 - local V3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "TabLine", "fg" }) + -- visual mode vars + local V1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) + local V2 = N2 + local V3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "TabLine", "fg" }) - vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](V1, V2, V3) + vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](V1, V2, V3) - vim.g["airline#themes#gruvbox#palette.visual_modified"] = { airline_c = { V3[1], "", V3[3], "", "" } } + vim.g["airline#themes#gruvbox#palette.visual_modified"] = { airline_c = { V3[1], "", V3[3], "", "" } } - vim.g["airline#themes#gruvbox#palette.visual.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.visual.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.visual.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.visual.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - vim.g["airline#themes#gruvbox#palette.visual.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.visual.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - local C1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxGreen", "fg" }) - local C2 = I2 - local C3 = I3 + local C1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxGreen", "fg" }) + local C2 = I2 + local C3 = I3 - vim.g["airline#themes#gruvbox#palette.commandline"] = vim.fn["airline#themes#generate_color_map"](C1, C2, C3) + vim.g["airline#themes#gruvbox#palette.commandline"] = vim.fn["airline#themes#generate_color_map"](C1, C2, C3) - vim.g["airline#themes#gruvbox#palette.commandline_modified"] = - vim.g["airline#themes#gruvbox#palette.normal_modified"] + vim.g["airline#themes#gruvbox#palette.commandline_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - vim.g["airline#themes#gruvbox#palette.commandline.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + vim.g["airline#themes#gruvbox#palette.commandline.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - vim.g["airline#themes#gruvbox#palette.commandline.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + vim.g["airline#themes#gruvbox#palette.commandline.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - vim.g["airline#themes#gruvbox#palette.commandline.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + vim.g["airline#themes#gruvbox#palette.commandline.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - local IA = vim.fn["airline#themes#get_highlight2"]({ "TabLine", "fg" }, { "CursorLine", "bg" }) - vim.g["airline#themes#gruvbox#palette.inactive"] = vim.fn["airline#themes#generate_color_map"](IA, IA, IA) + local IA = vim.fn["airline#themes#get_highlight2"]({ "TabLine", "fg" }, { "CursorLine", "bg" }) + vim.g["airline#themes#gruvbox#palette.inactive"] = vim.fn["airline#themes#generate_color_map"](IA, IA, IA) - vim.g["airline#themes#gruvbox#palette.inactive_modified"] = { airline_c = modified_group } - vim.g["airline#themes#gruvbox#palette.accents"] = { red = accents_group } + vim.g["airline#themes#gruvbox#palette.inactive_modified"] = { airline_c = modified_group } + vim.g["airline#themes#gruvbox#palette.accents"] = { red = accents_group } - local TF = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxBg0", "fg" }) + local TF = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxBg0", "fg" }) - vim.g["airline#themes#gruvbox#palette.tabline"] = { - airline_tab = N2, - airline_tabsel = N1, - airline_tabtype = V1, - airline_tablabel = V1, - airline_tablabel_right = V1, - airline_tabfill = TF, - airline_tabhid = IA, - airline_tabmod = I1, - } + vim.g["airline#themes#gruvbox#palette.tabline"] = { + airline_tab = N2, + airline_tabsel = N1, + airline_tabtype = V1, + airline_tablabel = V1, + airline_tablabel_right = V1, + airline_tabfill = TF, + airline_tabhid = IA, + airline_tabmod = I1, + } end return M diff --git a/lua/gruvbox/plugins/highlights.lua b/lua/gruvbox/plugins/highlights.lua index 7a0fa6c..50a3eb3 100644 --- a/lua/gruvbox/plugins/highlights.lua +++ b/lua/gruvbox/plugins/highlights.lua @@ -1,296 +1,296 @@ -- 3rd party plugins highlights -local base = require "gruvbox.base" +local base = require("gruvbox.base") local styles = require("gruvbox.settings").styles -local colors = require "gruvbox.colors" +local colors = require("gruvbox.colors") local plugins = { - -- netrw - netrwDir = base.GruvboxAqua, - netrwClassify = base.GruvboxAqua, - netrwLink = base.GruvboxGray, - netrwSymLink = base.GruvboxFg1, - netrwExe = base.GruvboxYellow, - netrwComment = base.GruvboxGray, - netrwList = base.GruvboxBlue, - netrwHelpCmd = base.GruvboxAqua, - netrwCmdSep = base.GruvboxFg3, - netrwVersion = base.GruvboxGreen, - -- nvim-treesitter - TSNone = {}, - TSError = base.Error, - TSTitle = base.Title, - TSLiteral = base.String, - TSURI = base.Underlined, - TSVariable = base.GruvboxFg1, - TSPunctDelimiter = base.Delimiter, - TSPunctBracket = base.Delimiter, - TSPunctSpecial = base.Delimiter, - TSConstant = base.Constant, - TSConstBuiltin = base.Special, - TSConstMacro = base.Define, - TSString = base.String, - TSStringRegex = base.String, - TSStringEscape = base.SpecialChar, - TSCharacter = base.Character, - TSNumber = base.Number, - TSBoolean = base.Boolean, - TSFloat = base.Float, - TSFunction = base.Function, - TSFuncBuiltin = base.Special, - TSFuncMacro = base.Macro, - TSParameter = base.Identifier, - TSParameterReference = "TSParameter", - TSMethod = base.Function, - TSField = base.Identifier, - TSProperty = base.Identifier, - TSConstructor = base.Special, - TSAnnotation = base.PreProc, - TSAttribute = base.PreProc, - TSNamespace = base.Include, - TSConditional = base.Conditional, - TSRepeat = base.Repeat, - TSLabel = base.Label, - TSOperator = base.Operator, - TSKeyword = base.Keyword, - TSKeywordFunction = base.Keyword, - TSKeywordOperator = "TSOperator", - TSException = base.Exception, - TSType = base.Type, - TSTypeBuiltin = base.Type, - TSInclude = base.Include, - TSVariableBuiltin = base.Special, - TSText = "TSNone", - TSStrong = { gui = styles.bold }, - TSEmphasis = { gui = styles.italic_strings }, - TSUnderline = { gui = styles.underline }, - TSComment = base.Comment, - TSStructure = base.GruvboxOrange, - TSTag = base.GruvboxOrange, - TSTagDelimiter = base.GruvboxGreen, + -- netrw + netrwDir = base.GruvboxAqua, + netrwClassify = base.GruvboxAqua, + netrwLink = base.GruvboxGray, + netrwSymLink = base.GruvboxFg1, + netrwExe = base.GruvboxYellow, + netrwComment = base.GruvboxGray, + netrwList = base.GruvboxBlue, + netrwHelpCmd = base.GruvboxAqua, + netrwCmdSep = base.GruvboxFg3, + netrwVersion = base.GruvboxGreen, + -- nvim-treesitter + TSNone = {}, + TSError = base.Error, + TSTitle = base.Title, + TSLiteral = base.String, + TSURI = base.Underlined, + TSVariable = base.GruvboxFg1, + TSPunctDelimiter = base.Delimiter, + TSPunctBracket = base.Delimiter, + TSPunctSpecial = base.Delimiter, + TSConstant = base.Constant, + TSConstBuiltin = base.Special, + TSConstMacro = base.Define, + TSString = base.String, + TSStringRegex = base.String, + TSStringEscape = base.SpecialChar, + TSCharacter = base.Character, + TSNumber = base.Number, + TSBoolean = base.Boolean, + TSFloat = base.Float, + TSFunction = base.Function, + TSFuncBuiltin = base.Special, + TSFuncMacro = base.Macro, + TSParameter = base.Identifier, + TSParameterReference = "TSParameter", + TSMethod = base.Function, + TSField = base.Identifier, + TSProperty = base.Identifier, + TSConstructor = base.Special, + TSAnnotation = base.PreProc, + TSAttribute = base.PreProc, + TSNamespace = base.Include, + TSConditional = base.Conditional, + TSRepeat = base.Repeat, + TSLabel = base.Label, + TSOperator = base.Operator, + TSKeyword = base.Keyword, + TSKeywordFunction = base.Keyword, + TSKeywordOperator = "TSOperator", + TSException = base.Exception, + TSType = base.Type, + TSTypeBuiltin = base.Type, + TSInclude = base.Include, + TSVariableBuiltin = base.Special, + TSText = "TSNone", + TSStrong = { gui = styles.bold }, + TSEmphasis = { gui = styles.italic_strings }, + TSUnderline = { gui = styles.underline }, + TSComment = base.Comment, + TSStructure = base.GruvboxOrange, + TSTag = base.GruvboxOrange, + TSTagDelimiter = base.GruvboxGreen, - -- telescope.nvim - TelescopeSelection = base.GruvboxOrangeBold, - TelescopeSlectionCaret = base.GruvboxRed, - TelescopeMultiSelection = base.GruvboxGray, - TelescopeNormal = base.GruvboxFg1, - TelescopeBorder = "TelescopeNormal", - TelescopePromptBorder = "TelescopeNormal", - TelescopeResultsBorder = "TelescopeNormal", - TelescopePreviewBorder = "TelescopeNormal", - TelescopeMatching = base.GruvboxBlue, - TelescopePromptPrefix = base.GruvboxRed, - TelescopePrompt = "TelescopeNormal", - -- lspsaga.nvim - LspSagaDiagnosticBorder = base.NormalNC, - LspSagaDiagnosticHeader = base.GruvboxRed, - LspSagaDiagnosticTruncateLine = base.NormalNC, - LspFloatWinBorder = base.NormalNC, - LspSagaBorderTitle = base.Title, - TargetWord = base.Error, - ReferencesCount = base.Title, - ReferencesIcon = base.Special, - DefinitionCount = base.Title, - TargetFileName = base.Comment, - DefinitionIcon = base.Special, - ProviderTruncateLine = base.NormalNC, - SagaShadow = base.GruvboxBg0, - LspSagaFinderSelection = base.Search, - DiagnosticTruncateLine = base.NormalNC, - DiagnosticWarning = base.DiagnosticWarn, - DiagnosticInformation = base.DiagnosticInfo, - DefinitionPreviewTitle = base.Title, - LspSagaShTruncateLine = base.NormalNC, - LspSagaDocTruncateLine = base.NormalNC, - LineDiagTuncateLine = base.NormalNC, - LspSagaCodeActionTitle = base.Title, - LspSagaCodeActionTruncateLine = base.NormalNC, - LspSagaCodeActionContent = base.Normal, - LspSagaRenamePromptPrefix = base.GruvboxFg2, - LspSagaRenameBorder = { gui = styles.bold }, - LspSagaHoverBorder = { gui = styles.bold }, - LspSagaSignatureHelpBorder = { gui = styles.bold }, - LspSagaCodeActionBorder = { gui = styles.bold }, - LspSagaAutoPreview = {}, - LspSagaDefPreviewBorder = { gui = styles.bold }, - LspLinesDiagBorder = { gui = styles.bold }, - -- vim-startify - StartifyBracket = base.Delimiter, - StartifyFile = base.Identifier, - StartifyNumber = base.Number, - StartifyPath = base.Directory, - StartifySlash = base.Delimiter, - StartifySection = base.Statement, - StartifySpecial = base.Comment, - StartifyHeader = base.Title, - StartifyFooter = base.Title, - StartifyVar = "StartifyPath", - StartifySelect = base.Title, - -- vim-signify - SignifySignAdd = base.GruvboxGreenSign, - SignifySignChange = base.GruvboxAquaSign, - SignifySignDelete = base.GruvboxRedSign, - -- syntastic - SyntasticError = base.GruvboxRedUnderline, - SyntasticWarning = base.GruvboxYellowUnderline, - SyntasticErrorSign = base.GruvboxRedSign, - SyntasticWarningSign = base.GruvboxYellowSign, - -- termdebug - debugPC = { bg = colors.faded_blue }, - debugBreakpoint = base.GruvboxRedSign, - -- vim-dirvish - DirvishPathTail = base.GruvboxAqua, - DirvishArg = base.GruvboxYellow, - -- nerdtree - NERDTreeDir = base.GruvboxAqua, - NERDTreeDirSlash = base.GruvboxAqua, - NERDTreeOpenable = base.GruvboxOrange, - NERDTreeClosable = base.GruvboxOrange, - NERDTreeFile = base.GruvboxFg1, - NERDTreeExecFile = base.GruvboxYellow, - NERDTreeUp = base.GruvboxGray, - NERDTreeCWD = base.GruvboxGreen, - NERDTreeHelp = base.GruvboxFg1, - NERDTreeToggleOn = base.GruvboxGreen, - NERDTreeToggleOff = base.GruvboxRed, - -- coc.nvim - CocErrorSign = base.GruvboxRedSign, - CocWarningSign = base.GruvboxOrangeSign, - CocInfoSign = base.GruvboxBlueSign, - CocHintSign = base.GruvboxAquaSign, - CocErrorFloat = base.GruvboxRed, - CocWarningFloat = base.GruvboxOrange, - CocInfoFloat = base.GruvboxBlue, - CocHintFloat = base.GruvboxAqua, - CocDiagnosticsError = base.GruvboxRed, - CocDiagnosticsWarning = base.GruvboxOrange, - CocDiagnosticsInfo = base.GruvboxBlue, - CocDiagnosticsHint = base.GruvboxAqua, - CocSelectedText = base.GruvboxRed, - CocCodeLens = base.GruvboxGray, - CocErrorHighlight = base.GruvboxRedUnderline, - CocWarningHighlight = base.GruvboxOrangeUnderline, - CocInfoHighlight = base.GruvboxBlueUnderline, - CocHintHighlight = base.GruvboxAquaUnderline, - -- ale.vim - ALEError = base.GruvboxRedUnderline, - ALEWarning = base.GruvboxYellowUnderline, - ALEInfo = base.GruvboxBlueUnderline, - ALEErrorSign = base.GruvboxRedSign, - ALEWarningSign = base.GruvboxYellowSign, - ALEInfoSign = base.GruvboxBlueSign, - ALEVirtualTextError = base.GruvboxRed, - ALEVirtualTextWarning = base.GruvboxYellow, - ALEVirtualTextInfo = base.GruvboxBlue, - -- vim-buftabline - BufTabLineCurrent = base.TabLineSel, - BufTabLineActive = base.PmenuSel, - BufTabLineHidden = base.TabLine, - BufTabLineFill = base.TabLineFill, - BufTabLineModifiedCurrent = "BufTabLineCurrent", - BufTabLineModifiedActive = "BufTabLineActive", - BufTabLineModifiedHidden = "BufTabLineHidden", - -- ctrlP - CtrlPMatch = base.Identifier, - CtrlPNoEntries = base.Error, - CtrlPPrtBase = base.Comment, - CtrlPPrtCursor = base.Constant, - CtrlPLinePre = { fg = base.GruvboxBg2.fg }, - CtrlPMode1 = base.Character, - CtrlPMode2 = base.LineNr, - CtrlPStats = base.Function, - -- fzf.vim - Fzf1 = { fg = base.GruvboxBlue.fg, bg = base.GruvboxBg1.fg }, - Fzf2 = { fg = base.GruvboxOrange.fg, bg = base.GruvboxBg1.fg }, - Fzf3 = { fg = base.GruvboxFg4.fg, bg = base.GruvboxBg1.fg }, - ShowMarksHLl = base.GruvboxBlueSign, - ShowMarksHLu = base.GruvboxBlueSign, - ShowMarksHLo = base.GruvboxBlueSign, - ShowMarksHLm = base.GruvboxBlueSign, - -- git-gutter - GitGutterAdd = base.GruvboxGreenSign, - GitGutterChange = base.GruvboxAquaSign, - GitGutterDelete = base.GruvboxRedSign, - GitGutterChangeDelete = base.GruvboxAquaSign, - -- gitsigns.nvim - GitSignsAdd = base.GruvboxGreenSign, - GitSignsChange = base.GruvboxAquaSign, - GitSignsDelete = base.GruvboxRedSign, - GitSignsCurrentLineBlame = base.NonText, - -- nvim-cmp - CmpItemAbbr = base.GruvboxFg0, - CmpItemAbbrDeprecated = base.GruvboxFg0, - CmpItemAbbrMatch = base.GruvboxBlue, - CmpItemAbbrMatchFuzzy = { gui = styles.underline, fg = base.GruvboxAqua.fg }, - CmpItemKind = base.GruvboxOrange, - CmpItemKindClass = base.GruvboxGreen, - CmpItemKindConstructor = base.GruvboxGreen, - CmpItemKindField = base.GruvboxAqua, - CmpItemKindFile = base.GruvboxOrange, - CmpItemKindFolder = base.GruvboxOrange, - CmpItemKindFunction = base.GruvboxPurple, - CmpItemKindInterface = base.GruvboxGreen, - CmpItemKindKeyword = base.Keyword, - CmpItemKindMethod = base.GruvboxPurple, - CmpItemKindSnippet = base.GruvboxYellow, - CmpItemKindText = base.GruvboxFg0, - CmpItemKindValue = base.GruvboxOrange, - CmpItemKindVariable = base.GruvboxBlue, - CmpItemMenu = base.GruvboxGray, - -- LSP - LspCodeLens = base.GruvboxGray, - LspReferenceRead = { bg = base.GruvboxBg2.fg, gui = styles.underline }, - LspReferenceText = { bg = base.GruvboxBg2.fg, gui = styles.underline }, - LspReferenceWrite = { bg = base.GruvboxBg2.fg, gui = styles.underline }, - -- NOTE: Deprecated settings (see https://github.com/neovim/neovim/pull/15585) - LspDiagnosticsDefaultError = base.GruvboxRed, - LspDiagnosticsSignError = base.GruvboxRedSign, - LspDiagnosticsUnderlineError = base.GruvboxRedUnderline, - LspDiagnosticsDefaultWarning = base.GruvboxYellow, - LspDiagnosticsSignWarning = base.GruvboxYellowSign, - LspDiagnosticsUnderlineWarning = base.GruvboxYellowUnderline, - LspDiagnosticsDefaultInformation = base.GruvboxBlue, - LspDiagnosticsSignInformation = base.GruvboxBlueSign, - LspDiagnosticsUnderlineInformation = base.GruvboxBlueUnderline, - LspDiagnosticsDefaultHint = base.GruvboxAqua, - LspDiagnosticsSignHint = base.GruvboxAquaSign, - LspDiagnosticsUnderlineHint = base.GruvboxAquaUnderline, - LspDiagnosticsFloatingError = base.GruvboxRed, - LspDiagnosticsFloatingWarning = base.GruvboxOrange, - LspDiagnosticsFloatingInformation = base.GruvboxBlue, - LspDiagnosticsFloatingHint = base.GruvboxAqua, - LspDiagnosticsVirtualTextError = base.GruvboxRed, - LspDiagnosticsVirtualTextWarning = base.GruvboxYellow, - LspDiagnosticsVirtualTextInformation = base.GruvboxBlue, - LspDiagnosticsVirtualTextHint = base.GruvboxAqua, - -- Diagnostic - DiagnosticError = base.GruvboxRed, - DiagnosticSignError = base.GruvboxRedSign, - DiagnosticUnderlineError = base.GruvboxRedUnderline, - DiagnosticWarn = base.GruvboxYellow, - DiagnosticSignWarn = base.GruvboxYellowSign, - DiagnosticUnderlineWarn = base.GruvboxYellowUnderline, - DiagnosticInfo = base.GruvboxBlue, - DiagnosticSignInfo = base.GruvboxBlueSign, - DiagnosticUnderlineInfo = base.GruvboxBlueUnderline, - DiagnosticHint = base.GruvboxAqua, - DiagnosticSignHint = base.GruvboxAquaSign, - DiagnosticUnderlineHint = base.GruvboxAquaUnderline, - DiagnosticFloatingError = base.GruvboxRed, - DiagnosticFloatingWarn = base.GruvboxOrange, - DiagnosticFloatingInfo = base.GruvboxBlue, - DiagnosticFloatingHint = base.GruvboxAqua, - DiagnosticVirtualTextError = base.GruvboxRed, - DiagnosticVirtualTextWarn = base.GruvboxYellow, - DiagnosticVirtualTextInfo = base.GruvboxBlue, - DiagnosticVirtualTextHint = base.GruvboxAqua, - -- mail.vim - mailQuoted1 = base.GruvboxAqua, - mailQuoted2 = base.GruvboxPurple, - mailQuoted3 = base.GruvboxYellow, - mailQuoted4 = base.GruvboxGreen, - mailQuoted5 = base.GruvboxRed, - mailQuoted6 = base.GruvboxOrange, - mailSignature = base.Comment, + -- telescope.nvim + TelescopeSelection = base.GruvboxOrangeBold, + TelescopeSlectionCaret = base.GruvboxRed, + TelescopeMultiSelection = base.GruvboxGray, + TelescopeNormal = base.GruvboxFg1, + TelescopeBorder = "TelescopeNormal", + TelescopePromptBorder = "TelescopeNormal", + TelescopeResultsBorder = "TelescopeNormal", + TelescopePreviewBorder = "TelescopeNormal", + TelescopeMatching = base.GruvboxBlue, + TelescopePromptPrefix = base.GruvboxRed, + TelescopePrompt = "TelescopeNormal", + -- lspsaga.nvim + LspSagaDiagnosticBorder = base.NormalNC, + LspSagaDiagnosticHeader = base.GruvboxRed, + LspSagaDiagnosticTruncateLine = base.NormalNC, + LspFloatWinBorder = base.NormalNC, + LspSagaBorderTitle = base.Title, + TargetWord = base.Error, + ReferencesCount = base.Title, + ReferencesIcon = base.Special, + DefinitionCount = base.Title, + TargetFileName = base.Comment, + DefinitionIcon = base.Special, + ProviderTruncateLine = base.NormalNC, + SagaShadow = base.GruvboxBg0, + LspSagaFinderSelection = base.Search, + DiagnosticTruncateLine = base.NormalNC, + DiagnosticWarning = base.DiagnosticWarn, + DiagnosticInformation = base.DiagnosticInfo, + DefinitionPreviewTitle = base.Title, + LspSagaShTruncateLine = base.NormalNC, + LspSagaDocTruncateLine = base.NormalNC, + LineDiagTuncateLine = base.NormalNC, + LspSagaCodeActionTitle = base.Title, + LspSagaCodeActionTruncateLine = base.NormalNC, + LspSagaCodeActionContent = base.Normal, + LspSagaRenamePromptPrefix = base.GruvboxFg2, + LspSagaRenameBorder = { gui = styles.bold }, + LspSagaHoverBorder = { gui = styles.bold }, + LspSagaSignatureHelpBorder = { gui = styles.bold }, + LspSagaCodeActionBorder = { gui = styles.bold }, + LspSagaAutoPreview = {}, + LspSagaDefPreviewBorder = { gui = styles.bold }, + LspLinesDiagBorder = { gui = styles.bold }, + -- vim-startify + StartifyBracket = base.Delimiter, + StartifyFile = base.Identifier, + StartifyNumber = base.Number, + StartifyPath = base.Directory, + StartifySlash = base.Delimiter, + StartifySection = base.Statement, + StartifySpecial = base.Comment, + StartifyHeader = base.Title, + StartifyFooter = base.Title, + StartifyVar = "StartifyPath", + StartifySelect = base.Title, + -- vim-signify + SignifySignAdd = base.GruvboxGreenSign, + SignifySignChange = base.GruvboxAquaSign, + SignifySignDelete = base.GruvboxRedSign, + -- syntastic + SyntasticError = base.GruvboxRedUnderline, + SyntasticWarning = base.GruvboxYellowUnderline, + SyntasticErrorSign = base.GruvboxRedSign, + SyntasticWarningSign = base.GruvboxYellowSign, + -- termdebug + debugPC = { bg = colors.faded_blue }, + debugBreakpoint = base.GruvboxRedSign, + -- vim-dirvish + DirvishPathTail = base.GruvboxAqua, + DirvishArg = base.GruvboxYellow, + -- nerdtree + NERDTreeDir = base.GruvboxAqua, + NERDTreeDirSlash = base.GruvboxAqua, + NERDTreeOpenable = base.GruvboxOrange, + NERDTreeClosable = base.GruvboxOrange, + NERDTreeFile = base.GruvboxFg1, + NERDTreeExecFile = base.GruvboxYellow, + NERDTreeUp = base.GruvboxGray, + NERDTreeCWD = base.GruvboxGreen, + NERDTreeHelp = base.GruvboxFg1, + NERDTreeToggleOn = base.GruvboxGreen, + NERDTreeToggleOff = base.GruvboxRed, + -- coc.nvim + CocErrorSign = base.GruvboxRedSign, + CocWarningSign = base.GruvboxOrangeSign, + CocInfoSign = base.GruvboxBlueSign, + CocHintSign = base.GruvboxAquaSign, + CocErrorFloat = base.GruvboxRed, + CocWarningFloat = base.GruvboxOrange, + CocInfoFloat = base.GruvboxBlue, + CocHintFloat = base.GruvboxAqua, + CocDiagnosticsError = base.GruvboxRed, + CocDiagnosticsWarning = base.GruvboxOrange, + CocDiagnosticsInfo = base.GruvboxBlue, + CocDiagnosticsHint = base.GruvboxAqua, + CocSelectedText = base.GruvboxRed, + CocCodeLens = base.GruvboxGray, + CocErrorHighlight = base.GruvboxRedUnderline, + CocWarningHighlight = base.GruvboxOrangeUnderline, + CocInfoHighlight = base.GruvboxBlueUnderline, + CocHintHighlight = base.GruvboxAquaUnderline, + -- ale.vim + ALEError = base.GruvboxRedUnderline, + ALEWarning = base.GruvboxYellowUnderline, + ALEInfo = base.GruvboxBlueUnderline, + ALEErrorSign = base.GruvboxRedSign, + ALEWarningSign = base.GruvboxYellowSign, + ALEInfoSign = base.GruvboxBlueSign, + ALEVirtualTextError = base.GruvboxRed, + ALEVirtualTextWarning = base.GruvboxYellow, + ALEVirtualTextInfo = base.GruvboxBlue, + -- vim-buftabline + BufTabLineCurrent = base.TabLineSel, + BufTabLineActive = base.PmenuSel, + BufTabLineHidden = base.TabLine, + BufTabLineFill = base.TabLineFill, + BufTabLineModifiedCurrent = "BufTabLineCurrent", + BufTabLineModifiedActive = "BufTabLineActive", + BufTabLineModifiedHidden = "BufTabLineHidden", + -- ctrlP + CtrlPMatch = base.Identifier, + CtrlPNoEntries = base.Error, + CtrlPPrtBase = base.Comment, + CtrlPPrtCursor = base.Constant, + CtrlPLinePre = { fg = base.GruvboxBg2.fg }, + CtrlPMode1 = base.Character, + CtrlPMode2 = base.LineNr, + CtrlPStats = base.Function, + -- fzf.vim + Fzf1 = { fg = base.GruvboxBlue.fg, bg = base.GruvboxBg1.fg }, + Fzf2 = { fg = base.GruvboxOrange.fg, bg = base.GruvboxBg1.fg }, + Fzf3 = { fg = base.GruvboxFg4.fg, bg = base.GruvboxBg1.fg }, + ShowMarksHLl = base.GruvboxBlueSign, + ShowMarksHLu = base.GruvboxBlueSign, + ShowMarksHLo = base.GruvboxBlueSign, + ShowMarksHLm = base.GruvboxBlueSign, + -- git-gutter + GitGutterAdd = base.GruvboxGreenSign, + GitGutterChange = base.GruvboxAquaSign, + GitGutterDelete = base.GruvboxRedSign, + GitGutterChangeDelete = base.GruvboxAquaSign, + -- gitsigns.nvim + GitSignsAdd = base.GruvboxGreenSign, + GitSignsChange = base.GruvboxAquaSign, + GitSignsDelete = base.GruvboxRedSign, + GitSignsCurrentLineBlame = base.NonText, + -- nvim-cmp + CmpItemAbbr = base.GruvboxFg0, + CmpItemAbbrDeprecated = base.GruvboxFg0, + CmpItemAbbrMatch = base.GruvboxBlue, + CmpItemAbbrMatchFuzzy = { gui = styles.underline, fg = base.GruvboxAqua.fg }, + CmpItemKind = base.GruvboxOrange, + CmpItemKindClass = base.GruvboxGreen, + CmpItemKindConstructor = base.GruvboxGreen, + CmpItemKindField = base.GruvboxAqua, + CmpItemKindFile = base.GruvboxOrange, + CmpItemKindFolder = base.GruvboxOrange, + CmpItemKindFunction = base.GruvboxPurple, + CmpItemKindInterface = base.GruvboxGreen, + CmpItemKindKeyword = base.Keyword, + CmpItemKindMethod = base.GruvboxPurple, + CmpItemKindSnippet = base.GruvboxYellow, + CmpItemKindText = base.GruvboxFg0, + CmpItemKindValue = base.GruvboxOrange, + CmpItemKindVariable = base.GruvboxBlue, + CmpItemMenu = base.GruvboxGray, + -- LSP + LspCodeLens = base.GruvboxGray, + LspReferenceRead = { bg = base.GruvboxBg2.fg, gui = styles.underline }, + LspReferenceText = { bg = base.GruvboxBg2.fg, gui = styles.underline }, + LspReferenceWrite = { bg = base.GruvboxBg2.fg, gui = styles.underline }, + -- NOTE: Deprecated settings (see https://github.com/neovim/neovim/pull/15585) + LspDiagnosticsDefaultError = base.GruvboxRed, + LspDiagnosticsSignError = base.GruvboxRedSign, + LspDiagnosticsUnderlineError = base.GruvboxRedUnderline, + LspDiagnosticsDefaultWarning = base.GruvboxYellow, + LspDiagnosticsSignWarning = base.GruvboxYellowSign, + LspDiagnosticsUnderlineWarning = base.GruvboxYellowUnderline, + LspDiagnosticsDefaultInformation = base.GruvboxBlue, + LspDiagnosticsSignInformation = base.GruvboxBlueSign, + LspDiagnosticsUnderlineInformation = base.GruvboxBlueUnderline, + LspDiagnosticsDefaultHint = base.GruvboxAqua, + LspDiagnosticsSignHint = base.GruvboxAquaSign, + LspDiagnosticsUnderlineHint = base.GruvboxAquaUnderline, + LspDiagnosticsFloatingError = base.GruvboxRed, + LspDiagnosticsFloatingWarning = base.GruvboxOrange, + LspDiagnosticsFloatingInformation = base.GruvboxBlue, + LspDiagnosticsFloatingHint = base.GruvboxAqua, + LspDiagnosticsVirtualTextError = base.GruvboxRed, + LspDiagnosticsVirtualTextWarning = base.GruvboxYellow, + LspDiagnosticsVirtualTextInformation = base.GruvboxBlue, + LspDiagnosticsVirtualTextHint = base.GruvboxAqua, + -- Diagnostic + DiagnosticError = base.GruvboxRed, + DiagnosticSignError = base.GruvboxRedSign, + DiagnosticUnderlineError = base.GruvboxRedUnderline, + DiagnosticWarn = base.GruvboxYellow, + DiagnosticSignWarn = base.GruvboxYellowSign, + DiagnosticUnderlineWarn = base.GruvboxYellowUnderline, + DiagnosticInfo = base.GruvboxBlue, + DiagnosticSignInfo = base.GruvboxBlueSign, + DiagnosticUnderlineInfo = base.GruvboxBlueUnderline, + DiagnosticHint = base.GruvboxAqua, + DiagnosticSignHint = base.GruvboxAquaSign, + DiagnosticUnderlineHint = base.GruvboxAquaUnderline, + DiagnosticFloatingError = base.GruvboxRed, + DiagnosticFloatingWarn = base.GruvboxOrange, + DiagnosticFloatingInfo = base.GruvboxBlue, + DiagnosticFloatingHint = base.GruvboxAqua, + DiagnosticVirtualTextError = base.GruvboxRed, + DiagnosticVirtualTextWarn = base.GruvboxYellow, + DiagnosticVirtualTextInfo = base.GruvboxBlue, + DiagnosticVirtualTextHint = base.GruvboxAqua, + -- mail.vim + mailQuoted1 = base.GruvboxAqua, + mailQuoted2 = base.GruvboxPurple, + mailQuoted3 = base.GruvboxYellow, + mailQuoted4 = base.GruvboxGreen, + mailQuoted5 = base.GruvboxRed, + mailQuoted6 = base.GruvboxOrange, + mailSignature = base.Comment, } return plugins diff --git a/lua/gruvbox/plugins/lightline.lua b/lua/gruvbox/plugins/lightline.lua index a46dc6e..7907cd9 100644 --- a/lua/gruvbox/plugins/lightline.lua +++ b/lua/gruvbox/plugins/lightline.lua @@ -2,70 +2,70 @@ local M = {} M.start = function(theme) - local bg0 = theme.GruvboxBg0.fg - local bg1 = theme.GruvboxBg1.fg - local bg2 = theme.GruvboxBg2.fg - local bg4 = theme.GruvboxBg4.fg - local fg1 = theme.GruvboxFg1.fg - local fg4 = theme.GruvboxFg4.fg + local bg0 = theme.GruvboxBg0.fg + local bg1 = theme.GruvboxBg1.fg + local bg2 = theme.GruvboxBg2.fg + local bg4 = theme.GruvboxBg4.fg + local fg1 = theme.GruvboxFg1.fg + local fg4 = theme.GruvboxFg4.fg - local yellow = theme.GruvboxYellow.fg - local blue = theme.GruvboxBlue.fg - local aqua = theme.GruvboxAqua.fg - local orange = theme.GruvboxOrange.fg - local red = theme.GruvboxRed.fg - local green = theme.GruvboxGreen.fg + local yellow = theme.GruvboxYellow.fg + local blue = theme.GruvboxBlue.fg + local aqua = theme.GruvboxAqua.fg + local orange = theme.GruvboxOrange.fg + local red = theme.GruvboxRed.fg + local green = theme.GruvboxGreen.fg - local lightline_theme = { - normal = { - left = { { bg0, fg4, "bold" }, { fg4, bg2 } }, - middle = { { fg4, bg1 } }, - right = { { bg0, fg4 }, { fg4, bg2 } }, - error = { { bg0, red } }, - warning = { { bg0, yellow } }, - }, - insert = { - left = { { bg0, blue, "bold" }, { fg1, bg2 } }, - middle = { { fg4, bg1 } }, - right = { { bg0, blue }, { fg1, bg2 } }, - }, - inactive = { - left = { { bg4, bg1 } }, - middle = { { bg4, bg1 } }, - right = { { bg4, bg1 }, { bg4, bg1 } }, - }, - terminal = { - left = { { bg0, green, "bold" }, { fg1, bg2 } }, - middle = { { fg4, bg1 } }, - right = { { bg0, green }, { fg1, bg2 } }, - }, - replace = { - left = { { bg0, aqua, "bold" }, { fg1, bg2 } }, - middle = { { fg4, bg1 } }, - right = { { bg0, aqua }, { fg1, bg2 } }, - }, - visual = { - left = { { bg0, orange, "bold" }, { bg0, bg4 } }, - middle = { { fg4, bg1 } }, - right = { { bg0, orange }, { bg0, bg4 } }, - }, - tabline = { - left = { { fg4, bg2 } }, - middle = { { bg0, bg4 } }, - right = { { bg0, orange } }, - tabsel = { { bg0, fg4 } }, - }, - } + local lightline_theme = { + normal = { + left = { { bg0, fg4, "bold" }, { fg4, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, fg4 }, { fg4, bg2 } }, + error = { { bg0, red } }, + warning = { { bg0, yellow } }, + }, + insert = { + left = { { bg0, blue, "bold" }, { fg1, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, blue }, { fg1, bg2 } }, + }, + inactive = { + left = { { bg4, bg1 } }, + middle = { { bg4, bg1 } }, + right = { { bg4, bg1 }, { bg4, bg1 } }, + }, + terminal = { + left = { { bg0, green, "bold" }, { fg1, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, green }, { fg1, bg2 } }, + }, + replace = { + left = { { bg0, aqua, "bold" }, { fg1, bg2 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, aqua }, { fg1, bg2 } }, + }, + visual = { + left = { { bg0, orange, "bold" }, { bg0, bg4 } }, + middle = { { fg4, bg1 } }, + right = { { bg0, orange }, { bg0, bg4 } }, + }, + tabline = { + left = { { fg4, bg2 } }, + middle = { { bg0, bg4 } }, + right = { { bg0, orange } }, + tabsel = { { bg0, fg4 } }, + }, + } - local has_lightline, _ = pcall(vim.fn["lightline#update"]) - if has_lightline then - local ll_filled = vim.fn["lightline#colorscheme#fill"](lightline_theme) - vim.g["lightline#colorscheme#gruvbox#palette"] = ll_filled - vim.schedule(function() - vim.fn["lightline#disable"]() - vim.fn["lightline#enable"]() - end) - end + local has_lightline, _ = pcall(vim.fn["lightline#update"]) + if has_lightline then + local ll_filled = vim.fn["lightline#colorscheme#fill"](lightline_theme) + vim.g["lightline#colorscheme#gruvbox#palette"] = ll_filled + vim.schedule(function() + vim.fn["lightline#disable"]() + vim.fn["lightline#enable"]() + end) + end end return M diff --git a/lua/gruvbox/settings.lua b/lua/gruvbox/settings.lua index 08f839f..90c14ed 100644 --- a/lua/gruvbox/settings.lua +++ b/lua/gruvbox/settings.lua @@ -1,84 +1,84 @@ -- gruvbox settings handler -local utils = require "gruvbox.utils" +local utils = require("gruvbox.utils") local settings = { - contrast_dark = "medium", - contrast_light = "medium", - bold = true, - italic = true, - undercurl = true, - underline = true, - inverse = true, - improved_strings = false, - improved_warnings = false, - invert_signs = false, - invert_selection = true, - invert_tabline = false, - italicize_comments = true, - italicize_strings = false, - invert_intend_guides = false, + contrast_dark = "medium", + contrast_light = "medium", + bold = true, + italic = true, + undercurl = true, + underline = true, + inverse = true, + improved_strings = false, + improved_warnings = false, + invert_signs = false, + invert_selection = true, + invert_tabline = false, + italicize_comments = true, + italicize_strings = false, + invert_intend_guides = false, } local styles = { - italic = "italic", - bold = "bold", - underline = "underline", - inverse = "inverse", - undercurl = "undercurl", - invert_signs = "", - invert_selection = "inverse", - invert_tabline = "", - italic_comments = "italic", - italic_strings = "NONE", + italic = "italic", + bold = "bold", + underline = "underline", + inverse = "inverse", + undercurl = "undercurl", + invert_signs = "", + invert_selection = "inverse", + invert_tabline = "", + italic_comments = "italic", + italic_strings = "NONE", } -- 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 + local key = "gruvbox_" .. k + if vim.g[key] == nil then + vim.g[key] = val + end end -- styles check if not utils.tobool(vim.g.gruvbox_bold) then - styles.bold = "NONE" + styles.bold = "NONE" end if not utils.tobool(vim.g.gruvbox_underline) then - styles.underline = "NONE" + styles.underline = "NONE" end if not utils.tobool(vim.g.gruvbox_italic) then - styles.italic = "NONE" + styles.italic = "NONE" end if not utils.tobool(vim.g.gruvbox_inverse) then - styles.inverse = "NONE" + styles.inverse = "NONE" end if not utils.tobool(vim.g.gruvbox_undercurl) then - styles.undercurl = "NONE" + styles.undercurl = "NONE" end if utils.tobool(vim.g.gruvbox_invert_signs) then - styles.invert_signs = "inverse" + styles.invert_signs = "inverse" end if not utils.tobool(vim.g.gruvbox_invert_selection) then - styles.invert_selection = "NONE" + styles.invert_selection = "NONE" end if utils.tobool(vim.g.gruvbox_invert_tabline) then - styles.invert_tabline = "inverse" + styles.invert_tabline = "inverse" end if not utils.tobool(vim.g.gruvbox_italicize_comments) then - styles.italic_comments = "NONE" + styles.italic_comments = "NONE" end if utils.tobool(vim.g.gruvbox_italicize_strings) then - styles.italic_strings = "italic" + styles.italic_strings = "italic" end return { settings = settings, styles = styles } diff --git a/lua/gruvbox/utils.lua b/lua/gruvbox/utils.lua index 1d3edec..f9b5ccf 100644 --- a/lua/gruvbox/utils.lua +++ b/lua/gruvbox/utils.lua @@ -2,65 +2,65 @@ local M = {} M.tobool = function(val) - if val == 0 or not val then - return false - end - return true + if val == 0 or not val then + return false + end + return true end -- check if vim.g.gruvbox_* color exists in current palette, return default color -- otherwise M.get_color_from_var = function(color, default, colors) - if color == nil then - return default - end + if color == nil then + return default + end - local c = colors[color] - if c == nil then - print(string.format("%s color could not be found, using default", color)) - return default - end - return c + local c = colors[color] + if c == nil then + print(string.format("%s color could not be found, using default", color)) + return default + end + return c end M.merge = function(tbls) - local source = {} - for _, group in pairs(tbls) do - for groupName, opts in pairs(group) do - source[groupName] = opts - end + local source = {} + for _, group in pairs(tbls) do + for groupName, opts in pairs(group) do + source[groupName] = opts end + end - return source + return source end M.highlights = function(hls) - for k, v in pairs(hls) do - if type(v) == "table" then - -- no blank strings allowed for guifg, guibg, guisp and gui - local opt = {} - for kk, vv in pairs(v) do - if vv == "" then - vv = nil - end + for k, v in pairs(hls) do + if type(v) == "table" then + -- no blank strings allowed for guifg, guibg, guisp and gui + local opt = {} + for kk, vv in pairs(v) do + if vv == "" then + vv = nil + end - opt[kk] = vv - end + opt[kk] = vv + end - vim.cmd( - string.format( - "hi %s guifg=%s guibg=%s guisp=%s gui=%s", - k, - opt.fg or "NONE", - opt.bg or "NONE", - opt.sp or "NONE", - opt.gui or "NONE" - ) - ) - else - vim.cmd(string.format("hi! link %s %s", k, v)) - end + vim.cmd( + string.format( + "hi %s guifg=%s guibg=%s guisp=%s gui=%s", + k, + opt.fg or "NONE", + opt.bg or "NONE", + opt.sp or "NONE", + opt.gui or "NONE" + ) + ) + else + vim.cmd(string.format("hi! link %s %s", k, v)) end + end end return M -- cgit v1.2.3 From 077f0a9f0b8c2ad0e5dc05c037c2b361b3fa18b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammad=20Ahmad=20=F0=9F=8C=8C?= Date: Mon, 13 Dec 2021 18:35:41 +0200 Subject: chore(gruvbox): sync with upstream --- lua/gruvbox/languages.lua | 7 +- lua/gruvbox/plugins/airline.lua | 154 ---------------------------------------- lua/gruvbox/settings.lua | 2 +- lua/stylua.toml | 6 ++ 4 files changed, 13 insertions(+), 156 deletions(-) delete mode 100644 lua/gruvbox/plugins/airline.lua create mode 100644 lua/stylua.toml (limited to 'lua') diff --git a/lua/gruvbox/languages.lua b/lua/gruvbox/languages.lua index ee4bbe8..1765c5a 100644 --- a/lua/gruvbox/languages.lua +++ b/lua/gruvbox/languages.lua @@ -68,7 +68,12 @@ local elixir = { } local markdown = { - markdownItalic = { fg = base.GruvboxFg3.fg, gui = styles.italic_strings }, + markdownItalic = { fg = base.GruvboxFg3.fg, gui = styles.italic }, + markdownBold = { fg = base.GruvboxFg3.fg, gui = styles.bold }, + markdownBoldItalic = { + fg = base.GruvboxFg3.fg, + gui = table.concat({ styles.bold, styles.italic }, ","), + }, markdownH1 = base.GruvboxGreenBold, markdownH2 = "markdownH1", markdownH3 = base.GruvboxYellowBold, diff --git a/lua/gruvbox/plugins/airline.lua b/lua/gruvbox/plugins/airline.lua deleted file mode 100644 index 8f80701..0000000 --- a/lua/gruvbox/plugins/airline.lua +++ /dev/null @@ -1,154 +0,0 @@ -local M = {} - -M.refresh = function() - vim.api.nvim_err_writeln("refresh called!") - local M0 = vim.fn["airline#themes#get_highlight"]("Identifier") - - local accents_group = vim.fn["airline#themes#get_highlight"]("Special") - local modified_group = { M0[1], "", M0[2], "", "" } - local warning_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) - local error_group = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "WarningMsg", "fg" }) - - local N1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "StatusLineNC", "fg" }) - local N2 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "PMenu", "bg" }) - local N3 = vim.fn["airline#themes#get_highlight2"]({ "StatusLineNC", "bg" }, { "StatusLineNC", "fg" }) - - -- normal mode vars - vim.g["airline#themes#gruvbox#palette.normal"] = vim.fn["airline#themes#generate_color_map"](N1, N2, N3) - vim.g["airline#themes#gruvbox#palette.normal_modified"] = { airline_c = modified_group } - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = warning_group - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] = error_group - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] = error_group - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] = N3 - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] = N3 - - -- insert mode vars - local I1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Identifier", "fg" }) - local I2 = N2 - local I3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxFg1", "fg" }, { "Pmenu", "bg" }) - - vim.g["airline#themes#gruvbox#palette.insert"] = vim.fn["airline#themes#generate_color_map"](I1, I2, I3) - - vim.g["airline#themes#gruvbox#palette.insert_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - - vim.g["airline#themes#gruvbox#palette.insert.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.insert.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - - vim.g["airline#themes#gruvbox#palette.insert.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - - vim.g["airline#themes#gruvbox#palette.insert_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - - -- replace mode vars - local R1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Structure", "fg" }) - local R2 = I2 - local R3 = I3 - - vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](R1, R2, R3) - - vim.g["airline#themes#gruvbox#palette.replace_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - - vim.g["airline#themes#gruvbox#palette.replace.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.replace.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - - vim.g["airline#themes#gruvbox#palette.replace.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - - vim.g["airline#themes#gruvbox#palette.replace_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - - -- visual mode vars - local V1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "Question", "fg" }) - local V2 = N2 - local V3 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "TabLine", "fg" }) - - vim.g["airline#themes#gruvbox#palette.replace"] = vim.fn["airline#themes#generate_color_map"](V1, V2, V3) - - vim.g["airline#themes#gruvbox#palette.visual_modified"] = { airline_c = { V3[1], "", V3[3], "", "" } } - - vim.g["airline#themes#gruvbox#palette.visual.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.visual.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - - vim.g["airline#themes#gruvbox#palette.visual.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - - vim.g["airline#themes#gruvbox#palette.visual_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - - local C1 = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxGreen", "fg" }) - local C2 = I2 - local C3 = I3 - - vim.g["airline#themes#gruvbox#palette.commandline"] = vim.fn["airline#themes#generate_color_map"](C1, C2, C3) - - vim.g["airline#themes#gruvbox#palette.commandline_modified"] = vim.g["airline#themes#gruvbox#palette.normal_modified"] - - vim.g["airline#themes#gruvbox#palette.commandline.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_warning"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] - - vim.g["airline#themes#gruvbox#palette.commandline.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_error"] - - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_error"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] - - vim.g["airline#themes#gruvbox#palette.commandline.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal.airline_term"] - - vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_term"] = - vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] - - local IA = vim.fn["airline#themes#get_highlight2"]({ "TabLine", "fg" }, { "CursorLine", "bg" }) - vim.g["airline#themes#gruvbox#palette.inactive"] = vim.fn["airline#themes#generate_color_map"](IA, IA, IA) - - vim.g["airline#themes#gruvbox#palette.inactive_modified"] = { airline_c = modified_group } - vim.g["airline#themes#gruvbox#palette.accents"] = { red = accents_group } - - local TF = vim.fn["airline#themes#get_highlight2"]({ "GruvboxBg0", "fg" }, { "GruvboxBg0", "fg" }) - - vim.g["airline#themes#gruvbox#palette.tabline"] = { - airline_tab = N2, - airline_tabsel = N1, - airline_tabtype = V1, - airline_tablabel = V1, - airline_tablabel_right = V1, - airline_tabfill = TF, - airline_tabhid = IA, - airline_tabmod = I1, - } -end - -return M diff --git a/lua/gruvbox/settings.lua b/lua/gruvbox/settings.lua index 90c14ed..3cd1078 100644 --- a/lua/gruvbox/settings.lua +++ b/lua/gruvbox/settings.lua @@ -12,7 +12,7 @@ local settings = { improved_strings = false, improved_warnings = false, invert_signs = false, - invert_selection = true, + invert_selection = false, invert_tabline = false, italicize_comments = true, italicize_strings = false, diff --git a/lua/stylua.toml b/lua/stylua.toml new file mode 100644 index 0000000..0fd4cb5 --- /dev/null +++ b/lua/stylua.toml @@ -0,0 +1,6 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +no_call_parentheses = false -- cgit v1.2.3 From 5ac143369319c61882a9bf23a60aa916aad30e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammad=20Ahmad=20=F0=9F=8C=8C?= Date: Mon, 13 Dec 2021 19:40:15 +0200 Subject: fix(lightline): wrong function name --- lua/gruvbox/plugins/lightline.lua | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'lua') diff --git a/lua/gruvbox/plugins/lightline.lua b/lua/gruvbox/plugins/lightline.lua index 7907cd9..53e9180 100644 --- a/lua/gruvbox/plugins/lightline.lua +++ b/lua/gruvbox/plugins/lightline.lua @@ -1,7 +1,12 @@ -- lightline support local M = {} -M.start = function(theme) +M.init = function(theme) + local has_lightline, _ = pcall(vim.fn["lightline#update"]) + if not has_lightline then + return + end + local bg0 = theme.GruvboxBg0.fg local bg1 = theme.GruvboxBg1.fg local bg2 = theme.GruvboxBg2.fg @@ -57,15 +62,12 @@ M.start = function(theme) }, } - local has_lightline, _ = pcall(vim.fn["lightline#update"]) - if has_lightline then - local ll_filled = vim.fn["lightline#colorscheme#fill"](lightline_theme) - vim.g["lightline#colorscheme#gruvbox#palette"] = ll_filled - vim.schedule(function() - vim.fn["lightline#disable"]() - vim.fn["lightline#enable"]() - end) - end + local ll_filled = vim.fn["lightline#colorscheme#fill"](lightline_theme) + vim.g["lightline#colorscheme#gruvbox#palette"] = ll_filled + vim.schedule(function() + vim.fn["lightline#disable"]() + vim.fn["lightline#enable"]() + end) end return M -- cgit v1.2.3