Skip to content

llanosrocas/yaziline.yazi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

yaziline.yazi

Simple lualine-like status line for yazi.

Read more about features and configuration here.

preview

Requirements

  • yazi version >= 0.4.0
  • Font with symbol support. For example Nerd Fonts.

Installation

ya pack -a llanosrocas/yaziline

Or manually copy init.lua to the ~/.config/yazi/plugins/yaziline.yazi/init.lua

Usage

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
})

Features

Preconfigured separators

Choose your style:

  • angly angly
  • curvy curvy
  • liney liney
  • empty empty

Separator customization

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
})

empty

You can find more symbols here

File actions icons

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
})

empty

You can find more symbols here

Colors and font weight

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:

preview-2

Selected and Yanked Counter

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.

Truncated filename

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
})

ISO Date for 'Modified'

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.

Credits