123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- 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])
- end
- function M.update()
- local style = M.get_style(lvim.builtin.lualine.style)
- lvim.builtin.lualine = vim.tbl_deep_extend("keep", lvim.builtin.lualine, style)
- end
- return M
|