summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/config/lua/plugins/lualine.lua
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-07-13 14:51:46 -0400
committertriethyl <triethylammonium@pm.me>2025-07-13 14:51:46 -0400
commitfa2d77c6627e8715025dfba2c4814d2d24d0f6f7 (patch)
tree2bfc175eca036bee498a168534a65ce0910040f2 /pkgs/custom-neovim/config/lua/plugins/lualine.lua
parentdacca9aa76fc197c318305627a6dbf05f384519c (diff)
parent9a06380449c98e374d2db1f9a477614d82f9ff91 (diff)
Merge branch 'pkgs/custom-neovim'
Diffstat (limited to 'pkgs/custom-neovim/config/lua/plugins/lualine.lua')
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/lualine.lua88
1 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/custom-neovim/config/lua/plugins/lualine.lua b/pkgs/custom-neovim/config/lua/plugins/lualine.lua
new file mode 100644
index 0000000..b38d3ed
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/lualine.lua
@@ -0,0 +1,88 @@
+local generate_lualine_theme = function()
+ local colors = utils.generate_theme_from_lualine()
+ return {
+ normal = {
+ a = {bg = colors.modes.normal, fg = colors.text.dark, gui = 'bold'},
+ b = {bg = colors.background, fg = colors.text.light},
+ c = {bg = colors.background, fg = colors.text.light},
+ x = {bg = colors.background, fg = colors.text.light},
+ y = {bg = colors.background, fg = colors.text.light},
+ z = {bg = colors.modes.normal, fg = colors.text.dark, gui = 'bold'},
+ },
+ insert = {
+ a = {bg = colors.modes.insert, fg = colors.text.dark, gui = 'bold'},
+ b = {bg = colors.background, fg = colors.text.light},
+ c = {bg = colors.background, fg = colors.text.light},
+ x = {bg = colors.background, fg = colors.text.light},
+ y = {bg = colors.background, fg = colors.text.light},
+ z = {bg = colors.modes.insert, fg = colors.text.dark, gui = 'bold'},
+ },
+ visual = {
+ a = {bg = colors.modes.visual, fg = colors.text.dark, gui = 'bold'},
+ b = {bg = colors.background, fg = colors.text.light},
+ c = {bg = colors.background, fg = colors.text.light},
+ x = {bg = colors.background, fg = colors.text.light},
+ y = {bg = colors.background, fg = colors.text.light},
+ z = {bg = colors.modes.visual, fg = colors.text.dark, gui = 'bold'},
+ },
+ replace = {
+ a = {bg = colors.modes.replace, fg = colors.text.dark, gui = 'bold'},
+ b = {bg = colors.background, fg = colors.text.light},
+ c = {bg = colors.background, fg = colors.text.light},
+ x = {bg = colors.background, fg = colors.text.light},
+ y = {bg = colors.background, fg = colors.text.light},
+ z = {bg = colors.modes.replace, fg = colors.text.dark, gui = 'bold'},
+ },
+ command = {
+ a = {bg = colors.modes.command, fg = colors.text.dark, gui = 'bold'},
+ b = {bg = colors.background, fg = colors.text.light},
+ c = {bg = colors.background, fg = colors.text.light},
+ x = {bg = colors.background, fg = colors.text.light},
+ y = {bg = colors.background, fg = colors.text.light},
+ z = {bg = colors.modes.command, fg = colors.text.dark, gui = 'bold'},
+ },
+ inactive = {
+ a = {bg = colors.modes.inactive, fg = colors.text.dark, gui = 'bold'},
+ b = {bg = colors.background, fg = colors.text.light},
+ c = {bg = colors.background, fg = colors.text.light},
+ x = {bg = colors.background, fg = colors.text.light},
+ y = {bg = colors.background, fg = colors.text.light},
+ z = {bg = colors.modes.inactive, fg = colors.text.dark, gui = 'bold'},
+ },
+ };
+end
+
+require('lualine').setup {
+ options = {
+ theme = generate_lualine_theme(),
+ component_separators = "",
+ section_separators = { left = '', right = '' },
+ },
+ sections = {
+ lualine_a = { { 'mode', separator = { left = '', rignt = '' }, right_padding = 2 } }, -- { left = '', rignt = '' }
+ lualine_b = { 'filename', 'diff' },
+ lualine_c = { 'branch' },
+ lualine_x = { {'diagnostics', sources = { 'nvim_lsp' } } },
+ lualine_y = { 'lsp_status', 'progress' },
+ lualine_z = {
+ { 'location', separator = { left = '', right = '' }, left_padding = 2 },
+ },
+ },
+ inactive_sections = {
+ lualine_a = {},
+ lualine_b = { 'filename' },
+ lualine_c = {},
+ lualine_x = {},
+ lualine_y = { 'location' },
+ lualine_z = {},
+ },
+ tabline = {},
+ extensions = {},
+}
+
+-- vim.api.nvim_create_autocmd("ColorScheme", {
+-- callback = function()
+-- setup_lualine()
+-- print "colorscheme changed"
+-- end,
+-- })