diff --git a/neovim/lua/statusline.lua b/neovim/lua/statusline/init.lua similarity index 60% rename from neovim/lua/statusline.lua rename to neovim/lua/statusline/init.lua index f6f16b0..ff6f38e 100644 --- a/neovim/lua/statusline.lua +++ b/neovim/lua/statusline/init.lua @@ -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, diff --git a/neovim/lua/statusline/themes/tokyonight.lua b/neovim/lua/statusline/themes/tokyonight.lua new file mode 100644 index 0000000..3870f49 --- /dev/null +++ b/neovim/lua/statusline/themes/tokyonight.lua @@ -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