mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-21 23:01:05 +00:00
feat!: allow different separators to be applied individually to the left and right sides of the status bar (#2313)
This commit is contained in:
parent
ce9092e73e
commit
a4dde6a848
4 changed files with 36 additions and 30 deletions
|
|
@ -76,14 +76,9 @@ unset_alt = { fg = "red", bg = "gray" }
|
|||
# : Status bar {{{
|
||||
|
||||
[status]
|
||||
overall = {}
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { bold = true }
|
||||
progress_normal = { fg = "blue", bg = "black" }
|
||||
progress_error = { fg = "red", bg = "black" }
|
||||
overall = {}
|
||||
sep_left = { open = "", close = "" }
|
||||
sep_right = { open = "", close = "" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "darkgray" }
|
||||
|
|
@ -92,6 +87,11 @@ perm_read = { fg = "yellow" }
|
|||
perm_write = { fg = "red" }
|
||||
perm_exec = { fg = "cyan" }
|
||||
|
||||
# Progress
|
||||
progress_label = { bold = true }
|
||||
progress_normal = { fg = "blue", bg = "black" }
|
||||
progress_error = { fg = "red", bg = "black" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -76,14 +76,9 @@ unset_alt = { fg = "red", bg = "gray" }
|
|||
# : Status bar {{{
|
||||
|
||||
[status]
|
||||
overall = {}
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress
|
||||
progress_label = { bold = true }
|
||||
progress_normal = { fg = "blue", bg = "black" }
|
||||
progress_error = { fg = "red", bg = "black" }
|
||||
overall = {}
|
||||
sep_left = { open = "", close = "" }
|
||||
sep_right = { open = "", close = "" }
|
||||
|
||||
# Permissions
|
||||
perm_sep = { fg = "darkgray" }
|
||||
|
|
@ -92,6 +87,11 @@ perm_read = { fg = "yellow" }
|
|||
perm_write = { fg = "red" }
|
||||
perm_exec = { fg = "cyan" }
|
||||
|
||||
# Progress
|
||||
progress_label = { bold = true }
|
||||
progress_normal = { fg = "blue", bg = "black" }
|
||||
progress_error = { fg = "red", bg = "black" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -93,14 +93,9 @@ struct Mode {
|
|||
|
||||
#[derive(Deserialize, Serialize)]
|
||||
struct Status {
|
||||
pub overall: Style,
|
||||
pub separator_open: String,
|
||||
pub separator_close: String,
|
||||
|
||||
// Progress
|
||||
pub progress_label: Style,
|
||||
pub progress_normal: Style,
|
||||
pub progress_error: Style,
|
||||
pub overall: Style,
|
||||
pub sep_left: StatusSep,
|
||||
pub sep_right: StatusSep,
|
||||
|
||||
// Permissions
|
||||
pub perm_sep: Style,
|
||||
|
|
@ -108,6 +103,17 @@ struct Status {
|
|||
pub perm_read: Style,
|
||||
pub perm_write: Style,
|
||||
pub perm_exec: Style,
|
||||
|
||||
// Progress
|
||||
pub progress_label: Style,
|
||||
pub progress_normal: Style,
|
||||
pub progress_error: Style,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize)]
|
||||
struct StatusSep {
|
||||
pub open: String,
|
||||
pub close: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize, Validate)]
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ function Status:mode()
|
|||
|
||||
local style = self:style()
|
||||
return ui.Line {
|
||||
ui.Span(THEME.status.separator_open):fg(style.main.bg):bg("reset"),
|
||||
ui.Span(THEME.status.sep_left.open):fg(style.main.bg):bg("reset"),
|
||||
ui.Span(" " .. mode .. " "):style(style.main),
|
||||
ui.Span(THEME.status.separator_close):fg(style.main.bg):bg(style.alt.bg),
|
||||
ui.Span(THEME.status.sep_left.close):fg(style.main.bg):bg(style.alt.bg),
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ function Status:size()
|
|||
local style = self:style()
|
||||
return ui.Line {
|
||||
ui.Span(" " .. ya.readable_size(h:size() or h.cha.len) .. " "):style(style.alt),
|
||||
ui.Span(THEME.status.separator_close):fg(style.alt.bg),
|
||||
ui.Span(THEME.status.sep_left.close):fg(style.alt.bg),
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ function Status:percent()
|
|||
|
||||
local style = self:style()
|
||||
return ui.Line {
|
||||
ui.Span(" " .. THEME.status.separator_open):fg(style.alt.bg),
|
||||
ui.Span(" " .. THEME.status.sep_right.open):fg(style.alt.bg),
|
||||
ui.Span(percent):style(style.alt),
|
||||
}
|
||||
end
|
||||
|
|
@ -126,9 +126,9 @@ function Status:position()
|
|||
|
||||
local style = self:style()
|
||||
return ui.Line {
|
||||
ui.Span(THEME.status.separator_open):fg(style.main.bg):bg(style.alt.bg),
|
||||
ui.Span(THEME.status.sep_right.open):fg(style.main.bg):bg(style.alt.bg),
|
||||
ui.Span(string.format(" %2d/%-2d ", math.min(cursor + 1, length), length)):style(style.main),
|
||||
ui.Span(THEME.status.separator_close):fg(style.main.bg):bg("reset"),
|
||||
ui.Span(THEME.status.sep_right.close):fg(style.main.bg):bg("reset"),
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue