diff options
| author | Ellison Leão <ellisonleao@gmail.com> | 2021-03-10 12:13:41 -0300 |
|---|---|---|
| committer | Ellison Leão <ellisonleao@gmail.com> | 2021-03-10 12:13:41 -0300 |
| commit | 9813ffbcda1c5738fe59b7ebce605d826656d691 (patch) | |
| tree | af24dd2b2f0b94cb5eb6ee522d338945ca1265cf | |
| parent | a776b2cefe5963fa5298e1591469d510941fd14d (diff) | |
| download | gruvbox-9813ffbcda1c5738fe59b7ebce605d826656d691.tar.gz gruvbox-9813ffbcda1c5738fe59b7ebce605d826656d691.tar.xz | |
initial airline support #19
| -rw-r--r-- | lua/gruvbox/init.lua | 181 |
1 files changed, 180 insertions, 1 deletions
diff --git a/lua/gruvbox/init.lua b/lua/gruvbox/init.lua index 96f36d2..1f7f7a8 100644 --- a/lua/gruvbox/init.lua +++ b/lua/gruvbox/init.lua @@ -249,6 +249,186 @@ vim.g.terminal_color_14 = aqua vim.g.terminal_color_7 = fg4 vim.g.terminal_color_15 = fg1 +local function airline() + vim.g["airline#themes.gruvbox#palette"] = {} + local M0 = vim.fn["airline#themes#get_highlight"]({"Identifier"}) + local accents_group = vim.fn["airline#themes#get_highlight"]({"Special"}) + local modified_group = {M0[1], "", M0[2], "", ""} + local warning_group = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"Question", "fg"}}) + local error_group = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"WarningMsg", "fg"}}) + + local N1 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"StatusLineNC", "fg"}}) + local N2 = vim.fn["airline#themes#get_highlight2"]( + {{"StatusLineNC", "bg"}, {"PMenu", "bg"}}) + local N3 = vim.fn["airline#themes#get_highlight2"]( + {{"StatusLineNC", "bg"}, {"StatusLineNC", "fg"}}) + + -- normal mode vars + vim.g["airline#themes#gruvbox#palette.normal"] = + vim.fn["airline#themes#generate_color_map"]({N1, N2, N3}) + vim.g["airline#themes#gruvbox#palette.normal_modified"] = {airline_c = modified_group} + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] = warning_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = + warning_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] = + warning_group + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] = error_group + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] = error_group + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] = N3 + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] = N3 + + -- insert mode vars + local I1 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"Identifier", "fg"}}) + local I2 = N2 + local I3 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxFg1", "fg"}, {"Pmenu", "bg"}}) + + vim.g["airline#themes#gruvbox#palette.insert"] = + vim.fn["airline#themes#generate_color_map"]({I1, I2, I3}) + + vim.g["airline#themes#gruvbox#palette.insert_modified"] = + vim.g["airline#themes#gruvbox#palette.normal_modified"] + + vim.g["airline#themes#gruvbox#palette.insert.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.insert.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + + vim.g["airline#themes#gruvbox#palette.insert.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + + vim.g["airline#themes#gruvbox#palette.insert_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + + -- replace mode vars + local R1 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"Structure", "fg"}}) + local R2 = I2 + local R3 = I3 + + vim.g["airline#themes#gruvbox#palette.replace"] = + vim.fn["airline#themes#generate_color_map"]({R1, R2, R3}) + + vim.g["airline#themes#gruvbox#palette.replace_modified"] = + vim.g["airline#themes#gruvbox#palette.normal_modified"] + + vim.g["airline#themes#gruvbox#palette.replace.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.replace.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + + vim.g["airline#themes#gruvbox#palette.replace.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + + vim.g["airline#themes#gruvbox#palette.replace_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + + -- visual mode vars + local V1 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"Question", "fg"}}) + local V2 = N2 + local V3 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"TabLine", "fg"}}) + + vim.g["airline#themes#gruvbox#palette.replace"] = + vim.fn["airline#themes#generate_color_map"]({V1, V2, V3}) + + vim.g["airline#themes#gruvbox#palette.visual_modified"] = + {airline_c = {V3[1], "", V3[3], "", ""}} + + vim.g["airline#themes#gruvbox#palette.visual.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.visual.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + + vim.g["airline#themes#gruvbox#palette.visual.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + + vim.g["airline#themes#gruvbox#palette.visual_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + + local C1 = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"GruvboxGreen", "fg"}}) + local C2 = I2 + local C3 = I3 + + vim.g["airline#themes#gruvbox#palette.commandline"] = + vim.fn["airline#themes#generate_color_map"]({C1, C2, C3}) + + vim.g["airline#themes#gruvbox#palette.commandline_modified"] = + vim.g["airline#themes#gruvbox#palette.normal_modified"] + + vim.g["airline#themes#gruvbox#palette.commandline.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_warning"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_warning"] + + vim.g["airline#themes#gruvbox#palette.commandline.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_error"] + + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_error"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_error"] + + vim.g["airline#themes#gruvbox#palette.commandline.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal.airline_term"] + + vim.g["airline#themes#gruvbox#palette.commandline_modified.airline_term"] = + vim.g["airline#themes#gruvbox#palette.normal_modified.airline_term"] + + local IA = vim.fn["airline#themes#get_highlight2"]( + {{"TabLine", "fg"}, {"CursorLine", "bg"}}) + vim.g["airline#themes#gruvbox#palette.inactive"] = + vim.fn["airline#themes#generate_color_map"]({IA, IA, IA}) + + vim.g["airline#themes#gruvbox#palette.inactive_modified"] = + {airline_c = modified_group} + vim.g["airline#themes#gruvbox#palette.accents"] = {red = accents_group} + + local TF = vim.fn["airline#themes#get_highlight2"]( + {{"GruvboxBg0", "fg"}, {"GruvboxBg0", "fg"}}) + + vim.g["airline#themes#gruvbox#palette.tabline"] = + { + airline_tab = N2, + airline_tabsel = N1, + airline_tabtype = V1, + airline_tablabel = V1, + airline_tablabel_right = V1, + airline_tabfill = TF, + airline_tabhid = IA, + airline_tabmod = I1, + } +end + +-- Need to provide this function +-- vim.fn["airline#themes#gruvbox#refresh"] = airline() + local groups = lush(function() return { -- Base groups @@ -1013,5 +1193,4 @@ local groups = lush(function() GitGutterChangeDelete {GruvboxAquaSign}, } end) - return groups |
