return { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() local lualine = require("lualine") local colors = { blue = "#268bd2", green = "#859900", violet = "#6c71c4", yellow = "#b58900", red = "#dc332f", cream = "#fdf6e3", black = "#002b36", grey = "#073642", dark = "#002b36", } local solarized = { normal = { a = { bg = colors.dark, fg = colors.cream, gui = "bold" }, c = { bg = colors.grey, fg = colors.cream, gui = "bold" }, }, insert = { a = { bg = colors.grey, fg = colors.cream, gui = "bold" }, c = { bg = colors.black, fg = colors.cream, gui = "bold" }, }, visual = { a = { bg = colors.violet, fg = colors.black, gui = "bold" }, c = { bg = colors.dark, fg = colors.cream, gui = "bold" }, }, command = { a = { bg = colors.green, fg = colors.black, gui = "bold" }, c = { bg = colors.black, fg = colors.cream, gui = "bold" }, }, replace = { a = { bg = colors.blue, fg = colors.black, gui = "bold" }, c = { bg = colors.black, fg = colors.cream, gui = "bold" }, }, inactive = { a = { bg = colors.green, fg = colors.black, gui = "bold" }, c = { bg = colors.black, fg = colors.cream, gui = "bold" }, }, } -- configure lualine with modified theme lualine.setup({ options = { theme = solarized, component_separators = { left = "", right = "|" }, section_separators = { left = "", right = "" }, }, sections = { lualine_a = { "mode", "branch", "diff", "diagnostics", { -- "buffers", -- buffers_color = { -- active = { bg = colors.yellow, fg = colors.black, gui = "bold" }, -- inactive = { bg = colors.grey, fg = colors.cream, gui = "italic" }, -- }, symbols = { modified = " ●", alternate_file = " ", directory = "", }, mode = 2, }, }, lualine_b = {}, lualine_c = { { "filename", file_status = true, path = 3, }, }, lualine_x = {}, lualine_y = {}, lualine_z = { "searchcount", "selectioncount", "encoding", "fileformat", "filetype", "progress", "location", }, }, inactive_sections = { lualine_a = {}, lualine_b = {}, lualine_c = { "filename" }, lualine_x = { "location" }, lualine_y = {}, lualine_z = {}, }, tabline = {}, winbar = {}, inactive_winbar = {}, extensions = {}, }) end, } -- config = function() -- local c = require("darkrose.colors").get() -- local lualine = require("lualine") -- -- local bg = c.bg_float_bright -- -- local conditions = { -- buffer_not_empty = function() -- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 -- end, -- hide_in_width = function() -- return vim.fn.winwidth(0) > 80 -- end, -- check_git_workspace = function() -- local filepath = vim.fn.expand("%:p:h") -- local gitdir = vim.fn.finddir(".git", filepath .. ";") -- return gitdir and #gitdir > 0 and #gitdir < #filepath -- end, -- } -- -- -- Config -- local config = { -- options = { -- -- Disable sections and component separators -- component_separators = "", -- section_separators = "", -- theme = { -- -- We are going to use lualine_c an lualine_x as the left -- -- and right sections. Both are highlighted by c theme. -- normal = { c = { fg = c.fg, bg = bg } }, -- inactive = { c = { fg = c.fg, bg = bg } }, -- }, -- }, -- sections = { -- -- these are to remove the defaults -- lualine_a = {}, -- lualine_b = {}, -- lualine_y = {}, -- lualine_z = {}, -- -- These will be filled later -- lualine_c = {}, -- lualine_x = {}, -- }, -- inactive_sections = { -- -- these are to remove the defaults -- lualine_a = {}, -- lualine_b = {}, -- lualine_y = {}, -- lualine_z = {}, -- lualine_c = {}, -- lualine_x = {}, -- }, -- } -- -- -- Inserts a component in lualine_c at left section -- local function left(component) -- table.insert(config.sections.lualine_c, component) -- end -- -- -- Inserts a component in lualine_x ot right section -- local function right(component) -- table.insert(config.sections.lualine_x, component) -- end -- -- left({ -- function() -- return "▊" -- end, -- color = { fg = c.gray }, -- padding = { left = 0, right = 1 }, -- }) -- -- left({ -- function() -- return "" -- end, -- color = function() -- local mode_color = { -- n = c.red, -- Normal -- i = c.orange, -- Insert -- ic = c.orange, -- Completion insert -- no = c.red, -- Operator-pending -- c = c.dark_pink, -- Command-line -- v = c.magenta, -- Visual -- V = c.magenta, -- Line-wise visual -- [""] = c.magenta, -- Block-wise visual -- s = c.magenta, -- Select -- S = c.magenta, -- Line-wise visual -- [""] = c.magenta, -- Block-wise visual -- R = c.light_pink, -- Replace -- Rv = c.light_pink, -- Virtual replace -- cv = c.dark_pink, -- Ex -- r = c.red, -- Hit-enter -- rm = c.red, -- More prompt -- ["r?"] = c.red, -- :confirm -- ["!"] = c.red, -- Shell command -- t = c.red, -- Terminal -- } -- return { fg = mode_color[vim.fn.mode()] } -- end, -- padding = { right = 1 }, -- }) -- -- left({ -- "filename", -- cond = conditions.buffer_not_empty, -- color = { fg = c.dark_pink, gui = "bold" }, -- }) -- -- left({ "location" }) -- -- left({ -- function() -- local cur = vim.fn.line(".") -- local total = vim.fn.line("$") -- return math.floor(cur / total * 100) .. "%%" -- end, -- color = { fg = c.fg, gui = "bold" }, -- }) -- -- left({ -- "diagnostics", -- sources = { "nvim_diagnostic" }, -- symbols = { error = " ", warn = " ", info = " ", hint = " " }, -- diagnostics_color = { -- error = { fg = c.error }, -- warn = { fg = c.warning }, -- info = { fg = c.info }, -- hint = { fg = c.hint }, -- }, -- }) -- -- right({ -- function() -- if vim.api.nvim_get_vvar("hlsearch") == 1 then -- local res = vim.fn.searchcount({ maxcount = 999, timeout = 500 }) -- -- if res.total > 0 then -- return string.format("%d/%d", res.current, res.total) -- end -- end -- -- return "" -- end, -- }) -- -- right({ "filetype" }) -- -- right({ -- "filesize", -- cond = conditions.buffer_not_empty, -- }) -- -- right({ -- "o:encoding", -- fmt = string.upper, -- cond = conditions.hide_in_width, -- color = { fg = c.red, gui = "bold" }, -- }) -- -- right({ -- "fileformat", -- fmt = string.upper, -- icons_enabled = false, -- color = { fg = c.red, gui = "bold" }, -- }) -- -- right({ -- "branch", -- icon = "", -- color = { fg = c.orange, gui = "bold" }, -- }) -- -- right({ -- "diff", -- symbols = { added = "+", modified = "~", removed = "-" }, -- diff_color = { -- added = { fg = c.diff.add }, -- modified = { fg = c.diff.change }, -- removed = { fg = c.diff.delete }, -- }, -- cond = conditions.hide_in_width, -- }) -- -- right({ -- function() -- return "▊" -- end, -- color = { fg = c.gray }, -- padding = { left = 1 }, -- }) -- -- lualine.setup(config) -- end,