From 96f6ac69dd1834a6969bae2032e10d33bfff2895 Mon Sep 17 00:00:00 2001 From: ralvescosta Date: Mon, 17 Mar 2025 05:53:41 -0300 Subject: [PATCH] feat: lualine --- lua/custom/plugins/lualine.lua | 71 ++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 lua/custom/plugins/lualine.lua diff --git a/lua/custom/plugins/lualine.lua b/lua/custom/plugins/lualine.lua new file mode 100644 index 00000000..7a85fe15 --- /dev/null +++ b/lua/custom/plugins/lualine.lua @@ -0,0 +1,71 @@ +return { + 'nvim-lualine/lualine.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + local lualine = require 'lualine' + local lazy_status = require 'lazy.status' -- to configure lazy pending updates count + + local colors = { + blue = '#65D1FF', + green = '#3EFFDC', + violet = '#FF61EF', + yellow = '#FFDA7B', + red = '#FF4A4A', + fg = '#c3ccdc', + bg = '#112638', + inactive_bg = '#2c3043', + } + + local my_lualine_theme = { + normal = { + a = { bg = colors.blue, fg = colors.bg, gui = 'bold' }, + b = { bg = colors.bg, fg = colors.fg }, + c = { bg = colors.bg, fg = colors.fg }, + }, + insert = { + a = { bg = colors.green, fg = colors.bg, gui = 'bold' }, + b = { bg = colors.bg, fg = colors.fg }, + c = { bg = colors.bg, fg = colors.fg }, + }, + visual = { + a = { bg = colors.violet, fg = colors.bg, gui = 'bold' }, + b = { bg = colors.bg, fg = colors.fg }, + c = { bg = colors.bg, fg = colors.fg }, + }, + command = { + a = { bg = colors.yellow, fg = colors.bg, gui = 'bold' }, + b = { bg = colors.bg, fg = colors.fg }, + c = { bg = colors.bg, fg = colors.fg }, + }, + replace = { + a = { bg = colors.red, fg = colors.bg, gui = 'bold' }, + b = { bg = colors.bg, fg = colors.fg }, + c = { bg = colors.bg, fg = colors.fg }, + }, + inactive = { + a = { bg = colors.inactive_bg, fg = colors.semilightgray, gui = 'bold' }, + b = { bg = colors.inactive_bg, fg = colors.semilightgray }, + c = { bg = colors.inactive_bg, fg = colors.semilightgray }, + }, + } + + -- configure lualine with modified theme + lualine.setup { + options = { + theme = my_lualine_theme, + }, + sections = { + lualine_x = { + { + lazy_status.updates, + cond = lazy_status.has_updates, + color = { fg = '#ff9e64' }, + }, + { 'encoding' }, + { 'fileformat' }, + { 'filetype' }, + }, + }, + } + end, +}