lua/josean/plugins/lualine.lua (2116B)
1 return {
2 "nvim-lualine/lualine.nvim",
3 dependencies = { "nvim-tree/nvim-web-devicons" },
4 config = function()
5 local lualine = require("lualine")
6 local lazy_status = require("lazy.status") -- to configure lazy pending updates count
7
8 local colors = {
9 blue = "#65D1FF",
10 green = "#3EFFDC",
11 violet = "#FF61EF",
12 yellow = "#FFDA7B",
13 red = "#FF4A4A",
14 fg = "#c3ccdc",
15 bg = "#112638",
16 inactive_bg = "#2c3043",
17 }
18
19 local my_lualine_theme = {
20 normal = {
21 a = { bg = colors.blue, fg = colors.bg, gui = "bold" },
22 b = { bg = colors.bg, fg = colors.fg },
23 c = { bg = colors.bg, fg = colors.fg },
24 },
25 insert = {
26 a = { bg = colors.green, fg = colors.bg, gui = "bold" },
27 b = { bg = colors.bg, fg = colors.fg },
28 c = { bg = colors.bg, fg = colors.fg },
29 },
30 visual = {
31 a = { bg = colors.violet, fg = colors.bg, gui = "bold" },
32 b = { bg = colors.bg, fg = colors.fg },
33 c = { bg = colors.bg, fg = colors.fg },
34 },
35 command = {
36 a = { bg = colors.yellow, fg = colors.bg, gui = "bold" },
37 b = { bg = colors.bg, fg = colors.fg },
38 c = { bg = colors.bg, fg = colors.fg },
39 },
40 replace = {
41 a = { bg = colors.red, fg = colors.bg, gui = "bold" },
42 b = { bg = colors.bg, fg = colors.fg },
43 c = { bg = colors.bg, fg = colors.fg },
44 },
45 inactive = {
46 a = { bg = colors.inactive_bg, fg = colors.semilightgray, gui = "bold" },
47 b = { bg = colors.inactive_bg, fg = colors.semilightgray },
48 c = { bg = colors.inactive_bg, fg = colors.semilightgray },
49 },
50 }
51
52 -- configure lualine with modified theme
53 lualine.setup({
54 options = {
55 theme = my_lualine_theme,
56 },
57 sections = {
58 lualine_x = {
59 {
60 lazy_status.updates,
61 cond = lazy_status.has_updates,
62 color = { fg = "#ff9e64" },
63 },
64 { "encoding" },
65 { "fileformat" },
66 { "filetype" },
67 },
68 },
69 })
70 end,
71 }