155 lines
4.7 KiB
Markdown
155 lines
4.7 KiB
Markdown
# yaziline.yazi
|
|
|
|
Simple lualine-like status line for yazi.
|
|
|
|
Read more about features and configuration [here](#features).
|
|
|
|
> ⚠️ **Note**:
|
|
> If you experience any issues after updating, please refer to the latest release notes. This repository is continuously synced with the upstream Yazi source code, which is actively maintained and frequently updated.
|
|
|
|

|
|
|
|
## Requirements
|
|
|
|
- yazi version >= [25.4.8](https://github.com/sxyazi/yazi/releases/tag/v25.4.8)
|
|
- Font with symbol support. For example [Nerd Fonts](https://www.nerdfonts.com/).
|
|
|
|
## Installation
|
|
|
|
```sh
|
|
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`:
|
|
|
|
```lua
|
|
require("yaziline"):setup()
|
|
```
|
|
|
|
Optionally, configure line:
|
|
|
|
```lua
|
|
require("yaziline"):setup({
|
|
color = "#98c379", -- main theme color
|
|
default_files_color = "darkgray", -- color of the file counter when it's inactive
|
|
selected_files_color = "white",
|
|
yanked_files_color = "green",
|
|
cut_files_color = "red",
|
|
|
|
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`
|
|

|
|
- `curvy`
|
|

|
|
- `liney`
|
|

|
|
- `empty`
|
|

|
|
|
|
### Separator customization
|
|
|
|
You can provide your own symbols for separators combined with preconfigured separators. For example:
|
|
|
|
```lua
|
|
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](https://www.nerdfonts.com/cheat-sheet)_
|
|
|
|
### File actions icons
|
|
|
|
You can provide your own symbols for `select` and `yank`. For example:
|
|
|
|
```lua
|
|
require("yaziline"):setup({
|
|
-- Optinal config
|
|
select_symbol = "", -- "S" by default
|
|
yank_symbol = "" -- "Y" by default
|
|
})
|
|
```
|
|
|
|

|
|
|
|
_You can find more symbols [here](https://www.nerdfonts.com/cheat-sheet)_
|
|
|
|
### Colors and font weight
|
|
|
|
By default yaziline uses color values from your `theme.toml` (or flavor) but you can set custom colors in the `init.lua`:
|
|
|
|
```lua
|
|
require("yaziline"):setup({
|
|
color = "#98c379",
|
|
default_files_color = "darkgray",
|
|
selected_files_color = "white",
|
|
yanked_files_color = "green",
|
|
cut_files_color = "red",
|
|
})
|
|
```
|
|
|
|
For example, here is how my line looks like:
|
|
|
|

|
|
|
|
### 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`.
|
|
|
|
```lua
|
|
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](https://en.wikipedia.org/wiki/ISO_8601)-like string for universal date representation. Adjust in the `Status:date` function.
|
|
|
|
## Credits
|
|
|
|
- [yazi source code](https://github.com/sxyazi/yazi)
|
|
- [yatline.yazi](https://github.com/imsi32/yatline.yazi/tree/main)
|
|
- [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
|