status.zones¶
status.zones(
spec,
) -> {kind: "flat"} | {
kind: "zones",
left: {
[integer]: {
text: string,
fg: number | string?,
bg: number | string?,
bold: boolean?,
italic: boolean?,
underline: boolean?,
dim: boolean?,
reverse: boolean?,
strikethrough: boolean?,
},
}?,
center: {
[integer]: {
text: string,
fg: number | string?,
bg: number | string?,
bold: boolean?,
italic: boolean?,
underline: boolean?,
dim: boolean?,
reverse: boolean?,
strikethrough: boolean?,
},
}?,
right: {
[integer]: {
text: string,
fg: number | string?,
bg: number | string?,
bold: boolean?,
italic: boolean?,
underline: boolean?,
dim: boolean?,
reverse: boolean?,
strikethrough: boolean?,
},
}?,
}
Build a zoned status line with independently aligned left, center, and right groups.
Accepts { left = {<span>...}, center = {<span>...}, right =
{<span>...} }. Each group is a list of spans from status.span (fills
do not stretch in zones). Returns a line.
local status = require('status')
return { status.zones {
left = { status.span { text = 'wallah' } },
right = { status.span { text = 'main' } },
} }
Parameters
spec:{left: {[integer]: {text: string, fg: number | string?, bg: number | string?, bold: boolean?, italic: boolean?, underline: boolean?, dim: boolean?, reverse: boolean?, strikethrough: boolean?}}?, center: {[integer]: {text: string, fg: number | string?, bg: number | string?, bold: boolean?, italic: boolean?, underline: boolean?, dim: boolean?, reverse: boolean?, strikethrough: boolean?}}?, right: {[integer]: {text: string, fg: number | string?, bg: number | string?, bold: boolean?, italic: boolean?, underline: boolean?, dim: boolean?, reverse: boolean?, strikethrough: boolean?}}?}left— Spans anchored to the left edge.center— Spans anchored at the middle of the full width, cropped to the gap.right— Spans anchored to the right edge.
Returns
{kind: "flat"} | {kind: "zones", left: {[integer]: {text: string, fg: number | string?, bg: number | string?, bold: boolean?, italic: boolean?, underline: boolean?, dim: boolean?, reverse: boolean?, strikethrough: boolean?}}?, center: {[integer]: {text: string, fg: number | string?, bg: number | string?, bold: boolean?, italic: boolean?, underline: boolean?, dim: boolean?, reverse: boolean?, strikethrough: boolean?}}?, right: {[integer]: {text: string, fg: number | string?, bg: number | string?, bold: boolean?, italic: boolean?, underline: boolean?, dim: boolean?, reverse: boolean?, strikethrough: boolean?}}?}kindleft— Spans anchored to the left edge.center— Spans anchored at the middle of the full width, cropped to the gap.right— Spans anchored to the right edge.