| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 | local M = {}local components = require "lvim.core.lualine.components"local styles = {  lvim = nil,  default = nil,  none = nil,}styles.none = {  style = "none",  options = {    theme = "auto",    globalstatus = true,    icons_enabled = lvim.use_icons,    component_separators = { left = "", right = "" },    section_separators = { left = "", right = "" },    disabled_filetypes = {},  },  sections = {    lualine_a = {},    lualine_b = {},    lualine_c = {},    lualine_x = {},    lualine_y = {},    lualine_z = {},  },  inactive_sections = {    lualine_a = {},    lualine_b = {},    lualine_c = {},    lualine_x = {},    lualine_y = {},    lualine_z = {},  },  tabline = {},  extensions = {},}styles.default = {  style = "default",  options = {    theme = "auto",    globalstatus = true,    icons_enabled = lvim.use_icons,    component_separators = {      left = lvim.icons.ui.DividerRight,      right = lvim.icons.ui.DividerLeft,    },    section_separators = {      left = lvim.icons.ui.BoldDividerRight,      right = lvim.icons.ui.BoldDividerLeft,    },    disabled_filetypes = {},  },  sections = {    lualine_a = { "mode" },    lualine_b = { "branch" },    lualine_c = { "filename" },    lualine_x = { "encoding", "fileformat", "filetype" },    lualine_y = { "progress" },    lualine_z = { "location" },  },  inactive_sections = {    lualine_a = {},    lualine_b = {},    lualine_c = { "filename" },    lualine_x = { "location" },    lualine_y = {},    lualine_z = {},  },  tabline = {},  extensions = {},}styles.lvim = {  style = "lvim",  options = {    theme = "auto",    globalstatus = true,    icons_enabled = lvim.use_icons,    component_separators = { left = "", right = "" },    section_separators = { left = "", right = "" },    disabled_filetypes = { "alpha" },  },  sections = {    lualine_a = {      components.mode,    },    lualine_b = {      components.branch,    },    lualine_c = {      components.diff,      components.python_env,    },    lualine_x = {      components.diagnostics,      components.lsp,      components.spaces,      components.filetype,    },    lualine_y = { components.location },    lualine_z = {      components.progress,    },  },  inactive_sections = {    lualine_a = {      components.mode,    },    lualine_b = {      components.branch,    },    lualine_c = {      components.diff,      components.python_env,    },    lualine_x = {      components.diagnostics,      components.lsp,      components.spaces,      components.filetype,    },    lualine_y = { components.location },    lualine_z = {      components.progress,    },  },  tabline = {},  extensions = {},}function M.get_style(style)  local style_keys = vim.tbl_keys(styles)  if not vim.tbl_contains(style_keys, style) then    local Log = require "lvim.core.log"    Log:error(      "Invalid lualine style"        .. string.format('"%s"', style)        .. "options are: "        .. string.format('"%s"', table.concat(style_keys, '", "'))    )    Log:debug '"lvim" style is applied.'    style = "lvim"  end  return vim.deepcopy(styles[style])endfunction M.update()  local style = M.get_style(lvim.builtin.lualine.style)  lvim.builtin.lualine = vim.tbl_deep_extend("keep", lvim.builtin.lualine, style)  local color_template = vim.g.colors_name or lvim.colorscheme  local theme_supported, template = pcall(function()    require("lualine.utils.loader").load_theme(color_template)  end)  if theme_supported and template then    lvim.builtin.lualine.options.theme = color_template  endendreturn M
 |