diff options
| author | Ellison Leão <ellisonleao@gmail.com> | 2021-03-25 12:13:09 -0300 |
|---|---|---|
| committer | Ellison Leão <ellisonleao@gmail.com> | 2021-03-25 12:13:09 -0300 |
| commit | c01f182d05cf5f4ec712fdeeb6862438797c4b0c (patch) | |
| tree | 5507a2c9802c64abe02135b7a0bd8e3640269d3e /lua | |
| parent | d167ddc70cdf52bf2ede11ba706811d6e9740881 (diff) | |
| download | gruvbox-c01f182d05cf5f4ec712fdeeb6862438797c4b0c.tar.gz gruvbox-c01f182d05cf5f4ec712fdeeb6862438797c4b0c.tar.xz | |
fixing custom colors vars
- adding g:gruvbox_sign_column missing var handling
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/gruvbox/base.lua | 38 | ||||
| -rw-r--r-- | lua/gruvbox/utils.lua | 16 |
2 files changed, 23 insertions, 31 deletions
diff --git a/lua/gruvbox/base.lua b/lua/gruvbox/base.lua index 66fca81..f4c7bea 100644 --- a/lua/gruvbox/base.lua +++ b/lua/gruvbox/base.lua @@ -3,7 +3,6 @@ local convert = require("lush.hsl.convert") local colors = require("gruvbox.colors") local styles = require("gruvbox.settings").styles local utils = require("gruvbox.utils") -local hsl = lush.hsl -- options (dark mode by default) local bg0 = colors.dark0 @@ -26,7 +25,6 @@ local purple = colors.bright_purple local aqua = colors.bright_aqua local orange = colors.bright_orange local gray = colors.gray -local sign_column = bg1 -- handle light/dark contrast settings local bg = vim.o.background @@ -63,35 +61,13 @@ if bg == "light" then orange = colors.faded_orange end -local hls_cursor = orange -if vim.g.gruvbox_hls_cursor ~= nil then - hls_cursor = hsl(colors[vim.g.gruvbox_hls_cursor]) -end - -local hls_highlight = yellow -if vim.g.gruvbox_hls_cursor ~= nil then - hls_highlight = hsl(colors[vim.g.gruvbox_hls_highlight]) -end - -local number_column -if vim.g.gruvbox_number_column ~= nil then - number_column = hsl(colors[vim.g.gruvbox_number_column]) -end - -local color_column = bg1 -if vim.g.gruvbox_color_column ~= nil then - color_column = hsl(colors[vim.g.gruvbox_color_column]) -end - -local vert_split = bg0 -if vim.g.gruvbox_vert_split ~= nil then - vert_split = hsl(colors[vim.g.gruvbox_vert_split]) -end - -local tabline_sel = green -if utils.tobool(vim.g.gruvbox_tabline_sel) then - tabline_sel = hsl(colors[vim.g.gruvbox_tabline_sel]) -end +local hls_cursor = utils.get_color_from_var(vim.g.gruvbox_hls_cursor, orange) +local hls_highlight = utils.get_color_from_var(vim.g.gruvbox_hls_highlight, yellow) +local number_column = utils.get_color_from_var(vim.g.gruvbox_number_column, nil) +local color_column = utils.get_color_from_var(vim.g.gruvbox_color_column, bg1) +local vert_split = utils.get_color_from_var(vim.g.gruvbox_vert_split, bg0) +local tabline_sel = utils.get_color_from_var(vim.g.gruvbox_tabline_sel, green) +local sign_column = utils.get_color_from_var(vim.g.gruvbox_sign_column, bg1) local improved_strings_fg = fg1 local improved_strings_bg = bg1 diff --git a/lua/gruvbox/utils.lua b/lua/gruvbox/utils.lua index fefd920..28fc7ea 100644 --- a/lua/gruvbox/utils.lua +++ b/lua/gruvbox/utils.lua @@ -1,4 +1,5 @@ -- util functions +local colors = require("gruvbox.colors") local M = {} M.tobool = function(val) @@ -8,4 +9,19 @@ M.tobool = function(val) 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) + 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 + return M |
