diff options
| author | Marian <marian1amazing@gmail.com> | 2022-09-30 21:46:22 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-30 14:46:22 -0300 |
| commit | b9cf48f2c55a9f1bd60efd48060ca256f65146f8 (patch) | |
| tree | f9d70f1b5dd84daaba9a8ee9d002248d378ca16b | |
| parent | d2fdcdb1822264c256bf38a56efc1c3d4ecc337f (diff) | |
| download | gruvbox-b9cf48f2c55a9f1bd60efd48060ca256f65146f8.tar.gz gruvbox-b9cf48f2c55a9f1bd60efd48060ca256f65146f8.tar.xz | |
Add palette overriding (#145)
| -rw-r--r-- | README.md | 19 | ||||
| -rw-r--r-- | lua/gruvbox/groups.lua | 4 | ||||
| -rw-r--r-- | lua/gruvbox/init.lua | 1 | ||||
| -rw-r--r-- | tests/gruvbox/gruvbox_spec.lua | 19 |
4 files changed, 41 insertions, 2 deletions
@@ -66,7 +66,24 @@ require("gruvbox").setup({ vim.cmd("colorscheme gruvbox") ``` -## Overriding Highlight groups +## Overriding + +### Pallette + +You can specify your own palette colors. For example: + +```lua +require("gruvbox").setup({ + palette_overrides = { + bright_green = "#990000", + } +}) +vim.cmd("colorscheme gruvbox") +``` + +More colors in the [palette.lua](lua/gruvbox/palette.lua) file + +### Highlight groups If you don't enjoy the current color for a specific highlight group, now you can just override it in the setup. For example: diff --git a/lua/gruvbox/groups.lua b/lua/gruvbox/groups.lua index 24c910e..124e084 100644 --- a/lua/gruvbox/groups.lua +++ b/lua/gruvbox/groups.lua @@ -93,9 +93,11 @@ end groups.setup = function() local config = require("gruvbox").config + local palette = require("gruvbox.palette") - local colors = get_base_colors(palette, config.contrast) + for k,v in pairs(config.palette_overrides) do palette[k] = v end + local colors = get_base_colors(palette, config.contrast) set_terminal_colors(colors) local groups = { diff --git a/lua/gruvbox/init.lua b/lua/gruvbox/init.lua index aee9ccd..43dad76 100644 --- a/lua/gruvbox/init.lua +++ b/lua/gruvbox/init.lua @@ -13,6 +13,7 @@ M.config = { invert_intend_guides = false, inverse = true, -- invert background for search, diffs, statuslines and errors contrast = "", -- can be "hard", "soft" or empty string + palette_overrides = {}, overrides = {}, dim_inactive = false, transparent_mode = false, diff --git a/tests/gruvbox/gruvbox_spec.lua b/tests/gruvbox/gruvbox_spec.lua index 9338ab6..ed96742 100644 --- a/tests/gruvbox/gruvbox_spec.lua +++ b/tests/gruvbox/gruvbox_spec.lua @@ -15,6 +15,7 @@ describe("setup", function() invert_tabline = false, invert_intend_guides = false, contrast = "", + palette_overrides = {}, overrides = {}, dim_inactive = false, transparent_mode = false, @@ -37,6 +38,7 @@ describe("setup", function() invert_tabline = false, invert_intend_guides = false, contrast = "", + palette_overrides = {}, overrides = {}, dim_inactive = false, transparent_mode = false, @@ -118,4 +120,21 @@ describe("highlight overrides", function() } assert.are.same(values, { background = "#990000" }) end) + + it("should override palette", function() + local config = { + palette_overrides = { + bright_green = "#990000", + }, + } + + gruvbox.setup(config) + gruvbox.load() + + local group_id = vim.api.nvim_get_hl_id_by_name("Function") + local values = { + background = vim.fn.synIDattr(group_id, "bg", "gui"), + } + assert.are.same(values, { background = "#990000" }) + end) end) |
