aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEllison Leão <ellisonleao@gmail.com>2021-03-25 12:13:09 -0300
committerEllison Leão <ellisonleao@gmail.com>2021-03-25 12:13:09 -0300
commitc01f182d05cf5f4ec712fdeeb6862438797c4b0c (patch)
tree5507a2c9802c64abe02135b7a0bd8e3640269d3e
parentd167ddc70cdf52bf2ede11ba706811d6e9740881 (diff)
downloadgruvbox-c01f182d05cf5f4ec712fdeeb6862438797c4b0c.tar.gz
gruvbox-c01f182d05cf5f4ec712fdeeb6862438797c4b0c.tar.xz
fixing custom colors vars
- adding g:gruvbox_sign_column missing var handling
-rw-r--r--lua/gruvbox/base.lua38
-rw-r--r--lua/gruvbox/utils.lua16
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