Skip to content

Commit

Permalink
yazi: migrate highlight colors to mnemonics
Browse files Browse the repository at this point in the history
This greatly improves readability and simplifies the process of reusing upstream
templates [1] in stylix modules.

Migration done with a simple bash script:

```bash
colors_base=("base08" "base09" "base0A" "base0B" "base0C" "base0D" "base0E" "base0F")
colors_name=("red" "orange" "yellow" "green" "cyan" "blue" "magenta" "brown")

for i in "${!colors_base[@]}"; do
  sed -i "s/${colors_base[i]}/${colors_name[i]}/g" modules/yazi/hm.nix
done
```

[1] https://github.com/yazi-rs/flavors/blob/main/scripts/catppuccin/template.toml
  • Loading branch information
xokdvium committed Jan 1, 2025
1 parent 940ab6f commit fd5e9e7
Showing 1 changed file with 41 additions and 41 deletions.
82 changes: 41 additions & 41 deletions modules/yazi/hm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,70 +23,70 @@
extension = ".tmTheme";
};

cwd = mkFg base0C;
cwd = mkFg cyan;
hovered = (mkBoth base05 base03) // {bold = true;};
preview_hovered = hovered;
find_keyword = (mkFg base0B) // {bold = true;};
find_keyword = (mkFg green) // {bold = true;};
find_position = mkFg base05;
marker_selected = mkSame base0A;
marker_copied = mkSame base0B;
marker_cut = mkSame base08;
tab_active = mkBoth base00 base0D;
marker_selected = mkSame yellow;
marker_copied = mkSame green;
marker_cut = mkSame red;
tab_active = mkBoth base00 blue;
tab_inactive = mkBoth base05 base01;
border_style = mkFg base04;
};

status = {
separator_style = mkSame base01;
mode_normal = (mkBoth base00 base0D) // {bold = true;};
mode_select = (mkBoth base00 base0B) // {bold = true;};
mode_unset = (mkBoth base00 base0F) // {bold = true;};
mode_normal = (mkBoth base00 blue) // {bold = true;};
mode_select = (mkBoth base00 green) // {bold = true;};
mode_unset = (mkBoth base00 brown) // {bold = true;};
progress_label = mkBoth base05 base00;
progress_normal = mkBoth base05 base00;
progress_error = mkBoth base08 base00;
permissions_t = mkFg base0D;
permissions_r = mkFg base0A;
permissions_w = mkFg base08;
permissions_x = mkFg base0B;
permissions_s = mkFg base0C;
progress_error = mkBoth red base00;
permissions_t = mkFg blue;
permissions_r = mkFg yellow;
permissions_w = mkFg red;
permissions_x = mkFg green;
permissions_s = mkFg cyan;
};

select = {
border = mkFg base0D;
active = mkFg base0E;
border = mkFg blue;
active = mkFg magenta;
inactive = mkFg base05;
};

input = {
border = mkFg base0D;
border = mkFg blue;
title = mkFg base05;
value = mkFg base05;
selected = mkBg base03;
};

completion = {
border = mkFg base0D;
active = mkBoth base0E base03;
border = mkFg blue;
active = mkBoth magenta base03;
inactive = mkFg base05;
};

tasks = {
border = mkFg base0D;
border = mkFg blue;
title = mkFg base05;
hovered = mkBoth base05 base03;
};

which = {
mask = mkBg base02;
cand = mkFg base0C;
rest = mkFg base0F;
cand = mkFg cyan;
rest = mkFg brown;
desc = mkFg base05;
separator_style = mkFg base04;
};

help = {
on = mkFg base0E;
run = mkFg base0C;
on = mkFg magenta;
run = mkFg cyan;
desc = mkFg base05;
hovered = mkBoth base05 base03;
footer = mkFg base05;
Expand All @@ -96,25 +96,25 @@
filetype.rules = let
mkRule = mime: fg: {inherit mime fg;};
in [
(mkRule "image/*" base0C)
(mkRule "video/*" base0A)
(mkRule "audio/*" base0A)
(mkRule "image/*" cyan)
(mkRule "video/*" yellow)
(mkRule "audio/*" yellow)

(mkRule "application/zip" base0E)
(mkRule "application/gzip" base0E)
(mkRule "application/x-tar" base0E)
(mkRule "application/x-bzip" base0E)
(mkRule "application/x-bzip2" base0E)
(mkRule "application/x-7z-compressed" base0E)
(mkRule "application/x-rar" base0E)
(mkRule "application/xz" base0E)
(mkRule "application/zip" magenta)
(mkRule "application/gzip" magenta)
(mkRule "application/x-tar" magenta)
(mkRule "application/x-bzip" magenta)
(mkRule "application/x-bzip2" magenta)
(mkRule "application/x-7z-compressed" magenta)
(mkRule "application/x-rar" magenta)
(mkRule "application/xz" magenta)

(mkRule "application/doc" base0B)
(mkRule "application/pdf" base0B)
(mkRule "application/rtf" base0B)
(mkRule "application/vnd.*" base0B)
(mkRule "application/doc" green)
(mkRule "application/pdf" green)
(mkRule "application/rtf" green)
(mkRule "application/vnd.*" green)

((mkRule "inode/directory" base0D) // {bold = true;})
((mkRule "inode/directory" blue) // {bold = true;})
(mkRule "*" base05)
];
};
Expand Down

0 comments on commit fd5e9e7

Please sign in to comment.