Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

git.yazi

Show the status of Git file changes as linemode in the file list.

screenshot-001986.mp4

Installation

ya pkg add yazi-rs/plugins:git

Setup

Add the following to your ~/.config/yazi/init.lua:

require("git"):setup {
	-- Order of status signs showing in the linemode
	order = 1500,
}

And register it as fetchers in your ~/.config/yazi/yazi.toml:

[[plugin.prepend_fetchers]]
id  = "git"
url = "*"
run = "git"

[[plugin.prepend_fetchers]]
id  = "git"
url = "*/"
run = "git"

Advanced

Note

The following configuration must be put before require("git"):setup()

You can customize the Style of the status sign with:

  • th.git.unknown - status cannot/not yet determined
  • th.git.modified - modified file
  • th.git.added - added file
  • th.git.untracked - untracked file
  • th.git.ignored - ignored file
  • th.git.deleted - deleted file
  • th.git.updated - updated file
  • th.git.clean - clean file

For example:

-- ~/.config/yazi/init.lua
th.git = th.git or {}
th.git.modified = ui.Style():fg("blue")
th.git.deleted = ui.Style():fg("red"):bold()

You can also customize the text of the status sign with:

  • th.git.unknown_sign - status cannot/not yet determined
  • th.git.modified_sign - modified file
  • th.git.added_sign - added file
  • th.git.untracked_sign - untracked file
  • th.git.ignored_sign - ignored file
  • th.git.deleted_sign - deleted file
  • th.git.updated_sign - updated file
  • th.git.clean_sign - clean file

For example:

-- ~/.config/yazi/init.lua
th.git = th.git or {}
th.git.unknown_sign = " "
th.git.modified_sign = "M"
th.git.deleted_sign = "D"
th.git.clean_sign = ""

License

This plugin is MIT-licensed. For more information check the LICENSE file.