feat!: use nerd-font icons for git status signs by default, closes #23

This commit is contained in:
sxyazi
2024-09-16 20:36:35 +08:00
parent 5e65389d13
commit 9fc8595f31
2 changed files with 31 additions and 29 deletions

View File

@@ -42,34 +42,36 @@ run = "git"
You can customize the [Style](https://yazi-rs.github.io/docs/plugins/layout#style) of the status sign with:
- `THEME.git_modified`
- `THEME.git_added`
- `THEME.git_untracked`
- `THEME.git_ignored`
- `THEME.git_deleted`
- `THEME.git_updated`
- `THEME.git.modified`
- `THEME.git.added`
- `THEME.git.untracked`
- `THEME.git.ignored`
- `THEME.git.deleted`
- `THEME.git.updated`
For example:
```lua
-- ~/.config/yazi/init.lua
THEME.git_modified = ui.Style():fg("blue")
THEME.git_deleted = ui.Style():fg("red"):bold()
THEME.git = THEME.git or {}
THEME.git.modified = ui.Style():fg("blue")
THEME.git.deleted = ui.Style():fg("red"):bold()
```
You can also customize the text of the status sign with:
- `THEME.git_modified_sign`
- `THEME.git_added_sign`
- `THEME.git_untracked_sign`
- `THEME.git_ignored_sign`
- `THEME.git_deleted_sign`
- `THEME.git_updated_sign`
- `THEME.git.modified_sign`
- `THEME.git.added_sign`
- `THEME.git.untracked_sign`
- `THEME.git.ignored_sign`
- `THEME.git.deleted_sign`
- `THEME.git.updated_sign`
For example:
```lua
-- ~/.config/yazi/init.lua
THEME.git_modified_sign = "M"
THEME.git_deleted_sign = "D"
THEME.git = THEME.git or {}
THEME.git.modified_sign = "M"
THEME.git.deleted_sign = "D"
```

View File

@@ -108,22 +108,22 @@ local function setup(st, opts)
opts.order = opts.order or 500
-- Chosen by ChatGPT fairly, PRs are welcome to adjust them
local t = THEME.git or {}
local styles = {
[6] = THEME.git_modified and ui.Style(THEME.git_modified) or ui.Style():fg("#ffa500"),
[5] = THEME.git_added and ui.Style(THEME.git_added) or ui.Style():fg("#32cd32"),
[4] = THEME.git_untracked and ui.Style(THEME.git_untracked) or ui.Style():fg("#a9a9a9"),
[3] = THEME.git_ignored and ui.Style(THEME.git_ignored) or ui.Style():fg("#696969"),
[2] = THEME.git_deleted and ui.Style(THEME.git_deleted) or ui.Style():fg("#ff4500"),
[1] = THEME.git_updated and ui.Style(THEME.git_updated) or ui.Style():fg("#1e90ff"),
[6] = t.modified and ui.Style(t.modified) or ui.Style():fg("#ffa500"),
[5] = t.added and ui.Style(t.added) or ui.Style():fg("#32cd32"),
[4] = t.untracked and ui.Style(t.untracked) or ui.Style():fg("#a9a9a9"),
[3] = t.ignored and ui.Style(t.ignored) or ui.Style():fg("#696969"),
[2] = t.deleted and ui.Style(t.deleted) or ui.Style():fg("#ff4500"),
[1] = t.updated and ui.Style(t.updated) or ui.Style():fg("#1e90ff"),
}
-- TODO: Use nerd-font icons as default matching Yazi's default behavior
local signs = {
[6] = THEME.git_modified_sign and THEME.git_modified_sign or "*",
[5] = THEME.git_added_sign and THEME.git_added_sign or "+",
[4] = THEME.git_untracked_sign and THEME.git_untracked_sign or "?",
[3] = THEME.git_ignored_sign and THEME.git_ignored_sign or "!",
[2] = THEME.git_deleted_sign and THEME.git_deleted_sign or "-",
[1] = THEME.git_updated_sign and THEME.git_updated_sign or "U",
[6] = t.modified_sign and t.modified_sign or "",
[5] = t.added_sign and t.added_sign or "",
[4] = t.untracked_sign and t.untracked_sign or "",
[3] = t.ignored_sign and t.ignored_sign or "",
[2] = t.deleted_sign and t.deleted_sign or "",
[1] = t.updated_sign and t.updated_sign or "U",
}
Linemode:children_add(function(self)