Simple lualine-like status line for yazi.
Read more about features and configuration here.
- yazi version >= 0.4.0
- Font with symbol support. For example Nerd Fonts.
ya pack -a llanosrocas/yaziline
Or manually copy init.lua
to the ~/.config/yazi/plugins/yaziline.yazi/init.lua
Add this to your ~/.config/yazi/init.lua
:
require("yaziline"):setup()
Optionally, configure line:
require("yaziline"):setup({
color = "#98c379", -- main theme color
separator_style = "angly", -- "angly" | "curvy" | "liney" | "empty"
separator_open = "",
separator_close = "",
separator_open_thin = "",
separator_close_thin = "",
separator_head = "",
separator_tail = "",
select_symbol = "",
yank_symbol = "",
filename_max_length = 24, -- truncate when filename > 24
filename_truncate_length = 6, -- leave 6 chars on both sides
filename_truncate_separator = "..." -- the separator of the truncated filename
})
Choose your style:
You can provide your own symbols for separators combined with preconfigured separators. For example:
require("yaziline"):setup({
-- Optinal config
separator_style = "angly", -- preconfigured style
separator_open = "", -- instead of
separator_close = "", -- instead of
separator_open_thin = "", -- change to anything
separator_close_thin = "", -- change to anything
separator_head = "", -- to match the style
separator_tail = "" -- to match the style
})
You can find more symbols here
You can provide your own symbols for select
and yank
. For example:
require("yaziline"):setup({
-- Optinal config
select_symbol = "", -- "S" by default
yank_symbol = "" -- "Y" by default
})
You can find more symbols here
You can change font weight in your yazi/flavors/flavor.toml
:
mode_normal = { bold = false }
And set custom color in the init.lua
:
require("yaziline"):setup({
color = "#98c379"
})
For example, here is how my line looks like:
Displays the number of selected ('S') and yanked ('Y') files on the left. If files are cut, the yank counter changes color, since its yank --cut
under the hood.
Displays the truncated filename on the left, which is useful for smaller windows or long filenames. By default, it's 24 characters with trimming to 12 (6 + 6). Adjust in the setup
.
require("yaziline"):setup({
filename_max_length = 24, -- truncate when filename > 24
filename_truncate_length = 6, -- leave 6 chars on both sides
filename_truncate_separator = "..." -- the separator of the truncated filename
})
On the right, you'll find the date and time the file was modified, formatted in an ISO-like string for universal date representation. Adjust in the Status:date
function.