refactor(statusline): separate statusline theme

Refactor the statusline module and move the theme to a
separate module.

Update the styling in the mode section.
This commit is contained in:
Dan Anglin 2022-03-26 19:37:50 +00:00
parent 4dc2c9858b
commit 41eba58105
Signed by: dananglin
GPG key ID: 0C1D44CFBEE68638
2 changed files with 33 additions and 28 deletions

View file

@ -40,32 +40,14 @@ local function setHighlight(str)
return string.format("%%#%s#", str)
end
local theme = require("statusline.themes.tokyonight")
local ns = vim.api.nvim_create_namespace("statusline")
function M.output()
local palette = {
cyan = "#7dcfff",
blue = "#7aa2f7",
magenta = "#bb9af7",
black = "#414868",
bg = "#15161e",
none = "NONE",
}
local statuslineMode = "StatuslineMode"
local statuslineTransparent = "StatuslineTransparent"
local statuslineBlueText = "StatuslineBlueText"
local statuslineMagentaText = "StatuslineMagentaText"
local theme = {
[statuslineMode] = {fg = palette["black"], bg = palette["cyan"], bold = true},
[statuslineTransparent] = {bg = palette["none"]},
[statuslineBlueText] = {bg = palette["bg"], fg = palette["blue"], bold = true},
[statuslineMagentaText] = {bg = palette["bg"], fg = palette["magenta"], bold = true},
}
local ns = vim.api.nvim_create_namespace("statusline")
vim.api.nvim__set_hl_ns(ns)
for name, settings in pairs(theme) do
for name, settings in pairs(theme.theme) do
vim.api.nvim_set_hl(ns, name, settings)
end
@ -81,21 +63,21 @@ function M.output()
local percentage = "[%3p%%] "
return table.concat{
setHighlight(statuslineMode),
setHighlight(theme.statuslineMode),
mode,
setHighlight(statuslineBlueText),
separator,
setHighlight(theme.statuslineBlueText),
open_file,
buf_nr,
separator,
setHighlight(statuslineTransparent),
setHighlight(theme.statuslineTransparent),
right_align,
setHighlight(statuslineBlueText),
setHighlight(theme.statuslineBlueText),
separator,
file_format,
file_type,
encoding,
setHighlight(statuslineMagentaText),
setHighlight(theme.statuslineMagentaText),
separator,
line_no,
percentage,

View file

@ -0,0 +1,23 @@
local M = {}
local palette = {
cyan = "#7dcfff",
blue = "#7aa2f7",
magenta = "#bb9af7",
black = "#15161e",
none = "NONE",
}
M.statuslineMode = "StatuslineMode"
M.statuslineTransparent = "StatuslineTransparent"
M.statuslineBlueText = "StatuslineBlueText"
M.statuslineMagentaText = "StatuslineMagentaText"
M.theme = {
[M.statuslineMode] = {fg = palette["black"], bg = palette["magenta"], bold = true},
[M.statuslineTransparent] = {bg = palette["none"]},
[M.statuslineBlueText] = {bg = palette["black"], fg = palette["blue"], bold = true},
[M.statuslineMagentaText] = {bg = palette["black"], fg = palette["magenta"], bold = true},
}
return M