--=======================-- -- Gruvbox Material Dark -- --=======================-- local gruvbox_material_hard_dark_palette = { bg_dim = "#141617", bg0 = "#1d2021", bg1 = "#282828", bg2 = "#282828", bg3 = "#3c3836", bg4 = "#3c3836", bg5 = "#504945", bg_statusline1 = "#282828", bg_statusline2 = "#32302f", bg_statusline3 = "#504945", bg_diff_green = "#32361a", bg_diff_blue = "#0d3138", bg_diff_red = "#3c1f1e", bg_visual_green = "#333e34", bg_visual_blue = "#2e3b3b", bg_visual_yellow = "#473c29", bg_visual_red = "#442e2d", bg_current_word = "#32302f", fg0 = "#d4be98", fg1 = "#ddc7a1", red = "#ea6962", orange = "#e78a4e", yellow = "#d8a657", green = "#a9b665", aqua = "#89b482", blue = "#7daea3", purple = "#d3869b", gray0 = "#7c6f64", gray1 = "#928374", gray2 = "#a89984", bg_green = "#a9b665", bg_yellow = "#d8a657", bg_red = "#ea6962", } local gruvbox_material_medium_dark_palette = { bg_dim = "#1b1b1b", bg0 = "#282828", bg1 = "#32302f", bg2 = "#32302f", bg3 = "#45403d", bg4 = "#45403d", bg5 = "#5a524c", bg_statusline1 = "#32302f", bg_statusline2 = "#3a3735", bg_statusline3 = "#504945", bg_diff_green = "#34381b", bg_diff_blue = "#0e363e", bg_diff_red = "#402120", bg_visual_green = "#3b4439", bg_visual_blue = "#374141", bg_visual_yellow = "#4f422e", bg_visual_red = "#4c3432", bg_current_word = "#3c3836", fg0 = "#d4be98", fg1 = "#ddc7a1", red = "#ea6962", orange = "#e78a4e", yellow = "#d8a657", green = "#a9b665", aqua = "#89b482", blue = "#7daea3", purple = "#d3869b", gray0 = "#7c6f64", gray1 = "#928374", gray2 = "#a89984", bg_green = "#a9b665", bg_yellow = "#d8a657", bg_red = "#ea6962", } local gruvbox_material_soft_dark_palette = { bg_dim = "#252423", bg0 = "#32302f", bg1 = "#3c3836", bg2 = "#3c3836", bg3 = "#504945", bg4 = "#504945", bg5 = "#665c54", bg_statusline1 = "#3c3836", bg_statusline2 = "#46413e", bg_statusline3 = "#5b534d", bg_diff_green = "#3d4220", bg_diff_blue = "#0f3a42", bg_diff_red = "#472322", bg_visual_green = "#424a3e", bg_visual_blue = "#404946", bg_visual_yellow = "#574833", bg_visual_red = "#543937", bg_current_word = "#45403d", fg0 = "#d4be98", fg1 = "#ddc7a1", red = "#ea6962", orange = "#e78a4e", yellow = "#d8a657", green = "#a9b665", aqua = "#89b482", blue = "#7daea3", purple = "#d3869b", gray0 = "#7c6f64", gray1 = "#928374", gray2 = "#a89984", bg_green = "#a9b665", bg_yellow = "#d8a657", bg_red = "#ea6962", } --- Gets the gruvbox material dark theme. --- @param toughness string Tougness of theme: "hard", "soft" or "medium". --- @return table theme Used in Yatline. local function gruvbox_material_dark_theme(toughness) local gruvbox_material_dark_palette if toughness == "hard" then gruvbox_material_dark_palette = gruvbox_material_hard_dark_palette elseif toughness == "soft" then gruvbox_material_dark_palette = gruvbox_material_soft_dark_palette else gruvbox_material_dark_palette = gruvbox_material_medium_dark_palette end return { -- yatline section_separator_open = "", section_separator_close = "", inverse_separator_open = "", inverse_separator_close = "", part_separator_open = "", part_separator_close = "", style_a = { fg = gruvbox_material_dark_palette.bg0, bg_mode = { normal = gruvbox_material_dark_palette.gray2, select = gruvbox_material_dark_palette.blue, un_set = gruvbox_material_dark_palette.orange } }, style_b = { bg = gruvbox_material_dark_palette.bg5, fg = gruvbox_material_dark_palette.fg1 }, style_c = { bg = gruvbox_material_dark_palette.bg2, fg = gruvbox_material_dark_palette.fg1 }, permissions_t_fg = gruvbox_material_dark_palette.green, permissions_r_fg = gruvbox_material_dark_palette.yellow, permissions_w_fg = gruvbox_material_dark_palette.red, permissions_x_fg = gruvbox_material_dark_palette.aqua, permissions_s_fg = gruvbox_material_dark_palette.gray0, selected = { icon = "󰻭", fg = gruvbox_material_dark_palette.yellow }, copied = { icon = "", fg = gruvbox_material_dark_palette.green }, cut = { icon = "", fg = gruvbox_material_dark_palette.red }, total = { icon = "󰮍", fg = gruvbox_material_dark_palette.yellow }, succ = { icon = "", fg = gruvbox_material_dark_palette.green }, fail = { icon = "", fg = gruvbox_material_dark_palette.red }, found = { icon = "󰮕", fg = gruvbox_material_dark_palette.blue }, processed = { icon = "󰐍", fg = gruvbox_material_dark_palette.green }, -- yatline-githead prefix_color = gruvbox_material_dark_palette.fg1, branch_color = gruvbox_material_dark_palette.blue, commit_color = gruvbox_material_dark_palette.purple, behind_color = gruvbox_material_dark_palette.orange, ahead_color = gruvbox_material_dark_palette.aqua, stashes_color = gruvbox_material_dark_palette.purple, state_color = gruvbox_material_dark_palette.red, staged_color = gruvbox_material_dark_palette.yellow, unstaged_color = gruvbox_material_dark_palette.orange, untracked_color = gruvbox_material_dark_palette.aqua, } end --========================-- -- Gruvbox Material Light -- --========================-- local gruvbox_material_hard_light_palette = { bg_dim = "#f3eac7", bg0 = "#f9f5d7", bg1 = "#f5edca", bg2 = "#f3eac7", bg3 = "#f2e5bc", bg4 = "#eee0b7", bg5 = "#ebdbb2", bg_statusline1 = "#f5edca", bg_statusline2 = "#f3eac7", bg_statusline3 = "#eee0b7", bg_diff_green = "#e4edc8", bg_visual_green = "#dde5c2", bg_diff_red = "#f8e4c9", bg_visual_red = "#f0ddc3", bg_diff_blue = "#e0e9d3", bg_visual_blue = "#d9e1cc", bg_visual_yellow = "#f9eabf", bg_current_word = "#f3eac7", fg0 = "#654735", fg1 = "#4f3829", red = "#c14a4a", orange = "#c35e0a", yellow = "#b47109", green = "#6c782e", aqua = "#4c7a5d", blue = "#45707a", purple = "#945e80", bg_red = "#ae5858", bg_green = "#6f8352", bg_yellow = "#a96b2c", gray0 = "#a89984", gray1 = "#928374", gray2 = "#7c6f64", } local gruvbox_material_medium_light_palette = { bg_dim = '#f2e5bc', bg0 = '#fbf1c7', bg1 = '#f4e8be', bg2 = '#f2e5bc', bg3 = '#eee0b7', bg4 = '#e5d5ad', bg5 = '#ddccab', bg_statusline1 = '#f2e5bc', bg_statusline2 = '#f2e5bc', bg_statusline3 = '#e5d5ad', bg_diff_green = '#e6eabc', bg_visual_green = '#dee2b6', bg_diff_red = '#f9e0bb', bg_visual_red = '#f1d9b5', bg_diff_blue = '#e2e6c7', bg_visual_blue = '#dadec0', bg_visual_yellow = '#fae7b3', bg_current_word = '#f2e5bc', fg0 = '#654735', fg1 = '#4f3829', red = '#c14a4a', orange = '#c35e0a', yellow = '#b47109', green = '#6c782e', aqua = '#4c7a5d', blue = '#45707a', purple = '#945e80', bg_red = '#ae5858', bg_green = '#6f8352', bg_yellow = '#a96b2c', gray0 = '#a89984', gray1 = '#928374', gray2 = '#7c6f64', } local gruvbox_material_soft_light_palette = { bg_dim = '#ebdbb2', bg0 = '#f2e5bc', bg1 = '#eddeb5', bg2 = '#ebdbb2', bg3 = '#e6d5ae', bg4 = '#dac9a5', bg5 = '#d5c4a1', bg_statusline1 = '#ebdbb2', bg_statusline2 = '#ebdbb2', bg_statusline3 = '#dac9a5', bg_diff_green = '#dfe1b4', bg_visual_green = '#d7d9ae', bg_diff_red = '#f7d9b9', bg_visual_red = '#efd2b3', bg_diff_blue = '#dbddbf', bg_visual_blue = '#d3d5b8', bg_visual_yellow = '#f3deaa', bg_current_word = '#ebdbb2', fg0 = '#654735', fg1 = '#4f3829', red = '#c14a4a', orange = '#c35e0a', yellow = '#b47109', green = '#6c782e', aqua = '#4c7a5d', blue = '#45707a', purple = '#945e80', bg_red = '#ae5858', bg_green = '#6f8352', bg_yellow = '#a96b2c', gray0 = '#a89984', gray1 = '#928374', gray2 = '#7c6f64', } --- Gets the gruvbox material light theme. --- @param toughness string Tougness of theme: "hard", "soft" or "medium". --- @return table theme Used in Yatline. local function gruvbox_material_light_theme(toughness) local gruvbox_material_light_palette if toughness == "hard" then gruvbox_material_light_palette = gruvbox_material_hard_light_palette elseif toughness == "soft" then gruvbox_material_light_palette = gruvbox_material_soft_light_palette else gruvbox_material_light_palette = gruvbox_material_medium_light_palette end return { -- yatline section_separator_open = "", section_separator_close = "", inverse_separator_open = "", inverse_separator_close = "", part_separator_open = "", part_separator_close = "", style_a = { fg = gruvbox_material_light_palette.bg0, bg_mode = { normal = gruvbox_material_light_palette.gray2, select = gruvbox_material_light_palette.blue, un_set = gruvbox_material_light_palette.orange } }, style_b = { bg = gruvbox_material_light_palette.bg5, fg = gruvbox_material_light_palette.fg1 }, style_c = { bg = gruvbox_material_light_palette.bg2, fg = gruvbox_material_light_palette.fg1 }, permissions_t_fg = gruvbox_material_light_palette.green, permissions_r_fg = gruvbox_material_light_palette.yellow, permissions_w_fg = gruvbox_material_light_palette.red, permissions_x_fg = gruvbox_material_light_palette.aqua, permissions_s_fg = gruvbox_material_light_palette.gray2, selected = { icon = "󰻭", fg = gruvbox_material_light_palette.yellow }, copied = { icon = "", fg = gruvbox_material_light_palette.green }, cut = { icon = "", fg = gruvbox_material_light_palette.red }, total = { icon = "󰮍", fg = gruvbox_material_light_palette.yellow }, succ = { icon = "", fg = gruvbox_material_light_palette.green }, fail = { icon = "", fg = gruvbox_material_light_palette.red }, found = { icon = "󰮕", fg = gruvbox_material_light_palette.blue }, processed = { icon = "󰐍", fg = gruvbox_material_light_palette.green }, -- yatline-githead prefix_color = gruvbox_material_light_palette.fg1, branch_color = gruvbox_material_light_palette.blue, commit_color = gruvbox_material_light_palette.purple, behind_color = gruvbox_material_light_palette.orange, ahead_color = gruvbox_material_light_palette.aqua, stashes_color = gruvbox_material_light_palette.purple, state_color = gruvbox_material_light_palette.red, staged_color = gruvbox_material_light_palette.yellow, unstaged_color = gruvbox_material_light_palette.orange, untracked_color = gruvbox_material_light_palette.aqua, } end return { setup = function(_, args) args = args or {} local mode = args.mode or "dark" local toughness = args.toughness or "medium" if mode == "light" then return gruvbox_material_light_theme(toughness) else return gruvbox_material_dark_theme(toughness) end end }