Skip to content

githead.yazi with yatline.yazi support

License

Notifications You must be signed in to change notification settings

imsi32/yatline-githead.yazi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

yatline-githead.yazi

Manual clone of githead.yazi for supporting yatline.yazi

Important

This repository will not add new features other than coming from orginal repository.
The latest commit in there is bf150f3ee982e565940c63dc98603d275120ca96.

All supported features are listed here

Requirements

  • yazi version >= 0.3.0
  • Font with symbol support. For example Nerd Fonts.
  • yatline.yazi (Optional)

Installation

ya pack -a imsi32/yatline-githead

Usage

Add this to your ~/.config/yazi/init.lua:

Important

If you are using yatline.yazi, put this after its initialization.

require("yatline-githead"):setup()

Read more about indicators here.

Optionally, configuration:

require("githead"):setup({
  show_branch = true,
  branch_prefix = "on",
  prefix_color = "white",
  branch_color = "blue",
  branch_symbol = "",
  branch_borders = "()",

  commit_color = "bright magenta",
  commit_symbol = "@",

  show_behind_ahead = true,
  behind_color = "bright magenta",
  behind_symbol = "",
  ahead_color = "bright magenta",
  ahead_symbol = "",

  show_stashes = true,
  stashes_color = "bright magenta",
  stashes_symbol = "$",

  show_state = true,
  show_state_prefix = true,
  state_color = "red",
  state_symbol = "~",

  show_staged = true,
  staged_color = "bright yellow",
  staged_symbol = "+",

  show_unstaged = true,
  unstaged_color = "bright yellow",
  unstaged_symbol = "!",

  show_untracked = true,
  untracked_color = "blue",
  untracked_symbol = "?",
})

You can also use a theme:

local your_theme = {
  prefix_color = "white",
  branch_color = "blue",
  commit_color = "bright magenta",
  stashes_color = "bright magenta",
  state_color = "red",
  staged_color = "bright yellow",
  unstaged_color = "bright yellow",
  untracked_color = "blue",
}

require("githead"):setup({
-- ===
    
  theme = your_theme,

-- ===
})

If you are using yatline.yazi, you can use this component:

-- ===

  {type = "coloreds", custom = false, name = "githead"},

-- ===

Features

  • Current branch (or current commit if branch is not presented)
  • Behind/Ahead of the remote
  • Stashes
  • States
    • merge
    • cherry
    • rebase (+ done counter)
  • Staged
  • Unstaged
  • Untracked

Under the hood

The goal is to use minimum amount of shell commands.

git status --ignore-submodules=dirty --branch --show-stash

This command provides information about branches, stashes, staged files, unstaged files, untracked files, and other statistics.

Credits

About

githead.yazi with yatline.yazi support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages