25 lines
670 B
Lua
25 lines
670 B
Lua
local M = require("lualine.component"):extend()
|
|
|
|
function M:init(opts)
|
|
opts.colored = opts.colored ~= false -- colored by default
|
|
M.super.init(self, opts)
|
|
self.saved_hl = self.options.color_highlight
|
|
end
|
|
|
|
function M:draw(default_highlight, is_focused)
|
|
self.options.color_highlight = self.options.colored and self.saved_hl or nil
|
|
return M.super.draw(self, default_highlight, is_focused)
|
|
end
|
|
|
|
M.colored_if_focused = function(component)
|
|
local C = require("lualine.components." .. component):extend()
|
|
|
|
function C:update_status(is_focused)
|
|
self.options.colored = is_focused
|
|
return C.super.update_status(self, is_focused)
|
|
end
|
|
|
|
return C
|
|
end
|
|
|
|
return M
|