diff options
| author | Ellison Leão <ellisonleao@gmail.com> | 2021-03-13 16:18:52 -0300 |
|---|---|---|
| committer | Ellison Leão <ellisonleao@gmail.com> | 2021-03-13 16:18:52 -0300 |
| commit | 877451aff3f125ded1cb6c3b080d358bb5cfe112 (patch) | |
| tree | cd975fdac230fad780d21a7aa16ee3f40eec8a2f /lua | |
| parent | 888a2b3d2438a5b076067a6e441f5170f50ca745 (diff) | |
| download | gruvbox-877451aff3f125ded1cb6c3b080d358bb5cfe112.tar.gz gruvbox-877451aff3f125ded1cb6c3b080d358bb5cfe112.tar.xz | |
adding initial lightline support. Resolve #23
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/gruvbox/init.lua | 4 | ||||
| -rw-r--r-- | lua/gruvbox/plugins/lightline.lua | 76 |
2 files changed, 80 insertions, 0 deletions
diff --git a/lua/gruvbox/init.lua b/lua/gruvbox/init.lua index 8dc7865..3447cb8 100644 --- a/lua/gruvbox/init.lua +++ b/lua/gruvbox/init.lua @@ -983,4 +983,8 @@ local groups = lush(function() GitGutterChangeDelete {GruvboxAquaSign}, } end) + +-- lightline check +require("gruvbox.plugins.lightline").start() + return groups diff --git a/lua/gruvbox/plugins/lightline.lua b/lua/gruvbox/plugins/lightline.lua new file mode 100644 index 0000000..2cc9caf --- /dev/null +++ b/lua/gruvbox/plugins/lightline.lua @@ -0,0 +1,76 @@ +-- lightline support +local M = {} + +local function get_gruvbox_color(group) + local gui_color = vim.fn.synIDattr(vim.fn.hlID(group), "fg", "gui") + local term_color = vim.fn.synIDattr(vim.fn.hlID(group), "fg", "cterm") + return {gui_color, term_color} +end + +local bg0 = get_gruvbox_color("GruvboxBg0") +local bg1 = get_gruvbox_color("GruvboxBg1") +local bg2 = get_gruvbox_color("GruvboxBg2") +local bg4 = get_gruvbox_color("GruvboxBg4") +local fg1 = get_gruvbox_color("GruvboxFg1") +local fg4 = get_gruvbox_color("GruvboxFg4") + +local yellow = get_gruvbox_color("GruvboxYellow") +local blue = get_gruvbox_color("GruvboxBlue") +local aqua = get_gruvbox_color("GruvboxAqua") +local orange = get_gruvbox_color("GruvboxOrange") +local red = get_gruvbox_color("GruvboxRed") +local green = get_gruvbox_color("GruvboxGreen") + +local p = { + normal = { + right = {{bg0, fg4}, {fg4, bg2}}, + left = {{bg0, fg4, "bold"}, {fg4, bg2}}, + middle = {{fg4, bg1}}, + error = {{bg0, red}}, + warning = {{bg0, yellow}}, + }, + inactive = { + right = {{bg4, bg1}, {bg4, bg1}}, + left = {{bg4, bg1}, {bg4, bg1}}, + middle = {{bg4, bg1}}, + }, + insert = { + right = {{bg0, blue}, {fg1, bg2}}, + left = {{bg0, blue, "bold"}, {fg1, bg2}}, + middle = {{fg4, bg1}}, + }, + terminal = { + right = {{bg0, green}, {fg1, bg2}}, + left = {{bg0, green, "bold"}, {fg1, bg2}}, + middle = {{fg4, bg1}}, + }, + replace = { + right = {{bg0, aqua}, {fg1, bg2}}, + left = {{bg0, aqua, "bold"}, {fg1, bg2}}, + middle = {{fg4, bg1}}, + }, + visual = { + right = {{bg0, orange}, {bg0, bg4}}, + left = {{bg0, orange, "bold"}, {bg0, bg4}}, + middle = {{fg4, bg1}}, + }, + tabline = { + right = {{bg0, orange}}, + left = {{fg4, bg2}}, + middle = {{bg0, bg4}}, + tabsel = {{bg0, fg4}}, + }, +} + +M.start = function() + if not vim.fn.exists(vim.g.lightline) then + return + end + + if vim.g.loaded_lightline then + vim.g["lightline#colorscheme#gruvbox#palette"] = + vim.api.nvim_call_function("lightline#colorscheme#flatten", {p}) + end +end + +return M |
