Restore yazi configuration

This commit is contained in:
Fabio Scotto di Santolo
2025-07-27 17:53:04 +02:00
parent e97e6082b2
commit 162ae98fed
19 changed files with 4041 additions and 0 deletions

View File

View File

@@ -0,0 +1,766 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
[mgr]
keymap = [
{ on = [
"<Esc>",
], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
{ on = [
"<C-[>",
], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
{ on = [
"q",
], run = "quit", desc = "Exit the process" },
{ on = [
"Q",
], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" },
{ on = [
"<C-q>",
], run = "close", desc = "Close the current tab, or quit if it is last tab" },
{ on = [
"<C-z>",
], run = "suspend", desc = "Suspend the process" },
# Navigation
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"K",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"J",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<S-Up>",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"<S-Down>",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<C-u>",
], run = "arrow -50%", desc = "Move cursor up half page" },
{ on = [
"<C-d>",
], run = "arrow 50%", desc = "Move cursor down half page" },
{ on = [
"<C-b>",
], run = "arrow -100%", desc = "Move cursor up one page" },
{ on = [
"<C-f>",
], run = "arrow 100%", desc = "Move cursor down one page" },
{ on = [
"<C-PageUp>",
], run = "arrow -50%", desc = "Move cursor up half page" },
{ on = [
"<C-PageDown>",
], run = "arrow 50%", desc = "Move cursor down half page" },
{ on = [
"<PageUp>",
], run = "arrow -100%", desc = "Move cursor up one page" },
{ on = [
"<PageDown>",
], run = "arrow 100%", desc = "Move cursor down one page" },
{ on = [
"h",
], run = "leave", desc = "Go back to the parent directory" },
{ on = [
"l",
], run = "enter", desc = "Enter the child directory" },
{ on = [
"H",
], run = "back", desc = "Go back to the previous directory" },
{ on = [
"L",
], run = "forward", desc = "Go forward to the next directory" },
{ on = [
"<A-k>",
], run = "seek -5", desc = "Seek up 5 units in the preview" },
{ on = [
"<A-j>",
], run = "seek 5", desc = "Seek down 5 units in the preview" },
{ on = [
"<A-PageUp>",
], run = "seek -5", desc = "Seek up 5 units in the preview" },
{ on = [
"<A-PageDown>",
], run = "seek 5", desc = "Seek down 5 units in the preview" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Left>",
], run = "leave", desc = "Go back to the parent directory" },
{ on = [
"<Right>",
], run = "enter", desc = "Enter the child directory" },
{ on = [
"g",
"g",
], run = "arrow -99999999", desc = "Move cursor to the top" },
{ on = [
"G",
], run = "arrow 99999999", desc = "Move cursor to the bottom" },
# Selection
{ on = [
"<Space>",
], run = [
"select --state=none",
"arrow 1",
], desc = "Toggle the current selection state" },
{ on = [
"v",
], run = "visual_mode", desc = "Enter visual mode (selection mode)" },
{ on = [
"V",
], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
{ on = [
"<C-a>",
], run = "select_all --state=true", desc = "Select all files" },
{ on = [
"<C-r>",
], run = "select_all --state=none", desc = "Inverse selection of all files" },
# Operation
{ on = [
"o",
], run = "open", desc = "Open the selected files" },
{ on = [
"O",
], run = "open --interactive", desc = "Open the selected files interactively" },
{ on = [
"<Enter>",
], run = "open", desc = "Open the selected files" },
{ on = [
"<C-Enter>",
], run = "open --interactive", desc = "Open the selected files interactively" },
{ on = [
"y",
], run = "yank", desc = "Copy the selected files" },
{ on = [
"Y",
], run = "unyank", desc = "Cancel the yank status of files" },
{ on = [
"x",
], run = "yank --cut", desc = "Cut the selected files" },
{ on = [
"X",
], run = "unyank", desc = "Cancel the yank status of files" },
{ on = [
"p",
], run = "paste", desc = "Paste the files" },
{ on = [
"P",
], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" },
{ on = [
"-",
], run = "link", desc = "Symlink the absolute path of files" },
{ on = [
"_",
], run = "link --relative", desc = "Symlink the relative path of files" },
{ on = [
"d",
], run = "remove", desc = "Move the files to the trash" },
{ on = [
"D",
], run = "remove --permanently", desc = "Permanently delete the files" },
{ on = [
"a",
], run = "create", desc = "Create a file or directory (ends with / for directories)" },
{ on = [
"r",
], run = "rename --cursor=before_ext", desc = "Rename a file or directory" },
{ on = [
";",
], run = "shell", desc = "Run a shell command" },
{ on = [
":",
], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" },
{ on = [
".",
], run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
{ on = [
"s",
], run = "search fd", desc = "Search files by name using fd" },
{ on = [
"S",
], run = "search rg", desc = "Search files by content using ripgrep" },
{ on = [
"<C-s>",
], run = "search none", desc = "Cancel the ongoing search" },
{ on = [
"z",
], run = "plugin zoxide", desc = "Jump to a directory using zoxide" },
{ on = [
"Z",
], run = "plugin fzf", desc = "Jump to a directory, or reveal a file using fzf" },
# Linemode
{ on = [
"m",
"s",
], run = "linemode size", desc = "Set linemode to size" },
{ on = [
"m",
"p",
], run = "linemode permissions", desc = "Set linemode to permissions" },
{ on = [
"m",
"m",
], run = "linemode mtime", desc = "Set linemode to mtime" },
{ on = [
"m",
"n",
], run = "linemode none", desc = "Set linemode to none" },
# Copy
{ on = [
"c",
"c",
], run = "copy path", desc = "Copy the absolute path" },
{ on = [
"c",
"d",
], run = "copy dirname", desc = "Copy the path of the parent directory" },
{ on = [
"c",
"f",
], run = "copy filename", desc = "Copy the name of the file" },
{ on = [
"c",
"n",
], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" },
# Filter
{ on = [
"f",
], run = "filter --smart", desc = "Filter the files" },
# Find
{ on = [
"/",
], run = "find --smart", desc = "Find next file" },
{ on = [
"?",
], run = "find --previous --smart", desc = "Find previous file" },
{ on = [
"n",
], run = "find_arrow", desc = "Go to next found file" },
{ on = [
"N",
], run = "find_arrow --previous", desc = "Go to previous found file" },
# Sorting
{ on = [
",",
"m",
], run = "sort modified --dir-first", desc = "Sort by modified time" },
{ on = [
",",
"M",
], run = "sort modified --reverse --dir-first", desc = "Sort by modified time (reverse)" },
{ on = [
",",
"c",
], run = "sort created --dir-first", desc = "Sort by created time" },
{ on = [
",",
"C",
], run = "sort created --reverse --dir-first", desc = "Sort by created time (reverse)" },
{ on = [
",",
"e",
], run = "sort extension --dir-first", desc = "Sort by extension" },
{ on = [
",",
"E",
], run = "sort extension --reverse --dir-first", desc = "Sort by extension (reverse)" },
{ on = [
",",
"a",
], run = "sort alphabetical --dir-first", desc = "Sort alphabetically" },
{ on = [
",",
"A",
], run = "sort alphabetical --reverse --dir-first", desc = "Sort alphabetically (reverse)" },
{ on = [
",",
"n",
], run = "sort natural --dir-first", desc = "Sort naturally" },
{ on = [
",",
"N",
], run = "sort natural --reverse --dir-first", desc = "Sort naturally (reverse)" },
{ on = [
",",
"s",
], run = "sort size --dir-first", desc = "Sort by size" },
{ on = [
",",
"S",
], run = "sort size --reverse --dir-first", desc = "Sort by size (reverse)" },
# Tabs
{ on = [
"t",
], run = "tab_create --current", desc = "Create a new tab using the current path" },
{ on = [
"1",
], run = "tab_switch 0", desc = "Switch to the first tab" },
{ on = [
"2",
], run = "tab_switch 1", desc = "Switch to the second tab" },
{ on = [
"3",
], run = "tab_switch 2", desc = "Switch to the third tab" },
{ on = [
"4",
], run = "tab_switch 3", desc = "Switch to the fourth tab" },
{ on = [
"5",
], run = "tab_switch 4", desc = "Switch to the fifth tab" },
{ on = [
"6",
], run = "tab_switch 5", desc = "Switch to the sixth tab" },
{ on = [
"7",
], run = "tab_switch 6", desc = "Switch to the seventh tab" },
{ on = [
"8",
], run = "tab_switch 7", desc = "Switch to the eighth tab" },
{ on = [
"9",
], run = "tab_switch 8", desc = "Switch to the ninth tab" },
{ on = [
"[",
], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" },
{ on = [
"]",
], run = "tab_switch 1 --relative", desc = "Switch to the next tab" },
{ on = [
"{",
], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" },
{ on = [
"}",
], run = "tab_swap 1", desc = "Swap the current tab with the next tab" },
# Tasks
{ on = [
"w",
], run = "tasks_show", desc = "Show the tasks manager" },
# Goto
{ on = [
"g",
"h",
], run = "cd ~", desc = "Go to the home directory" },
{ on = [
"g",
"c",
], run = "cd ~/.config", desc = "Go to the config directory" },
{ on = [
"g",
"d",
], run = "cd ~/Downloads", desc = "Go to the downloads directory" },
{ on = [
"g",
"t",
], run = "cd /tmp", desc = "Go to the temporary directory" },
{ on = [
"g",
"<Space>",
], run = "cd --interactive", desc = "Go to a directory interactively" },
# Help
{ on = [
"~",
], run = "help", desc = "Open help" },
]
prepend_keymap = []
[tasks]
keymap = [
{ on = [
"<Esc>",
], run = "close", desc = "Hide the task manager" },
{ on = [
"<C-[>",
], run = "close", desc = "Hide the task manager" },
{ on = [
"<C-q>",
], run = "close", desc = "Hide the task manager" },
{ on = [
"w",
], run = "close", desc = "Hide the task manager" },
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Enter>",
], run = "inspect", desc = "Inspect the task" },
{ on = [
"x",
], run = "cancel", desc = "Cancel the task" },
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[select]
keymap = [
{ on = [
"<Esc>",
], run = "close", desc = "Cancel selection" },
{ on = [
"<C-[>",
], run = "close", desc = "Cancel selection" },
{ on = [
"<C-q>",
], run = "close", desc = "Cancel selection" },
{ on = [
"<Enter>",
], run = "close --submit", desc = "Submit the selection" },
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"K",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"J",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<S-Up>",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"<S-Down>",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[input]
keymap = [
{ on = [
"<C-q>",
], run = "close", desc = "Cancel input" },
{ on = [
"<Enter>",
], run = "close --submit", desc = "Submit the input" },
{ on = [
"<Esc>",
], run = "escape", desc = "Go back the normal mode, or cancel input" },
{ on = [
"<C-[>",
], run = "escape", desc = "Go back the normal mode, or cancel input" },
# Mode
{ on = [
"i",
], run = "insert", desc = "Enter insert mode" },
{ on = [
"a",
], run = "insert --append", desc = "Enter append mode" },
{ on = [
"I",
], run = [
"move -999",
"insert",
], desc = "Move to the BOL, and enter insert mode" },
{ on = [
"A",
], run = [
"move 999",
"insert --append",
], desc = "Move to the EOL, and enter append mode" },
{ on = [
"v",
], run = "visual", desc = "Enter visual mode" },
{ on = [
"V",
], run = [
"move -999",
"visual",
"move 999",
], desc = "Enter visual mode and select all" },
# Character-wise movement
{ on = [
"h",
], run = "move -1", desc = "Move back a character" },
{ on = [
"l",
], run = "move 1", desc = "Move forward a character" },
{ on = [
"<Left>",
], run = "move -1", desc = "Move back a character" },
{ on = [
"<Right>",
], run = "move 1", desc = "Move forward a character" },
{ on = [
"<C-b>",
], run = "move -1", desc = "Move back a character" },
{ on = [
"<C-f>",
], run = "move 1", desc = "Move forward a character" },
# Word-wise movement
{ on = [
"b",
], run = "backward", desc = "Move back to the start of the current or previous word" },
{ on = [
"w",
], run = "forward", desc = "Move forward to the start of the next word" },
{ on = [
"e",
], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
{ on = [
"<A-b>",
], run = "backward", desc = "Move back to the start of the current or previous word" },
{ on = [
"<A-f>",
], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
# Line-wise movement
{ on = [
"0",
], run = "move -999", desc = "Move to the BOL" },
{ on = [
"$",
], run = "move 999", desc = "Move to the EOL" },
{ on = [
"<C-a>",
], run = "move -999", desc = "Move to the BOL" },
{ on = [
"<C-e>",
], run = "move 999", desc = "Move to the EOL" },
{ on = [
"<Home>",
], run = "move -999", desc = "Move to the BOL" },
{ on = [
"<End>",
], run = "move 999", desc = "Move to the EOL" },
# Delete
{ on = [
"<Backspace>",
], run = "backspace", desc = "Delete the character before the cursor" },
{ on = [
"<Delete>",
], run = "backspace --under", desc = "Delete the character under the cursor" },
{ on = [
"<C-h>",
], run = "backspace", desc = "Delete the character before the cursor" },
{ on = [
"<C-d>",
], run = "backspace --under", desc = "Delete the character under the cursor" },
# Kill
{ on = [
"<C-u>",
], run = "kill bol", desc = "Kill backwards to the BOL" },
{ on = [
"<C-k>",
], run = "kill eol", desc = "Kill forwards to the EOL" },
{ on = [
"<C-w>",
], run = "kill backward", desc = "Kill backwards to the start of the current word" },
{ on = [
"<A-d>",
], run = "kill forward", desc = "Kill forwards to the end of the current word" },
# Cut/Yank/Paste
{ on = [
"d",
], run = "delete --cut", desc = "Cut the selected characters" },
{ on = [
"D",
], run = [
"delete --cut",
"move 999",
], desc = "Cut until the EOL" },
{ on = [
"c",
], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" },
{ on = [
"C",
], run = [
"delete --cut --insert",
"move 999",
], desc = "Cut until the EOL, and enter insert mode" },
{ on = [
"x",
], run = [
"delete --cut",
"move 1 --in-operating",
], desc = "Cut the current character" },
{ on = [
"y",
], run = "yank", desc = "Copy the selected characters" },
{ on = [
"p",
], run = "paste", desc = "Paste the copied characters after the cursor" },
{ on = [
"P",
], run = "paste --before", desc = "Paste the copied characters before the cursor" },
# Undo/Redo
{ on = [
"u",
], run = "undo", desc = "Undo the last operation" },
{ on = [
"<C-r>",
], run = "redo", desc = "Redo the last operation" },
# Help
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[completion]
keymap = [
{ on = [
"<C-q>",
], run = "close", desc = "Cancel completion" },
{ on = [
"<Tab>",
], run = "close --submit", desc = "Submit the completion" },
{ on = [
"<Enter>",
], run = [
"close --submit",
"close_input --submit",
], desc = "Submit the completion and input" },
{ on = [
"<A-k>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<A-j>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<C-p>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<C-n>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[help]
keymap = [
{ on = [
"<Esc>",
], run = "escape", desc = "Clear the filter, or hide the help" },
{ on = [
"<C-[>",
], run = "escape", desc = "Clear the filter, or hide the help" },
{ on = [
"q",
], run = "close", desc = "Exit the process" },
{ on = [
"<C-q>",
], run = "close", desc = "Hide the help" },
# Navigation
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"K",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"J",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<S-Up>",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"<S-Down>",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
# Filtering
{ on = [
"/",
], run = "filter", desc = "Apply a filter for the help items" },
]

View File

@@ -0,0 +1,766 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
[manager]
keymap = [
{ on = [
"<Esc>",
], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
{ on = [
"<C-[>",
], run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
{ on = [
"q",
], run = "quit", desc = "Exit the process" },
{ on = [
"Q",
], run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" },
{ on = [
"<C-q>",
], run = "close", desc = "Close the current tab, or quit if it is last tab" },
{ on = [
"<C-z>",
], run = "suspend", desc = "Suspend the process" },
# Navigation
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"K",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"J",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<S-Up>",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"<S-Down>",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<C-u>",
], run = "arrow -50%", desc = "Move cursor up half page" },
{ on = [
"<C-d>",
], run = "arrow 50%", desc = "Move cursor down half page" },
{ on = [
"<C-b>",
], run = "arrow -100%", desc = "Move cursor up one page" },
{ on = [
"<C-f>",
], run = "arrow 100%", desc = "Move cursor down one page" },
{ on = [
"<C-PageUp>",
], run = "arrow -50%", desc = "Move cursor up half page" },
{ on = [
"<C-PageDown>",
], run = "arrow 50%", desc = "Move cursor down half page" },
{ on = [
"<PageUp>",
], run = "arrow -100%", desc = "Move cursor up one page" },
{ on = [
"<PageDown>",
], run = "arrow 100%", desc = "Move cursor down one page" },
{ on = [
"h",
], run = "leave", desc = "Go back to the parent directory" },
{ on = [
"l",
], run = "enter", desc = "Enter the child directory" },
{ on = [
"H",
], run = "back", desc = "Go back to the previous directory" },
{ on = [
"L",
], run = "forward", desc = "Go forward to the next directory" },
{ on = [
"<A-k>",
], run = "seek -5", desc = "Seek up 5 units in the preview" },
{ on = [
"<A-j>",
], run = "seek 5", desc = "Seek down 5 units in the preview" },
{ on = [
"<A-PageUp>",
], run = "seek -5", desc = "Seek up 5 units in the preview" },
{ on = [
"<A-PageDown>",
], run = "seek 5", desc = "Seek down 5 units in the preview" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Left>",
], run = "leave", desc = "Go back to the parent directory" },
{ on = [
"<Right>",
], run = "enter", desc = "Enter the child directory" },
{ on = [
"g",
"g",
], run = "arrow -99999999", desc = "Move cursor to the top" },
{ on = [
"G",
], run = "arrow 99999999", desc = "Move cursor to the bottom" },
# Selection
{ on = [
"<Space>",
], run = [
"select --state=none",
"arrow 1",
], desc = "Toggle the current selection state" },
{ on = [
"v",
], run = "visual_mode", desc = "Enter visual mode (selection mode)" },
{ on = [
"V",
], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
{ on = [
"<C-a>",
], run = "select_all --state=true", desc = "Select all files" },
{ on = [
"<C-r>",
], run = "select_all --state=none", desc = "Inverse selection of all files" },
# Operation
{ on = [
"o",
], run = "open", desc = "Open the selected files" },
{ on = [
"O",
], run = "open --interactive", desc = "Open the selected files interactively" },
{ on = [
"<Enter>",
], run = "open", desc = "Open the selected files" },
{ on = [
"<C-Enter>",
], run = "open --interactive", desc = "Open the selected files interactively" },
{ on = [
"y",
], run = "yank", desc = "Copy the selected files" },
{ on = [
"Y",
], run = "unyank", desc = "Cancel the yank status of files" },
{ on = [
"x",
], run = "yank --cut", desc = "Cut the selected files" },
{ on = [
"X",
], run = "unyank", desc = "Cancel the yank status of files" },
{ on = [
"p",
], run = "paste", desc = "Paste the files" },
{ on = [
"P",
], run = "paste --force", desc = "Paste the files (overwrite if the destination exists)" },
{ on = [
"-",
], run = "link", desc = "Symlink the absolute path of files" },
{ on = [
"_",
], run = "link --relative", desc = "Symlink the relative path of files" },
{ on = [
"d",
], run = "remove", desc = "Move the files to the trash" },
{ on = [
"D",
], run = "remove --permanently", desc = "Permanently delete the files" },
{ on = [
"a",
], run = "create", desc = "Create a file or directory (ends with / for directories)" },
{ on = [
"r",
], run = "rename --cursor=before_ext", desc = "Rename a file or directory" },
{ on = [
";",
], run = "shell", desc = "Run a shell command" },
{ on = [
":",
], run = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" },
{ on = [
".",
], run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
{ on = [
"s",
], run = "search fd", desc = "Search files by name using fd" },
{ on = [
"S",
], run = "search rg", desc = "Search files by content using ripgrep" },
{ on = [
"<C-s>",
], run = "search none", desc = "Cancel the ongoing search" },
{ on = [
"z",
], run = "plugin zoxide", desc = "Jump to a directory using zoxide" },
{ on = [
"Z",
], run = "plugin fzf", desc = "Jump to a directory, or reveal a file using fzf" },
# Linemode
{ on = [
"m",
"s",
], run = "linemode size", desc = "Set linemode to size" },
{ on = [
"m",
"p",
], run = "linemode permissions", desc = "Set linemode to permissions" },
{ on = [
"m",
"m",
], run = "linemode mtime", desc = "Set linemode to mtime" },
{ on = [
"m",
"n",
], run = "linemode none", desc = "Set linemode to none" },
# Copy
{ on = [
"c",
"c",
], run = "copy path", desc = "Copy the absolute path" },
{ on = [
"c",
"d",
], run = "copy dirname", desc = "Copy the path of the parent directory" },
{ on = [
"c",
"f",
], run = "copy filename", desc = "Copy the name of the file" },
{ on = [
"c",
"n",
], run = "copy name_without_ext", desc = "Copy the name of the file without the extension" },
# Filter
{ on = [
"f",
], run = "filter --smart", desc = "Filter the files" },
# Find
{ on = [
"/",
], run = "find --smart", desc = "Find next file" },
{ on = [
"?",
], run = "find --previous --smart", desc = "Find previous file" },
{ on = [
"n",
], run = "find_arrow", desc = "Go to next found file" },
{ on = [
"N",
], run = "find_arrow --previous", desc = "Go to previous found file" },
# Sorting
{ on = [
",",
"m",
], run = "sort modified --dir-first", desc = "Sort by modified time" },
{ on = [
",",
"M",
], run = "sort modified --reverse --dir-first", desc = "Sort by modified time (reverse)" },
{ on = [
",",
"c",
], run = "sort created --dir-first", desc = "Sort by created time" },
{ on = [
",",
"C",
], run = "sort created --reverse --dir-first", desc = "Sort by created time (reverse)" },
{ on = [
",",
"e",
], run = "sort extension --dir-first", desc = "Sort by extension" },
{ on = [
",",
"E",
], run = "sort extension --reverse --dir-first", desc = "Sort by extension (reverse)" },
{ on = [
",",
"a",
], run = "sort alphabetical --dir-first", desc = "Sort alphabetically" },
{ on = [
",",
"A",
], run = "sort alphabetical --reverse --dir-first", desc = "Sort alphabetically (reverse)" },
{ on = [
",",
"n",
], run = "sort natural --dir-first", desc = "Sort naturally" },
{ on = [
",",
"N",
], run = "sort natural --reverse --dir-first", desc = "Sort naturally (reverse)" },
{ on = [
",",
"s",
], run = "sort size --dir-first", desc = "Sort by size" },
{ on = [
",",
"S",
], run = "sort size --reverse --dir-first", desc = "Sort by size (reverse)" },
# Tabs
{ on = [
"t",
], run = "tab_create --current", desc = "Create a new tab using the current path" },
{ on = [
"1",
], run = "tab_switch 0", desc = "Switch to the first tab" },
{ on = [
"2",
], run = "tab_switch 1", desc = "Switch to the second tab" },
{ on = [
"3",
], run = "tab_switch 2", desc = "Switch to the third tab" },
{ on = [
"4",
], run = "tab_switch 3", desc = "Switch to the fourth tab" },
{ on = [
"5",
], run = "tab_switch 4", desc = "Switch to the fifth tab" },
{ on = [
"6",
], run = "tab_switch 5", desc = "Switch to the sixth tab" },
{ on = [
"7",
], run = "tab_switch 6", desc = "Switch to the seventh tab" },
{ on = [
"8",
], run = "tab_switch 7", desc = "Switch to the eighth tab" },
{ on = [
"9",
], run = "tab_switch 8", desc = "Switch to the ninth tab" },
{ on = [
"[",
], run = "tab_switch -1 --relative", desc = "Switch to the previous tab" },
{ on = [
"]",
], run = "tab_switch 1 --relative", desc = "Switch to the next tab" },
{ on = [
"{",
], run = "tab_swap -1", desc = "Swap the current tab with the previous tab" },
{ on = [
"}",
], run = "tab_swap 1", desc = "Swap the current tab with the next tab" },
# Tasks
{ on = [
"w",
], run = "tasks_show", desc = "Show the tasks manager" },
# Goto
{ on = [
"g",
"h",
], run = "cd ~", desc = "Go to the home directory" },
{ on = [
"g",
"c",
], run = "cd ~/.config", desc = "Go to the config directory" },
{ on = [
"g",
"d",
], run = "cd ~/Downloads", desc = "Go to the downloads directory" },
{ on = [
"g",
"t",
], run = "cd /tmp", desc = "Go to the temporary directory" },
{ on = [
"g",
"<Space>",
], run = "cd --interactive", desc = "Go to a directory interactively" },
# Help
{ on = [
"~",
], run = "help", desc = "Open help" },
]
prepend_keymap = []
[tasks]
keymap = [
{ on = [
"<Esc>",
], run = "close", desc = "Hide the task manager" },
{ on = [
"<C-[>",
], run = "close", desc = "Hide the task manager" },
{ on = [
"<C-q>",
], run = "close", desc = "Hide the task manager" },
{ on = [
"w",
], run = "close", desc = "Hide the task manager" },
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Enter>",
], run = "inspect", desc = "Inspect the task" },
{ on = [
"x",
], run = "cancel", desc = "Cancel the task" },
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[select]
keymap = [
{ on = [
"<Esc>",
], run = "close", desc = "Cancel selection" },
{ on = [
"<C-[>",
], run = "close", desc = "Cancel selection" },
{ on = [
"<C-q>",
], run = "close", desc = "Cancel selection" },
{ on = [
"<Enter>",
], run = "close --submit", desc = "Submit the selection" },
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"K",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"J",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<S-Up>",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"<S-Down>",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[input]
keymap = [
{ on = [
"<C-q>",
], run = "close", desc = "Cancel input" },
{ on = [
"<Enter>",
], run = "close --submit", desc = "Submit the input" },
{ on = [
"<Esc>",
], run = "escape", desc = "Go back the normal mode, or cancel input" },
{ on = [
"<C-[>",
], run = "escape", desc = "Go back the normal mode, or cancel input" },
# Mode
{ on = [
"i",
], run = "insert", desc = "Enter insert mode" },
{ on = [
"a",
], run = "insert --append", desc = "Enter append mode" },
{ on = [
"I",
], run = [
"move -999",
"insert",
], desc = "Move to the BOL, and enter insert mode" },
{ on = [
"A",
], run = [
"move 999",
"insert --append",
], desc = "Move to the EOL, and enter append mode" },
{ on = [
"v",
], run = "visual", desc = "Enter visual mode" },
{ on = [
"V",
], run = [
"move -999",
"visual",
"move 999",
], desc = "Enter visual mode and select all" },
# Character-wise movement
{ on = [
"h",
], run = "move -1", desc = "Move back a character" },
{ on = [
"l",
], run = "move 1", desc = "Move forward a character" },
{ on = [
"<Left>",
], run = "move -1", desc = "Move back a character" },
{ on = [
"<Right>",
], run = "move 1", desc = "Move forward a character" },
{ on = [
"<C-b>",
], run = "move -1", desc = "Move back a character" },
{ on = [
"<C-f>",
], run = "move 1", desc = "Move forward a character" },
# Word-wise movement
{ on = [
"b",
], run = "backward", desc = "Move back to the start of the current or previous word" },
{ on = [
"w",
], run = "forward", desc = "Move forward to the start of the next word" },
{ on = [
"e",
], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
{ on = [
"<A-b>",
], run = "backward", desc = "Move back to the start of the current or previous word" },
{ on = [
"<A-f>",
], run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
# Line-wise movement
{ on = [
"0",
], run = "move -999", desc = "Move to the BOL" },
{ on = [
"$",
], run = "move 999", desc = "Move to the EOL" },
{ on = [
"<C-a>",
], run = "move -999", desc = "Move to the BOL" },
{ on = [
"<C-e>",
], run = "move 999", desc = "Move to the EOL" },
{ on = [
"<Home>",
], run = "move -999", desc = "Move to the BOL" },
{ on = [
"<End>",
], run = "move 999", desc = "Move to the EOL" },
# Delete
{ on = [
"<Backspace>",
], run = "backspace", desc = "Delete the character before the cursor" },
{ on = [
"<Delete>",
], run = "backspace --under", desc = "Delete the character under the cursor" },
{ on = [
"<C-h>",
], run = "backspace", desc = "Delete the character before the cursor" },
{ on = [
"<C-d>",
], run = "backspace --under", desc = "Delete the character under the cursor" },
# Kill
{ on = [
"<C-u>",
], run = "kill bol", desc = "Kill backwards to the BOL" },
{ on = [
"<C-k>",
], run = "kill eol", desc = "Kill forwards to the EOL" },
{ on = [
"<C-w>",
], run = "kill backward", desc = "Kill backwards to the start of the current word" },
{ on = [
"<A-d>",
], run = "kill forward", desc = "Kill forwards to the end of the current word" },
# Cut/Yank/Paste
{ on = [
"d",
], run = "delete --cut", desc = "Cut the selected characters" },
{ on = [
"D",
], run = [
"delete --cut",
"move 999",
], desc = "Cut until the EOL" },
{ on = [
"c",
], run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" },
{ on = [
"C",
], run = [
"delete --cut --insert",
"move 999",
], desc = "Cut until the EOL, and enter insert mode" },
{ on = [
"x",
], run = [
"delete --cut",
"move 1 --in-operating",
], desc = "Cut the current character" },
{ on = [
"y",
], run = "yank", desc = "Copy the selected characters" },
{ on = [
"p",
], run = "paste", desc = "Paste the copied characters after the cursor" },
{ on = [
"P",
], run = "paste --before", desc = "Paste the copied characters before the cursor" },
# Undo/Redo
{ on = [
"u",
], run = "undo", desc = "Undo the last operation" },
{ on = [
"<C-r>",
], run = "redo", desc = "Redo the last operation" },
# Help
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[completion]
keymap = [
{ on = [
"<C-q>",
], run = "close", desc = "Cancel completion" },
{ on = [
"<Tab>",
], run = "close --submit", desc = "Submit the completion" },
{ on = [
"<Enter>",
], run = [
"close --submit",
"close_input --submit",
], desc = "Submit the completion and input" },
{ on = [
"<A-k>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<A-j>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<C-p>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<C-n>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"~",
], run = "help", desc = "Open help" },
]
[help]
keymap = [
{ on = [
"<Esc>",
], run = "escape", desc = "Clear the filter, or hide the help" },
{ on = [
"<C-[>",
], run = "escape", desc = "Clear the filter, or hide the help" },
{ on = [
"q",
], run = "close", desc = "Exit the process" },
{ on = [
"<C-q>",
], run = "close", desc = "Hide the help" },
# Navigation
{ on = [
"k",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"j",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"K",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"J",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [
"<Up>",
], run = "arrow -1", desc = "Move cursor up" },
{ on = [
"<Down>",
], run = "arrow 1", desc = "Move cursor down" },
{ on = [
"<S-Up>",
], run = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [
"<S-Down>",
], run = "arrow 5", desc = "Move cursor down 5 lines" },
# Filtering
{ on = [
"/",
], run = "filter", desc = "Apply a filter for the help items" },
]

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Sonico98
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,32 @@
# exifaudio.yazi
Preview audio metadata and cover on [Yazi](https://github.com/sxyazi/yazi).
![image](https://github.com/Sonico98/exifaudio.yazi/assets/61394886/53c1492c-9f05-4c80-a4e7-94fb36f35ca9)
## Installation
```sh
# Linux/macOS
git clone https://github.com/Sonico98/exifaudio.yazi.git ~/.config/yazi/plugins/exifaudio.yazi
# Windows
git clone https://github.com/Sonico98/exifaudio.yazi.git %AppData%\yazi\config\plugins\exifaudio.yazi
```
## Usage
Add the following to your `yazi.toml`:
```toml
[plugin]
prepend_previewers = [
{ mime = "audio/*", run = "exifaudio"}
]
```
Make sure you have [exiftool](https://exiftool.org/) installed and in your `PATH`.
## Thanks
Thanks to [sxyazi](https://github.com/sxyazi) for the PDF previewer code, on which this previewer is based on.

View File

@@ -0,0 +1,139 @@
local M = {}
function M:peek()
local cache = ya.file_cache(self)
if not cache then
return
end
local child = Command("exiftool")
:args({
"-q", "-q", "-S", "-Title", "-SortName",
"-TitleSort", "-TitleSortOrder", "-Artist",
"-SortArtist", "-ArtistSort", "-PerformerSortOrder",
"-Album", "-SortAlbum", "-AlbumSort", "-AlbumSortOrder",
"-AlbumArtist", "-SortAlbumArtist", "-AlbumArtistSort",
"-AlbumArtistSortOrder", "-Genre", "-TrackNumber",
"-Year", "-Duration", "-SampleRate",
"-AudioSampleRate", "-AudioBitrate", "-AvgBitrate",
"-Channels", "-AudioChannels", tostring(self.file.url),
})
:stdout(Command.PIPED)
:stderr(Command.NULL)
:spawn()
local limit = self.area.h
local i, metadata = 0, {}
repeat
local next, event = child:read_line()
if event == 1 then
return self:fallback_to_builtin()
elseif event ~= 0 then
break
end
i = i + 1
if i > self.skip then
local m_title, m_tag = prettify(next)
local ti = ui.Span(m_title):bold()
local ta = ui.Span(m_tag)
table.insert(metadata, ui.Line{ti, ta})
table.insert(metadata, ui.Line{})
end
until i >= self.skip + limit
local p = ui.Paragraph(self.area, metadata):wrap(ui.Paragraph.WRAP)
ya.preview_widgets(self, { p })
local cover_width = self.area.w / 2 - 5
local cover_height = (self.area.h / 4) + 3
local bottom_right = ui.Rect {
x = self.area.right - cover_width,
y = self.area.bottom - cover_height,
w = cover_width,
h = cover_height,
}
if self:preload() == 1 then
ya.image_show(cache, bottom_right)
end
end
function prettify(metadata)
local substitutions = {
Sortname = "Sort Title:",
SortName = "Sort Title:",
TitleSort = "Sort Title:",
TitleSortOrder = "Sort Title:",
ArtistSort = "Sort Artist:",
SortArtist = "Sort Artist:",
Artist = "Artist:",
ARTIST = "Artist:",
PerformerSortOrder = "Sort Artist:",
SortAlbumArtist = "Sort Album Artist:",
AlbumArtistSortOrder = "Sort Album Artist:",
AlbumArtistSort = "Sort Album Artist:",
AlbumSortOrder = "Sort Album:",
AlbumSort = "Sort Album:",
SortAlbum = "Sort Album:",
Album = "Album:",
ALBUM = "Album:",
AlbumArtist = "Album Artist:",
Genre = "Genre:",
GENRE = "Genre:",
TrackNumber = "Track Number:",
Year = "Year:",
Duration = "Duration:",
AudioBitrate = "Bitrate:",
AvgBitrate = "Average Bitrate:",
AudioSampleRate = "Sample Rate:",
SampleRate = "Sample Rate:",
AudioChannels = "Channels:"
}
for k, v in pairs(substitutions) do
metadata = metadata:gsub(tostring(k)..":", v, 1)
end
-- Separate the tag title from the tag data
local t={}
for str in string.gmatch(metadata , "([^"..":".."]+)") do
table.insert(t, str)
end
-- Add back semicolon to title, rejoin tag data if it happened to contain a semicolon
return t[1]..":", table.concat(t, ":", 2)
end
function M:seek(units)
local h = cx.active.current.hovered
if h and h.url == self.file.url then
ya.manager_emit("peek", {
tostring(math.max(0, cx.active.preview.skip + units)),
only_if = tostring(self.file.url),
})
end
end
function M:preload()
local cache = ya.file_cache(self)
if not cache or fs.cha(cache) then
return 1
end
local output = Command("exiftool")
:args({ "-b", "-CoverArt", "-Picture", tostring(self.file.url) })
:stdout(Command.PIPED)
:stderr(Command.PIPED)
:output()
if not output then
return 0
end
return fs.write(cache, output.stdout) and 1 or 2
end
return M

View File

@@ -0,0 +1,7 @@
Copyright © 2024 Reledia <reledia@prontonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,22 @@
# hexyl.yazi
Preview any file on [Yazi](https://github.com/sxyazi/yazi) using [hexyl](https://github.com/sharkdp/hexyl). To install, clone the repo inside your `~/.config/yazi/plugins/`:
```bash
git clone https://github.com/Reledia/hexyl.yazi.git
```
then include it in your `yazi.toml` to use:
```toml
[plugin]
append_previewers = [
{ name = "*", run = "hexyl" },
]
```
Make sure you have [hexyl](https://github.com/sharkdp/hexyl) installed, and can be found in `PATH`.
## Preview
![preview.png](https://raw.githubusercontent.com/Reledia/hexyl.yazi/main/image.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 KiB

View File

@@ -0,0 +1,67 @@
local M = {}
function M:peek()
local child
local l = self.file.cha.length
if l == 0 then
child = Command("hexyl")
:args({
tostring(self.file.url),
})
:stdout(Command.PIPED)
:stderr(Command.PIPED)
:spawn()
else
child = Command("hexyl")
:args({
"--border",
"none",
"--terminal-width",
tostring(self.area.w),
tostring(self.file.url),
})
:stdout(Command.PIPED)
:stderr(Command.PIPED)
:spawn()
end
local limit = self.area.h
local i, lines = 0, ""
repeat
local next, event = child:read_line()
if event == 1 then
ya.err(tostring(event))
elseif event ~= 0 then
break
end
i = i + 1
if i > self.skip then
lines = lines .. next
end
until i >= self.skip + limit
child:start_kill()
if self.skip > 0 and i < self.skip + limit then
ya.manager_emit(
"peek",
{ tostring(math.max(0, i - limit)), only_if = tostring(self.file.url), upper_bound = "" }
)
else
lines = lines:gsub("\t", string.rep(" ", PREVIEW.tab_size))
ya.preview_widgets(self, { ui.Paragraph.parse(self.area, lines) })
end
end
function M:seek(units)
local h = cx.active.current.hovered
if h and h.url == self.file.url then
local step = math.floor(units * self.area.h / 10)
ya.manager_emit("peek", {
tostring(math.max(0, cx.active.preview.skip + step)),
only_if = tostring(self.file.url),
})
end
end
return M

View File

@@ -0,0 +1,7 @@
Copyright © 2024 Reledia <reledia@prontonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,26 @@
# miller.yazi
[Miller](https://github.com/johnkerl/miller) now in [yazi](https://github.com/sxyazi/yazi). To install, clone the repo inside `~/.config/yazi/plugins/`:
```toml
[plugin]
prepend_previewers = [
{ mime = "text/csv", run = "miller"},
]
```
## Preview
![preview](https://github.com/Reledia/miller.yazi/blob/main/preview.png?raw=true)
## Color
To change colors of keys and values, edit the `init.lua` file after the `--key-color` and `--value-color` flags. To view a list of possible colors, use `mlr --list-color-names`. Make sure to have miller installed and inside your PATH.
## Other types of file
To adapt this plugin to the other format supported from miller (like json):
- copy the plugin folder
- change the name of the copied folder into miller_(fmt)
- change the `--icsv` flag inside `init.lua` to `--i(fmt)`
- add the correct mime/name rule into `prepend_previewers` and the exec as `miller_(fmt)`

View File

@@ -0,0 +1,59 @@
local M = {}
function M:peek()
local child = Command("mlr")
:args({
"--icsv",
"--opprint",
"-C",
"--key-color",
"darkcyan",
"--value-color",
"grey70",
"cat",
tostring(self.file.url),
})
:stdout(Command.PIPED)
:stderr(Command.PIPED)
:spawn()
local limit = self.area.h
local i, lines = 0, ""
repeat
local next, event = child:read_line()
if event == 1 then
ya.err(tostring(event))
elseif event ~= 0 then
break
end
i = i + 1
if i > self.skip then
lines = lines .. next
end
until i >= self.skip + limit
child:start_kill()
if self.skip > 0 and i < self.skip + limit then
ya.manager_emit(
"peek",
{ tostring(math.max(0, i - limit)), only_if = tostring(self.file.url), upper_bound = "" }
)
else
lines = lines:gsub("\t", string.rep(" ", PREVIEW.tab_size))
ya.preview_widgets(self, { ui.Paragraph.parse(self.area, lines) })
end
end
function M:seek(units)
local h = cx.active.current.hovered
if h and h.url == self.file.url then
local step = math.floor(units * self.area.h / 10)
ya.manager_emit("peek", {
tostring(math.max(0, cx.active.preview.skip + step)),
only_if = tostring(self.file.url),
})
end
end
return M

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@@ -0,0 +1,665 @@
[mgr]
cwd = { fg = "#81c8be" }
# Hovered
hovered = { fg = "#303446", bg = "#8caaee" }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#e5c890", italic = true }
find_position = { fg = "#f4b8e4", bg = "reset", italic = true }
# Marker
marker_copied = { fg = "#a6d189", bg = "#a6d189" }
marker_cut = { fg = "#e78284", bg = "#e78284" }
marker_selected = { fg = "#8caaee", bg = "#8caaee" }
# Tab
tab_active = { fg = "#303446", bg = "#c6d0f5" }
tab_inactive = { fg = "#c6d0f5", bg = "#51576d" }
tab_width = 1
# Count
count_copied = { fg = "#303446", bg = "#a6d189" }
count_cut = { fg = "#303446", bg = "#e78284" }
count_selected = { fg = "#303446", bg = "#8caaee" }
# Border
border_symbol = "│"
border_style = { fg = "#838ba7" }
# Highlighting
syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme"
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "#51576d", bg = "#51576d" }
# Mode
mode_normal = { fg = "#303446", bg = "#8caaee", bold = true }
mode_select = { fg = "#303446", bg = "#a6d189", bold = true }
mode_unset = { fg = "#303446", bg = "#eebebe", bold = true }
# Progress
progress_label = { fg = "#ffffff", bold = true }
progress_normal = { fg = "#8caaee", bg = "#51576d" }
progress_error = { fg = "#e78284", bg = "#51576d" }
# Permissions
permissions_t = { fg = "#8caaee" }
permissions_r = { fg = "#e5c890" }
permissions_w = { fg = "#e78284" }
permissions_x = { fg = "#a6d189" }
permissions_s = { fg = "#838ba7" }
[input]
border = { fg = "#8caaee" }
title = {}
value = {}
selected = { reversed = true }
[select]
border = { fg = "#8caaee" }
active = { fg = "#f4b8e4" }
inactive = {}
[tasks]
border = { fg = "#8caaee" }
title = {}
hovered = { underline = true }
[which]
mask = { bg = "#414559" }
cand = { fg = "#81c8be" }
rest = { fg = "#949cbb" }
desc = { fg = "#f4b8e4" }
separator = "  "
separator_style = { fg = "#626880" }
[help]
on = { fg = "#f4b8e4" }
exec = { fg = "#81c8be" }
desc = { fg = "#949cbb" }
hovered = { bg = "#626880", bold = true }
footer = { fg = "#51576d", bg = "#c6d0f5" }
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#81c8be" },
# Videos
{ mime = "video/*", fg = "#e5c890" },
{ mime = "audio/*", fg = "#e5c890" },
# Archives
{ mime = "application/zip", fg = "#f4b8e4" },
{ mime = "application/gzip", fg = "#f4b8e4" },
{ mime = "application/x-tar", fg = "#f4b8e4" },
{ mime = "application/x-bzip", fg = "#f4b8e4" },
{ mime = "application/x-bzip2", fg = "#f4b8e4" },
{ mime = "application/x-7z-compressed", fg = "#f4b8e4" },
{ mime = "application/x-rar", fg = "#f4b8e4" },
# Fallback
{ name = "*", fg = "#c6d0f5" },
{ name = "*/", fg = "#8caaee" },
]
[icon]
prepend_rules = [
{ name = ".SRCINFO", text = "󰣇", fg = "#8caaee" },
{ name = ".Xauthority", text = "", fg = "#ef9f76" },
{ name = ".Xresources", text = "", fg = "#ef9f76" },
{ name = ".babelrc", text = "", fg = "#e5c890" },
{ name = ".bash_profile", text = "", fg = "#a6d189" },
{ name = ".bashrc", text = "", fg = "#a6d189" },
{ name = ".dockerignore", text = "󰡨", fg = "#8caaee" },
{ name = ".ds_store", text = "", fg = "#51576d" },
{ name = ".editorconfig", text = "", fg = "#f2d5cf" },
{ name = ".env", text = "", fg = "#e5c890" },
{ name = ".eslintignore", text = "", fg = "#51576d" },
{ name = ".eslintrc", text = "", fg = "#51576d" },
{ name = ".gitattributes", text = "", fg = "#e78284" },
{ name = ".gitconfig", text = "", fg = "#e78284" },
{ name = ".gitignore", text = "", fg = "#e78284" },
{ name = ".gitlab-ci.yml", text = "", fg = "#e78284" },
{ name = ".gitmodules", text = "", fg = "#e78284" },
{ name = ".gtkrc-2.0", text = "", fg = "#f2d5cf" },
{ name = ".gvimrc", text = "", fg = "#a6d189" },
{ name = ".justfile", text = "", fg = "#737994" },
{ name = ".luaurc", text = "", fg = "#8caaee" },
{ name = ".mailmap", text = "󰊢", fg = "#51576d" },
{ name = ".npmignore", text = "", fg = "#e78284" },
{ name = ".npmrc", text = "", fg = "#e78284" },
{ name = ".nvmrc", text = "", fg = "#a6d189" },
{ name = ".prettierrc", text = "", fg = "#8caaee" },
{ name = ".settings.json", text = "", fg = "#626880" },
{ name = ".vimrc", text = "", fg = "#a6d189" },
{ name = ".xinitrc", text = "", fg = "#ef9f76" },
{ name = ".xsession", text = "", fg = "#ef9f76" },
{ name = ".zprofile", text = "", fg = "#a6d189" },
{ name = ".zshenv", text = "", fg = "#a6d189" },
{ name = ".zshrc", text = "", fg = "#a6d189" },
{ name = "FreeCAD.conf", text = "", fg = "#e78284" },
{ name = "PKGBUILD", text = "", fg = "#8caaee" },
{ name = "PrusaSlicer.ini", text = "", fg = "#ef9f76" },
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#ef9f76" },
{ name = "QtProject.conf", text = "", fg = "#a6d189" },
{ name = "R", text = "󰟔", fg = "#626880" },
{ name = "_gvimrc", text = "", fg = "#a6d189" },
{ name = "_vimrc", text = "", fg = "#a6d189" },
{ name = "avif", text = "", fg = "#ca9ee6" },
{ name = "brewfile", text = "", fg = "#292c3c" },
{ name = "bspwmrc", text = "", fg = "#232634" },
{ name = "build", text = "", fg = "#a6d189" },
{ name = "build.gradle", text = "", fg = "#51576d" },
{ name = "build.zig.zon", text = "", fg = "#ef9f76" },
{ name = "cantorrc", text = "", fg = "#8caaee" },
{ name = "checkhealth", text = "󰓙", fg = "#8caaee" },
{ name = "cmakelists.txt", text = "", fg = "#737994" },
{ name = "commit_editmsg", text = "", fg = "#e78284" },
{ name = "compose.yaml", text = "󰡨", fg = "#8caaee" },
{ name = "compose.yml", text = "󰡨", fg = "#8caaee" },
{ name = "config", text = "", fg = "#737994" },
{ name = "containerfile", text = "󰡨", fg = "#8caaee" },
{ name = "copying", text = "", fg = "#e5c890" },
{ name = "copying.lesser", text = "", fg = "#e5c890" },
{ name = "docker-compose.yaml", text = "󰡨", fg = "#8caaee" },
{ name = "docker-compose.yml", text = "󰡨", fg = "#8caaee" },
{ name = "dockerfile", text = "󰡨", fg = "#8caaee" },
{ name = "ext_typoscript_setup.txt", text = "", fg = "#ef9f76" },
{ name = "favicon.ico", text = "", fg = "#e5c890" },
{ name = "fp-info-cache", text = "", fg = "#f2d5cf" },
{ name = "fp-lib-table", text = "", fg = "#f2d5cf" },
{ name = "gemfile$", text = "", fg = "#292c3c" },
{ name = "gnumakefile", text = "", fg = "#737994" },
{ name = "gradle-wrapper.properties", text = "", fg = "#51576d" },
{ name = "gradle.properties", text = "", fg = "#51576d" },
{ name = "gradlew", text = "", fg = "#51576d" },
{ name = "groovy", text = "", fg = "#626880" },
{ name = "gruntfile.babel.js", text = "", fg = "#ef9f76" },
{ name = "gruntfile.coffee", text = "", fg = "#ef9f76" },
{ name = "gruntfile.js", text = "", fg = "#ef9f76" },
{ name = "gruntfile.ts", text = "", fg = "#ef9f76" },
{ name = "gtkrc", text = "", fg = "#f2d5cf" },
{ name = "gulpfile.babel.js", text = "", fg = "#e78284" },
{ name = "gulpfile.coffee", text = "", fg = "#e78284" },
{ name = "gulpfile.js", text = "", fg = "#e78284" },
{ name = "gulpfile.ts", text = "", fg = "#e78284" },
{ name = "hyprland.conf", text = "", fg = "#81c8be" },
{ name = "i3blocks.conf", text = "", fg = "#c6d0f5" },
{ name = "i3status.conf", text = "", fg = "#c6d0f5" },
{ name = "justfile", text = "", fg = "#737994" },
{ name = "kalgebrarc", text = "", fg = "#8caaee" },
{ name = "kdeglobals", text = "", fg = "#8caaee" },
{ name = "kdenlive-layoutsrc", text = "", fg = "#8caaee" },
{ name = "kdenliverc", text = "", fg = "#8caaee" },
{ name = "kritadisplayrc", text = "", fg = "#ca9ee6" },
{ name = "kritarc", text = "", fg = "#ca9ee6" },
{ name = "license", text = "", fg = "#e5c890" },
{ name = "lxde-rc.xml", text = "", fg = "#838ba7" },
{ name = "lxqt.conf", text = "", fg = "#8caaee" },
{ name = "makefile", text = "", fg = "#737994" },
{ name = "mix.lock", text = "", fg = "#ca9ee6" },
{ name = "mpv.conf", text = "", fg = "#292c3c" },
{ name = "node_modules", text = "", fg = "#e78284" },
{ name = "package-lock.json", text = "", fg = "#292c3c" },
{ name = "package.json", text = "", fg = "#e78284" },
{ name = "platformio.ini", text = "", fg = "#ef9f76" },
{ name = "pom.xml", text = "", fg = "#292c3c" },
{ name = "procfile", text = "", fg = "#ca9ee6" },
{ name = "py.typed", text = "", fg = "#e5c890" },
{ name = "r", text = "󰟔", fg = "#626880" },
{ name = "rakefile", text = "", fg = "#292c3c" },
{ name = "rmd", text = "", fg = "#85c1dc" },
{ name = "settings.gradle", text = "", fg = "#51576d" },
{ name = "svelte.config.js", text = "", fg = "#ef9f76" },
{ name = "sxhkdrc", text = "", fg = "#232634" },
{ name = "sym-lib-table", text = "", fg = "#f2d5cf" },
{ name = "tailwind.config.js", text = "󱏿", fg = "#85c1dc" },
{ name = "tailwind.config.mjs", text = "󱏿", fg = "#85c1dc" },
{ name = "tailwind.config.ts", text = "󱏿", fg = "#85c1dc" },
{ name = "tmux.conf", text = "", fg = "#a6d189" },
{ name = "tmux.conf.local", text = "", fg = "#a6d189" },
{ name = "tsconfig.json", text = "", fg = "#85c1dc" },
{ name = "unlicense", text = "", fg = "#e5c890" },
{ name = "vagrantfile$", text = "", fg = "#626880" },
{ name = "vlcrc", text = "󰕼", fg = "#ef9f76" },
{ name = "webpack", text = "󰜫", fg = "#85c1dc" },
{ name = "weston.ini", text = "", fg = "#e5c890" },
{ name = "workspace", text = "", fg = "#a6d189" },
{ name = "xmobarrc", text = "", fg = "#e78284" },
{ name = "xmobarrc.hs", text = "", fg = "#e78284" },
{ name = "xmonad.hs", text = "", fg = "#e78284" },
{ name = "xorg.conf", text = "", fg = "#ef9f76" },
{ name = "xsettingsd.conf", text = "", fg = "#ef9f76" },
{ name = "*.3gp", text = "", fg = "#ef9f76" },
{ name = "*.3mf", text = "󰆧", fg = "#838ba7" },
{ name = "*.7z", text = "", fg = "#e5c890" },
{ name = "*.Dockerfile", text = "󰡨", fg = "#8caaee" },
{ name = "*.a", text = "", fg = "#f2d5cf" },
{ name = "*.aac", text = "", fg = "#85c1dc" },
{ name = "*.ai", text = "", fg = "#e5c890" },
{ name = "*.aif", text = "", fg = "#85c1dc" },
{ name = "*.aiff", text = "", fg = "#85c1dc" },
{ name = "*.android", text = "", fg = "#a6d189" },
{ name = "*.ape", text = "", fg = "#85c1dc" },
{ name = "*.apk", text = "", fg = "#a6d189" },
{ name = "*.app", text = "", fg = "#414559" },
{ name = "*.applescript", text = "", fg = "#737994" },
{ name = "*.asc", text = "󰦝", fg = "#626880" },
{ name = "*.ass", text = "󰨖", fg = "#e5c890" },
{ name = "*.astro", text = "", fg = "#e78284" },
{ name = "*.awk", text = "", fg = "#51576d" },
{ name = "*.azcli", text = "", fg = "#737994" },
{ name = "*.bak", text = "󰁯", fg = "#737994" },
{ name = "*.bash", text = "", fg = "#a6d189" },
{ name = "*.bat", text = "", fg = "#a6d189" },
{ name = "*.bazel", text = "", fg = "#a6d189" },
{ name = "*.bib", text = "󱉟", fg = "#e5c890" },
{ name = "*.bicep", text = "", fg = "#85c1dc" },
{ name = "*.bicepparam", text = "", fg = "#ca9ee6" },
{ name = "*.bin", text = "", fg = "#414559" },
{ name = "*.blade.php", text = "", fg = "#e78284" },
{ name = "*.blend", text = "󰂫", fg = "#ef9f76" },
{ name = "*.blp", text = "󰺾", fg = "#8caaee" },
{ name = "*.bmp", text = "", fg = "#ca9ee6" },
{ name = "*.brep", text = "󰻫", fg = "#a6d189" },
{ name = "*.bz", text = "", fg = "#e5c890" },
{ name = "*.bz2", text = "", fg = "#e5c890" },
{ name = "*.bz3", text = "", fg = "#e5c890" },
{ name = "*.bzl", text = "", fg = "#a6d189" },
{ name = "*.c", text = "", fg = "#8caaee" },
{ name = "*.c++", text = "", fg = "#e78284" },
{ name = "*.cache", text = "", fg = "#f2d5cf" },
{ name = "*.cast", text = "", fg = "#ef9f76" },
{ name = "*.cbl", text = "⚙", fg = "#51576d" },
{ name = "*.cc", text = "", fg = "#e78284" },
{ name = "*.ccm", text = "", fg = "#e78284" },
{ name = "*.cfg", text = "", fg = "#737994" },
{ name = "*.cjs", text = "", fg = "#e5c890" },
{ name = "*.clj", text = "", fg = "#a6d189" },
{ name = "*.cljc", text = "", fg = "#a6d189" },
{ name = "*.cljd", text = "", fg = "#85c1dc" },
{ name = "*.cljs", text = "", fg = "#85c1dc" },
{ name = "*.cmake", text = "", fg = "#737994" },
{ name = "*.cob", text = "⚙", fg = "#51576d" },
{ name = "*.cobol", text = "⚙", fg = "#51576d" },
{ name = "*.coffee", text = "", fg = "#e5c890" },
{ name = "*.conf", text = "", fg = "#737994" },
{ name = "*.config.ru", text = "", fg = "#292c3c" },
{ name = "*.cp", text = "", fg = "#85c1dc" },
{ name = "*.cpp", text = "", fg = "#85c1dc" },
{ name = "*.cppm", text = "", fg = "#85c1dc" },
{ name = "*.cpy", text = "⚙", fg = "#51576d" },
{ name = "*.cr", text = "", fg = "#f2d5cf" },
{ name = "*.crdownload", text = "", fg = "#81c8be" },
{ name = "*.cs", text = "󰌛", fg = "#a6d189" },
{ name = "*.csh", text = "", fg = "#51576d" },
{ name = "*.cshtml", text = "󱦗", fg = "#51576d" },
{ name = "*.cson", text = "", fg = "#e5c890" },
{ name = "*.csproj", text = "󰪮", fg = "#51576d" },
{ name = "*.css", text = "", fg = "#8caaee" },
{ name = "*.csv", text = "", fg = "#a6d189" },
{ name = "*.cts", text = "", fg = "#85c1dc" },
{ name = "*.cu", text = "", fg = "#a6d189" },
{ name = "*.cue", text = "󰲹", fg = "#ea999c" },
{ name = "*.cuh", text = "", fg = "#ca9ee6" },
{ name = "*.cxx", text = "", fg = "#85c1dc" },
{ name = "*.cxxm", text = "", fg = "#85c1dc" },
{ name = "*.d", text = "", fg = "#a6d189" },
{ name = "*.d.ts", text = "", fg = "#ef9f76" },
{ name = "*.dart", text = "", fg = "#51576d" },
{ name = "*.db", text = "", fg = "#f2d5cf" },
{ name = "*.dconf", text = "", fg = "#f2d5cf" },
{ name = "*.desktop", text = "", fg = "#414559" },
{ name = "*.diff", text = "", fg = "#51576d" },
{ name = "*.dll", text = "", fg = "#232634" },
{ name = "*.doc", text = "󰈬", fg = "#51576d" },
{ name = "*.docx", text = "󰈬", fg = "#51576d" },
{ name = "*.dot", text = "󱁉", fg = "#51576d" },
{ name = "*.download", text = "", fg = "#81c8be" },
{ name = "*.drl", text = "", fg = "#ea999c" },
{ name = "*.dropbox", text = "", fg = "#626880" },
{ name = "*.dump", text = "", fg = "#f2d5cf" },
{ name = "*.dwg", text = "󰻫", fg = "#a6d189" },
{ name = "*.dxf", text = "󰻫", fg = "#a6d189" },
{ name = "*.ebook", text = "", fg = "#e5c890" },
{ name = "*.edn", text = "", fg = "#85c1dc" },
{ name = "*.eex", text = "", fg = "#ca9ee6" },
{ name = "*.ejs", text = "", fg = "#e5c890" },
{ name = "*.el", text = "", fg = "#737994" },
{ name = "*.elc", text = "", fg = "#737994" },
{ name = "*.elf", text = "", fg = "#414559" },
{ name = "*.elm", text = "", fg = "#85c1dc" },
{ name = "*.eln", text = "", fg = "#737994" },
{ name = "*.env", text = "", fg = "#e5c890" },
{ name = "*.eot", text = "", fg = "#f2d5cf" },
{ name = "*.epp", text = "", fg = "#e5c890" },
{ name = "*.epub", text = "", fg = "#e5c890" },
{ name = "*.erb", text = "", fg = "#292c3c" },
{ name = "*.erl", text = "", fg = "#626880" },
{ name = "*.ex", text = "", fg = "#ca9ee6" },
{ name = "*.exe", text = "", fg = "#414559" },
{ name = "*.exs", text = "", fg = "#ca9ee6" },
{ name = "*.f#", text = "", fg = "#85c1dc" },
{ name = "*.f3d", text = "󰻫", fg = "#a6d189" },
{ name = "*.f90", text = "󱈚", fg = "#51576d" },
{ name = "*.fbx", text = "󰆧", fg = "#838ba7" },
{ name = "*.fcbak", text = "", fg = "#e78284" },
{ name = "*.fcmacro", text = "", fg = "#e78284" },
{ name = "*.fcmat", text = "", fg = "#e78284" },
{ name = "*.fcparam", text = "", fg = "#e78284" },
{ name = "*.fcscript", text = "", fg = "#e78284" },
{ name = "*.fcstd", text = "", fg = "#e78284" },
{ name = "*.fcstd1", text = "", fg = "#e78284" },
{ name = "*.fctb", text = "", fg = "#e78284" },
{ name = "*.fctl", text = "", fg = "#e78284" },
{ name = "*.fdmdownload", text = "", fg = "#81c8be" },
{ name = "*.fish", text = "", fg = "#51576d" },
{ name = "*.flac", text = "", fg = "#626880" },
{ name = "*.flc", text = "", fg = "#f2d5cf" },
{ name = "*.flf", text = "", fg = "#f2d5cf" },
{ name = "*.fnl", text = "", fg = "#e5c890" },
{ name = "*.fs", text = "", fg = "#85c1dc" },
{ name = "*.fsi", text = "", fg = "#85c1dc" },
{ name = "*.fsscript", text = "", fg = "#85c1dc" },
{ name = "*.fsx", text = "", fg = "#85c1dc" },
{ name = "*.gcode", text = "󰐫", fg = "#626880" },
{ name = "*.gd", text = "", fg = "#737994" },
{ name = "*.gemspec", text = "", fg = "#292c3c" },
{ name = "*.gif", text = "", fg = "#ca9ee6" },
{ name = "*.git", text = "", fg = "#e78284" },
{ name = "*.glb", text = "", fg = "#e5c890" },
{ name = "*.gnumakefile", text = "", fg = "#737994" },
{ name = "*.go", text = "", fg = "#85c1dc" },
{ name = "*.godot", text = "", fg = "#737994" },
{ name = "*.gql", text = "", fg = "#ca9ee6" },
{ name = "*.graphql", text = "", fg = "#ca9ee6" },
{ name = "*.gresource", text = "", fg = "#f2d5cf" },
{ name = "*.gv", text = "󱁉", fg = "#51576d" },
{ name = "*.gz", text = "", fg = "#e5c890" },
{ name = "*.h", text = "", fg = "#ca9ee6" },
{ name = "*.haml", text = "", fg = "#f2d5cf" },
{ name = "*.hbs", text = "", fg = "#ef9f76" },
{ name = "*.heex", text = "", fg = "#ca9ee6" },
{ name = "*.hex", text = "", fg = "#626880" },
{ name = "*.hh", text = "", fg = "#ca9ee6" },
{ name = "*.hpp", text = "", fg = "#ca9ee6" },
{ name = "*.hrl", text = "", fg = "#626880" },
{ name = "*.hs", text = "", fg = "#ca9ee6" },
{ name = "*.htm", text = "", fg = "#e78284" },
{ name = "*.html", text = "", fg = "#e78284" },
{ name = "*.huff", text = "󰡘", fg = "#51576d" },
{ name = "*.hurl", text = "", fg = "#e78284" },
{ name = "*.hx", text = "", fg = "#ef9f76" },
{ name = "*.hxx", text = "", fg = "#ca9ee6" },
{ name = "*.ical", text = "", fg = "#303446" },
{ name = "*.icalendar", text = "", fg = "#303446" },
{ name = "*.ico", text = "", fg = "#e5c890" },
{ name = "*.ics", text = "", fg = "#303446" },
{ name = "*.ifb", text = "", fg = "#303446" },
{ name = "*.ifc", text = "󰻫", fg = "#a6d189" },
{ name = "*.ige", text = "󰻫", fg = "#a6d189" },
{ name = "*.iges", text = "󰻫", fg = "#a6d189" },
{ name = "*.igs", text = "󰻫", fg = "#a6d189" },
{ name = "*.image", text = "", fg = "#f2d5cf" },
{ name = "*.img", text = "", fg = "#f2d5cf" },
{ name = "*.import", text = "", fg = "#f2d5cf" },
{ name = "*.info", text = "", fg = "#e5c890" },
{ name = "*.ini", text = "", fg = "#737994" },
{ name = "*.ino", text = "", fg = "#85c1dc" },
{ name = "*.ipynb", text = "", fg = "#85c1dc" },
{ name = "*.iso", text = "", fg = "#f2d5cf" },
{ name = "*.ixx", text = "", fg = "#85c1dc" },
{ name = "*.java", text = "", fg = "#e78284" },
{ name = "*.jl", text = "", fg = "#ca9ee6" },
{ name = "*.jpeg", text = "", fg = "#ca9ee6" },
{ name = "*.jpg", text = "", fg = "#ca9ee6" },
{ name = "*.js", text = "", fg = "#e5c890" },
{ name = "*.json", text = "", fg = "#e5c890" },
{ name = "*.json5", text = "", fg = "#e5c890" },
{ name = "*.jsonc", text = "", fg = "#e5c890" },
{ name = "*.jsx", text = "", fg = "#85c1dc" },
{ name = "*.jwmrc", text = "", fg = "#737994" },
{ name = "*.jxl", text = "", fg = "#ca9ee6" },
{ name = "*.kbx", text = "󰯄", fg = "#626880" },
{ name = "*.kdb", text = "", fg = "#a6d189" },
{ name = "*.kdbx", text = "", fg = "#a6d189" },
{ name = "*.kdenlive", text = "", fg = "#8caaee" },
{ name = "*.kdenlivetitle", text = "", fg = "#8caaee" },
{ name = "*.kicad_dru", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_mod", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_pcb", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_prl", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_pro", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_sch", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_sym", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_wks", text = "", fg = "#f2d5cf" },
{ name = "*.ko", text = "", fg = "#f2d5cf" },
{ name = "*.kpp", text = "", fg = "#ca9ee6" },
{ name = "*.kra", text = "", fg = "#ca9ee6" },
{ name = "*.krz", text = "", fg = "#ca9ee6" },
{ name = "*.ksh", text = "", fg = "#51576d" },
{ name = "*.kt", text = "", fg = "#737994" },
{ name = "*.kts", text = "", fg = "#737994" },
{ name = "*.lck", text = "", fg = "#b5bfe2" },
{ name = "*.leex", text = "", fg = "#ca9ee6" },
{ name = "*.less", text = "", fg = "#414559" },
{ name = "*.lff", text = "", fg = "#f2d5cf" },
{ name = "*.lhs", text = "", fg = "#ca9ee6" },
{ name = "*.lib", text = "", fg = "#232634" },
{ name = "*.license", text = "", fg = "#e5c890" },
{ name = "*.liquid", text = "", fg = "#a6d189" },
{ name = "*.lock", text = "", fg = "#b5bfe2" },
{ name = "*.log", text = "󰌱", fg = "#f2d5cf" },
{ name = "*.lrc", text = "󰨖", fg = "#e5c890" },
{ name = "*.lua", text = "", fg = "#85c1dc" },
{ name = "*.luac", text = "", fg = "#85c1dc" },
{ name = "*.luau", text = "", fg = "#8caaee" },
{ name = "*.m", text = "", fg = "#8caaee" },
{ name = "*.m3u", text = "󰲹", fg = "#ea999c" },
{ name = "*.m3u8", text = "󰲹", fg = "#ea999c" },
{ name = "*.m4a", text = "", fg = "#85c1dc" },
{ name = "*.m4v", text = "", fg = "#ef9f76" },
{ name = "*.magnet", text = "", fg = "#e78284" },
{ name = "*.makefile", text = "", fg = "#737994" },
{ name = "*.markdown", text = "", fg = "#f2d5cf" },
{ name = "*.material", text = "󰔉", fg = "#626880" },
{ name = "*.md", text = "", fg = "#f2d5cf" },
{ name = "*.md5", text = "󰕥", fg = "#838ba7" },
{ name = "*.mdx", text = "", fg = "#85c1dc" },
{ name = "*.mint", text = "󰌪", fg = "#a6d189" },
{ name = "*.mjs", text = "", fg = "#e5c890" },
{ name = "*.mk", text = "", fg = "#737994" },
{ name = "*.mkv", text = "", fg = "#ef9f76" },
{ name = "*.ml", text = "", fg = "#ef9f76" },
{ name = "*.mli", text = "", fg = "#ef9f76" },
{ name = "*.mm", text = "", fg = "#85c1dc" },
{ name = "*.mo", text = "∞", fg = "#838ba7" },
{ name = "*.mobi", text = "", fg = "#e5c890" },
{ name = "*.mojo", text = "", fg = "#ef9f76" },
{ name = "*.mov", text = "", fg = "#ef9f76" },
{ name = "*.mp3", text = "", fg = "#85c1dc" },
{ name = "*.mp4", text = "", fg = "#ef9f76" },
{ name = "*.mpp", text = "", fg = "#85c1dc" },
{ name = "*.msf", text = "", fg = "#8caaee" },
{ name = "*.mts", text = "", fg = "#85c1dc" },
{ name = "*.mustache", text = "", fg = "#ef9f76" },
{ name = "*.nfo", text = "", fg = "#e5c890" },
{ name = "*.nim", text = "", fg = "#e5c890" },
{ name = "*.nix", text = "", fg = "#85c1dc" },
{ name = "*.nswag", text = "", fg = "#a6d189" },
{ name = "*.nu", text = ">", fg = "#81c8be" },
{ name = "*.o", text = "", fg = "#414559" },
{ name = "*.obj", text = "󰆧", fg = "#838ba7" },
{ name = "*.ogg", text = "", fg = "#626880" },
{ name = "*.opus", text = "", fg = "#626880" },
{ name = "*.org", text = "", fg = "#81c8be" },
{ name = "*.otf", text = "", fg = "#f2d5cf" },
{ name = "*.out", text = "", fg = "#414559" },
{ name = "*.part", text = "", fg = "#81c8be" },
{ name = "*.patch", text = "", fg = "#51576d" },
{ name = "*.pck", text = "", fg = "#737994" },
{ name = "*.pcm", text = "", fg = "#626880" },
{ name = "*.pdf", text = "", fg = "#e78284" },
{ name = "*.php", text = "", fg = "#ca9ee6" },
{ name = "*.pl", text = "", fg = "#85c1dc" },
{ name = "*.pls", text = "󰲹", fg = "#ea999c" },
{ name = "*.ply", text = "󰆧", fg = "#838ba7" },
{ name = "*.pm", text = "", fg = "#85c1dc" },
{ name = "*.png", text = "", fg = "#ca9ee6" },
{ name = "*.po", text = "", fg = "#85c1dc" },
{ name = "*.pot", text = "", fg = "#85c1dc" },
{ name = "*.pp", text = "", fg = "#e5c890" },
{ name = "*.ppt", text = "󰈧", fg = "#e78284" },
{ name = "*.prisma", text = "", fg = "#737994" },
{ name = "*.pro", text = "", fg = "#e5c890" },
{ name = "*.ps1", text = "󰨊", fg = "#737994" },
{ name = "*.psb", text = "", fg = "#85c1dc" },
{ name = "*.psd", text = "", fg = "#85c1dc" },
{ name = "*.psd1", text = "󰨊", fg = "#737994" },
{ name = "*.psm1", text = "󰨊", fg = "#737994" },
{ name = "*.pub", text = "󰷖", fg = "#e5c890" },
{ name = "*.pxd", text = "", fg = "#8caaee" },
{ name = "*.pxi", text = "", fg = "#8caaee" },
{ name = "*.py", text = "", fg = "#e5c890" },
{ name = "*.pyc", text = "", fg = "#e5c890" },
{ name = "*.pyd", text = "", fg = "#e5c890" },
{ name = "*.pyi", text = "", fg = "#e5c890" },
{ name = "*.pyo", text = "", fg = "#e5c890" },
{ name = "*.pyx", text = "", fg = "#8caaee" },
{ name = "*.qm", text = "", fg = "#85c1dc" },
{ name = "*.qml", text = "", fg = "#a6d189" },
{ name = "*.qrc", text = "", fg = "#a6d189" },
{ name = "*.qss", text = "", fg = "#a6d189" },
{ name = "*.query", text = "", fg = "#a6d189" },
{ name = "*.r", text = "󰟔", fg = "#626880" },
{ name = "*.rake", text = "", fg = "#292c3c" },
{ name = "*.rar", text = "", fg = "#e5c890" },
{ name = "*.razor", text = "󱦘", fg = "#51576d" },
{ name = "*.rb", text = "", fg = "#292c3c" },
{ name = "*.res", text = "", fg = "#e78284" },
{ name = "*.resi", text = "", fg = "#e78284" },
{ name = "*.rlib", text = "", fg = "#ef9f76" },
{ name = "*.rmd", text = "", fg = "#85c1dc" },
{ name = "*.rproj", text = "󰗆", fg = "#81c8be" },
{ name = "*.rs", text = "", fg = "#ef9f76" },
{ name = "*.rss", text = "", fg = "#ef9f76" },
{ name = "*.sass", text = "", fg = "#e78284" },
{ name = "*.sbt", text = "", fg = "#e78284" },
{ name = "*.sc", text = "", fg = "#e78284" },
{ name = "*.scad", text = "", fg = "#e5c890" },
{ name = "*.scala", text = "", fg = "#e78284" },
{ name = "*.scm", text = "󰘧", fg = "#f2d5cf" },
{ name = "*.scss", text = "", fg = "#e78284" },
{ name = "*.sh", text = "", fg = "#51576d" },
{ name = "*.sha1", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha224", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha256", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha384", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha512", text = "󰕥", fg = "#838ba7" },
{ name = "*.sig", text = "λ", fg = "#ef9f76" },
{ name = "*.signature", text = "λ", fg = "#ef9f76" },
{ name = "*.skp", text = "󰻫", fg = "#a6d189" },
{ name = "*.sldasm", text = "󰻫", fg = "#a6d189" },
{ name = "*.sldprt", text = "󰻫", fg = "#a6d189" },
{ name = "*.slim", text = "", fg = "#e78284" },
{ name = "*.sln", text = "", fg = "#626880" },
{ name = "*.slvs", text = "󰻫", fg = "#a6d189" },
{ name = "*.sml", text = "λ", fg = "#ef9f76" },
{ name = "*.so", text = "", fg = "#f2d5cf" },
{ name = "*.sol", text = "", fg = "#85c1dc" },
{ name = "*.spec.js", text = "", fg = "#e5c890" },
{ name = "*.spec.jsx", text = "", fg = "#85c1dc" },
{ name = "*.spec.ts", text = "", fg = "#85c1dc" },
{ name = "*.spec.tsx", text = "", fg = "#51576d" },
{ name = "*.sql", text = "", fg = "#f2d5cf" },
{ name = "*.sqlite", text = "", fg = "#f2d5cf" },
{ name = "*.sqlite3", text = "", fg = "#f2d5cf" },
{ name = "*.srt", text = "󰨖", fg = "#e5c890" },
{ name = "*.ssa", text = "󰨖", fg = "#e5c890" },
{ name = "*.ste", text = "󰻫", fg = "#a6d189" },
{ name = "*.step", text = "󰻫", fg = "#a6d189" },
{ name = "*.stl", text = "󰆧", fg = "#838ba7" },
{ name = "*.stp", text = "󰻫", fg = "#a6d189" },
{ name = "*.strings", text = "", fg = "#85c1dc" },
{ name = "*.styl", text = "", fg = "#a6d189" },
{ name = "*.sub", text = "󰨖", fg = "#e5c890" },
{ name = "*.sublime", text = "", fg = "#ef9f76" },
{ name = "*.suo", text = "", fg = "#626880" },
{ name = "*.sv", text = "󰍛", fg = "#a6d189" },
{ name = "*.svelte", text = "", fg = "#ef9f76" },
{ name = "*.svg", text = "󰜡", fg = "#e5c890" },
{ name = "*.svh", text = "󰍛", fg = "#a6d189" },
{ name = "*.swift", text = "", fg = "#ef9f76" },
{ name = "*.t", text = "", fg = "#85c1dc" },
{ name = "*.tbc", text = "󰛓", fg = "#51576d" },
{ name = "*.tcl", text = "󰛓", fg = "#51576d" },
{ name = "*.templ", text = "", fg = "#e5c890" },
{ name = "*.terminal", text = "", fg = "#a6d189" },
{ name = "*.test.js", text = "", fg = "#e5c890" },
{ name = "*.test.jsx", text = "", fg = "#85c1dc" },
{ name = "*.test.ts", text = "", fg = "#85c1dc" },
{ name = "*.test.tsx", text = "", fg = "#51576d" },
{ name = "*.tex", text = "", fg = "#414559" },
{ name = "*.tf", text = "", fg = "#626880" },
{ name = "*.tfvars", text = "", fg = "#626880" },
{ name = "*.tgz", text = "", fg = "#e5c890" },
{ name = "*.tmux", text = "", fg = "#a6d189" },
{ name = "*.toml", text = "", fg = "#e78284" },
{ name = "*.torrent", text = "", fg = "#81c8be" },
{ name = "*.tres", text = "", fg = "#737994" },
{ name = "*.ts", text = "", fg = "#85c1dc" },
{ name = "*.tscn", text = "", fg = "#737994" },
{ name = "*.tsconfig", text = "", fg = "#ef9f76" },
{ name = "*.tsx", text = "", fg = "#51576d" },
{ name = "*.ttf", text = "", fg = "#f2d5cf" },
{ name = "*.twig", text = "", fg = "#a6d189" },
{ name = "*.txt", text = "󰈙", fg = "#a6d189" },
{ name = "*.txz", text = "", fg = "#e5c890" },
{ name = "*.typoscript", text = "", fg = "#ef9f76" },
{ name = "*.ui", text = "", fg = "#303446" },
{ name = "*.v", text = "󰍛", fg = "#a6d189" },
{ name = "*.vala", text = "", fg = "#51576d" },
{ name = "*.vh", text = "󰍛", fg = "#a6d189" },
{ name = "*.vhd", text = "󰍛", fg = "#a6d189" },
{ name = "*.vhdl", text = "󰍛", fg = "#a6d189" },
{ name = "*.vim", text = "", fg = "#a6d189" },
{ name = "*.vsh", text = "", fg = "#838ba7" },
{ name = "*.vsix", text = "", fg = "#626880" },
{ name = "*.vue", text = "", fg = "#a6d189" },
{ name = "*.wasm", text = "", fg = "#626880" },
{ name = "*.wav", text = "", fg = "#85c1dc" },
{ name = "*.webm", text = "", fg = "#ef9f76" },
{ name = "*.webmanifest", text = "", fg = "#e5c890" },
{ name = "*.webp", text = "", fg = "#ca9ee6" },
{ name = "*.webpack", text = "󰜫", fg = "#85c1dc" },
{ name = "*.wma", text = "", fg = "#85c1dc" },
{ name = "*.woff", text = "", fg = "#f2d5cf" },
{ name = "*.woff2", text = "", fg = "#f2d5cf" },
{ name = "*.wrl", text = "󰆧", fg = "#838ba7" },
{ name = "*.wrz", text = "󰆧", fg = "#838ba7" },
{ name = "*.x", text = "", fg = "#8caaee" },
{ name = "*.xaml", text = "󰙳", fg = "#51576d" },
{ name = "*.xcf", text = "", fg = "#51576d" },
{ name = "*.xcplayground", text = "", fg = "#ef9f76" },
{ name = "*.xcstrings", text = "", fg = "#85c1dc" },
{ name = "*.xls", text = "󰈛", fg = "#51576d" },
{ name = "*.xlsx", text = "󰈛", fg = "#51576d" },
{ name = "*.xm", text = "", fg = "#85c1dc" },
{ name = "*.xml", text = "󰗀", fg = "#ef9f76" },
{ name = "*.xpi", text = "", fg = "#e78284" },
{ name = "*.xul", text = "", fg = "#ef9f76" },
{ name = "*.xz", text = "", fg = "#e5c890" },
{ name = "*.yaml", text = "", fg = "#737994" },
{ name = "*.yml", text = "", fg = "#737994" },
{ name = "*.zig", text = "", fg = "#ef9f76" },
{ name = "*.zip", text = "", fg = "#e5c890" },
{ name = "*.zsh", text = "", fg = "#a6d189" },
{ name = "*.zst", text = "", fg = "#e5c890" },
{ name = "*.🔥", text = "", fg = "#ef9f76" },
]

View File

@@ -0,0 +1,665 @@
[manager]
cwd = { fg = "#81c8be" }
# Hovered
hovered = { fg = "#303446", bg = "#8caaee" }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#e5c890", italic = true }
find_position = { fg = "#f4b8e4", bg = "reset", italic = true }
# Marker
marker_copied = { fg = "#a6d189", bg = "#a6d189" }
marker_cut = { fg = "#e78284", bg = "#e78284" }
marker_selected = { fg = "#8caaee", bg = "#8caaee" }
# Tab
tab_active = { fg = "#303446", bg = "#c6d0f5" }
tab_inactive = { fg = "#c6d0f5", bg = "#51576d" }
tab_width = 1
# Count
count_copied = { fg = "#303446", bg = "#a6d189" }
count_cut = { fg = "#303446", bg = "#e78284" }
count_selected = { fg = "#303446", bg = "#8caaee" }
# Border
border_symbol = "│"
border_style = { fg = "#838ba7" }
# Highlighting
syntect_theme = "~/.config/yazi/Catppuccin-frappe.tmTheme"
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "#51576d", bg = "#51576d" }
# Mode
mode_normal = { fg = "#303446", bg = "#8caaee", bold = true }
mode_select = { fg = "#303446", bg = "#a6d189", bold = true }
mode_unset = { fg = "#303446", bg = "#eebebe", bold = true }
# Progress
progress_label = { fg = "#ffffff", bold = true }
progress_normal = { fg = "#8caaee", bg = "#51576d" }
progress_error = { fg = "#e78284", bg = "#51576d" }
# Permissions
permissions_t = { fg = "#8caaee" }
permissions_r = { fg = "#e5c890" }
permissions_w = { fg = "#e78284" }
permissions_x = { fg = "#a6d189" }
permissions_s = { fg = "#838ba7" }
[input]
border = { fg = "#8caaee" }
title = {}
value = {}
selected = { reversed = true }
[select]
border = { fg = "#8caaee" }
active = { fg = "#f4b8e4" }
inactive = {}
[tasks]
border = { fg = "#8caaee" }
title = {}
hovered = { underline = true }
[which]
mask = { bg = "#414559" }
cand = { fg = "#81c8be" }
rest = { fg = "#949cbb" }
desc = { fg = "#f4b8e4" }
separator = "  "
separator_style = { fg = "#626880" }
[help]
on = { fg = "#f4b8e4" }
exec = { fg = "#81c8be" }
desc = { fg = "#949cbb" }
hovered = { bg = "#626880", bold = true }
footer = { fg = "#51576d", bg = "#c6d0f5" }
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#81c8be" },
# Videos
{ mime = "video/*", fg = "#e5c890" },
{ mime = "audio/*", fg = "#e5c890" },
# Archives
{ mime = "application/zip", fg = "#f4b8e4" },
{ mime = "application/gzip", fg = "#f4b8e4" },
{ mime = "application/x-tar", fg = "#f4b8e4" },
{ mime = "application/x-bzip", fg = "#f4b8e4" },
{ mime = "application/x-bzip2", fg = "#f4b8e4" },
{ mime = "application/x-7z-compressed", fg = "#f4b8e4" },
{ mime = "application/x-rar", fg = "#f4b8e4" },
# Fallback
{ name = "*", fg = "#c6d0f5" },
{ name = "*/", fg = "#8caaee" }
]
[icon]
prepend_rules = [
{ name = ".SRCINFO", text = "󰣇", fg = "#8caaee" },
{ name = ".Xauthority", text = "", fg = "#ef9f76" },
{ name = ".Xresources", text = "", fg = "#ef9f76" },
{ name = ".babelrc", text = "", fg = "#e5c890" },
{ name = ".bash_profile", text = "", fg = "#a6d189" },
{ name = ".bashrc", text = "", fg = "#a6d189" },
{ name = ".dockerignore", text = "󰡨", fg = "#8caaee" },
{ name = ".ds_store", text = "", fg = "#51576d" },
{ name = ".editorconfig", text = "", fg = "#f2d5cf" },
{ name = ".env", text = "", fg = "#e5c890" },
{ name = ".eslintignore", text = "", fg = "#51576d" },
{ name = ".eslintrc", text = "", fg = "#51576d" },
{ name = ".gitattributes", text = "", fg = "#e78284" },
{ name = ".gitconfig", text = "", fg = "#e78284" },
{ name = ".gitignore", text = "", fg = "#e78284" },
{ name = ".gitlab-ci.yml", text = "", fg = "#e78284" },
{ name = ".gitmodules", text = "", fg = "#e78284" },
{ name = ".gtkrc-2.0", text = "", fg = "#f2d5cf" },
{ name = ".gvimrc", text = "", fg = "#a6d189" },
{ name = ".justfile", text = "", fg = "#737994" },
{ name = ".luaurc", text = "", fg = "#8caaee" },
{ name = ".mailmap", text = "󰊢", fg = "#51576d" },
{ name = ".npmignore", text = "", fg = "#e78284" },
{ name = ".npmrc", text = "", fg = "#e78284" },
{ name = ".nvmrc", text = "", fg = "#a6d189" },
{ name = ".prettierrc", text = "", fg = "#8caaee" },
{ name = ".settings.json", text = "", fg = "#626880" },
{ name = ".vimrc", text = "", fg = "#a6d189" },
{ name = ".xinitrc", text = "", fg = "#ef9f76" },
{ name = ".xsession", text = "", fg = "#ef9f76" },
{ name = ".zprofile", text = "", fg = "#a6d189" },
{ name = ".zshenv", text = "", fg = "#a6d189" },
{ name = ".zshrc", text = "", fg = "#a6d189" },
{ name = "FreeCAD.conf", text = "", fg = "#e78284" },
{ name = "PKGBUILD", text = "", fg = "#8caaee" },
{ name = "PrusaSlicer.ini", text = "", fg = "#ef9f76" },
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#ef9f76" },
{ name = "QtProject.conf", text = "", fg = "#a6d189" },
{ name = "R", text = "󰟔", fg = "#626880" },
{ name = "_gvimrc", text = "", fg = "#a6d189" },
{ name = "_vimrc", text = "", fg = "#a6d189" },
{ name = "avif", text = "", fg = "#ca9ee6" },
{ name = "brewfile", text = "", fg = "#292c3c" },
{ name = "bspwmrc", text = "", fg = "#232634" },
{ name = "build", text = "", fg = "#a6d189" },
{ name = "build.gradle", text = "", fg = "#51576d" },
{ name = "build.zig.zon", text = "", fg = "#ef9f76" },
{ name = "cantorrc", text = "", fg = "#8caaee" },
{ name = "checkhealth", text = "󰓙", fg = "#8caaee" },
{ name = "cmakelists.txt", text = "", fg = "#737994" },
{ name = "commit_editmsg", text = "", fg = "#e78284" },
{ name = "compose.yaml", text = "󰡨", fg = "#8caaee" },
{ name = "compose.yml", text = "󰡨", fg = "#8caaee" },
{ name = "config", text = "", fg = "#737994" },
{ name = "containerfile", text = "󰡨", fg = "#8caaee" },
{ name = "copying", text = "", fg = "#e5c890" },
{ name = "copying.lesser", text = "", fg = "#e5c890" },
{ name = "docker-compose.yaml", text = "󰡨", fg = "#8caaee" },
{ name = "docker-compose.yml", text = "󰡨", fg = "#8caaee" },
{ name = "dockerfile", text = "󰡨", fg = "#8caaee" },
{ name = "ext_typoscript_setup.txt", text = "", fg = "#ef9f76" },
{ name = "favicon.ico", text = "", fg = "#e5c890" },
{ name = "fp-info-cache", text = "", fg = "#f2d5cf" },
{ name = "fp-lib-table", text = "", fg = "#f2d5cf" },
{ name = "gemfile$", text = "", fg = "#292c3c" },
{ name = "gnumakefile", text = "", fg = "#737994" },
{ name = "gradle-wrapper.properties", text = "", fg = "#51576d" },
{ name = "gradle.properties", text = "", fg = "#51576d" },
{ name = "gradlew", text = "", fg = "#51576d" },
{ name = "groovy", text = "", fg = "#626880" },
{ name = "gruntfile.babel.js", text = "", fg = "#ef9f76" },
{ name = "gruntfile.coffee", text = "", fg = "#ef9f76" },
{ name = "gruntfile.js", text = "", fg = "#ef9f76" },
{ name = "gruntfile.ts", text = "", fg = "#ef9f76" },
{ name = "gtkrc", text = "", fg = "#f2d5cf" },
{ name = "gulpfile.babel.js", text = "", fg = "#e78284" },
{ name = "gulpfile.coffee", text = "", fg = "#e78284" },
{ name = "gulpfile.js", text = "", fg = "#e78284" },
{ name = "gulpfile.ts", text = "", fg = "#e78284" },
{ name = "hyprland.conf", text = "", fg = "#81c8be" },
{ name = "i3blocks.conf", text = "", fg = "#c6d0f5" },
{ name = "i3status.conf", text = "", fg = "#c6d0f5" },
{ name = "justfile", text = "", fg = "#737994" },
{ name = "kalgebrarc", text = "", fg = "#8caaee" },
{ name = "kdeglobals", text = "", fg = "#8caaee" },
{ name = "kdenlive-layoutsrc", text = "", fg = "#8caaee" },
{ name = "kdenliverc", text = "", fg = "#8caaee" },
{ name = "kritadisplayrc", text = "", fg = "#ca9ee6" },
{ name = "kritarc", text = "", fg = "#ca9ee6" },
{ name = "license", text = "", fg = "#e5c890" },
{ name = "lxde-rc.xml", text = "", fg = "#838ba7" },
{ name = "lxqt.conf", text = "", fg = "#8caaee" },
{ name = "makefile", text = "", fg = "#737994" },
{ name = "mix.lock", text = "", fg = "#ca9ee6" },
{ name = "mpv.conf", text = "", fg = "#292c3c" },
{ name = "node_modules", text = "", fg = "#e78284" },
{ name = "package-lock.json", text = "", fg = "#292c3c" },
{ name = "package.json", text = "", fg = "#e78284" },
{ name = "platformio.ini", text = "", fg = "#ef9f76" },
{ name = "pom.xml", text = "", fg = "#292c3c" },
{ name = "procfile", text = "", fg = "#ca9ee6" },
{ name = "py.typed", text = "", fg = "#e5c890" },
{ name = "r", text = "󰟔", fg = "#626880" },
{ name = "rakefile", text = "", fg = "#292c3c" },
{ name = "rmd", text = "", fg = "#85c1dc" },
{ name = "settings.gradle", text = "", fg = "#51576d" },
{ name = "svelte.config.js", text = "", fg = "#ef9f76" },
{ name = "sxhkdrc", text = "", fg = "#232634" },
{ name = "sym-lib-table", text = "", fg = "#f2d5cf" },
{ name = "tailwind.config.js", text = "󱏿", fg = "#85c1dc" },
{ name = "tailwind.config.mjs", text = "󱏿", fg = "#85c1dc" },
{ name = "tailwind.config.ts", text = "󱏿", fg = "#85c1dc" },
{ name = "tmux.conf", text = "", fg = "#a6d189" },
{ name = "tmux.conf.local", text = "", fg = "#a6d189" },
{ name = "tsconfig.json", text = "", fg = "#85c1dc" },
{ name = "unlicense", text = "", fg = "#e5c890" },
{ name = "vagrantfile$", text = "", fg = "#626880" },
{ name = "vlcrc", text = "󰕼", fg = "#ef9f76" },
{ name = "webpack", text = "󰜫", fg = "#85c1dc" },
{ name = "weston.ini", text = "", fg = "#e5c890" },
{ name = "workspace", text = "", fg = "#a6d189" },
{ name = "xmobarrc", text = "", fg = "#e78284" },
{ name = "xmobarrc.hs", text = "", fg = "#e78284" },
{ name = "xmonad.hs", text = "", fg = "#e78284" },
{ name = "xorg.conf", text = "", fg = "#ef9f76" },
{ name = "xsettingsd.conf", text = "", fg = "#ef9f76" },
{ name = "*.3gp", text = "", fg = "#ef9f76" },
{ name = "*.3mf", text = "󰆧", fg = "#838ba7" },
{ name = "*.7z", text = "", fg = "#e5c890" },
{ name = "*.Dockerfile", text = "󰡨", fg = "#8caaee" },
{ name = "*.a", text = "", fg = "#f2d5cf" },
{ name = "*.aac", text = "", fg = "#85c1dc" },
{ name = "*.ai", text = "", fg = "#e5c890" },
{ name = "*.aif", text = "", fg = "#85c1dc" },
{ name = "*.aiff", text = "", fg = "#85c1dc" },
{ name = "*.android", text = "", fg = "#a6d189" },
{ name = "*.ape", text = "", fg = "#85c1dc" },
{ name = "*.apk", text = "", fg = "#a6d189" },
{ name = "*.app", text = "", fg = "#414559" },
{ name = "*.applescript", text = "", fg = "#737994" },
{ name = "*.asc", text = "󰦝", fg = "#626880" },
{ name = "*.ass", text = "󰨖", fg = "#e5c890" },
{ name = "*.astro", text = "", fg = "#e78284" },
{ name = "*.awk", text = "", fg = "#51576d" },
{ name = "*.azcli", text = "", fg = "#737994" },
{ name = "*.bak", text = "󰁯", fg = "#737994" },
{ name = "*.bash", text = "", fg = "#a6d189" },
{ name = "*.bat", text = "", fg = "#a6d189" },
{ name = "*.bazel", text = "", fg = "#a6d189" },
{ name = "*.bib", text = "󱉟", fg = "#e5c890" },
{ name = "*.bicep", text = "", fg = "#85c1dc" },
{ name = "*.bicepparam", text = "", fg = "#ca9ee6" },
{ name = "*.bin", text = "", fg = "#414559" },
{ name = "*.blade.php", text = "", fg = "#e78284" },
{ name = "*.blend", text = "󰂫", fg = "#ef9f76" },
{ name = "*.blp", text = "󰺾", fg = "#8caaee" },
{ name = "*.bmp", text = "", fg = "#ca9ee6" },
{ name = "*.brep", text = "󰻫", fg = "#a6d189" },
{ name = "*.bz", text = "", fg = "#e5c890" },
{ name = "*.bz2", text = "", fg = "#e5c890" },
{ name = "*.bz3", text = "", fg = "#e5c890" },
{ name = "*.bzl", text = "", fg = "#a6d189" },
{ name = "*.c", text = "", fg = "#8caaee" },
{ name = "*.c++", text = "", fg = "#e78284" },
{ name = "*.cache", text = "", fg = "#f2d5cf" },
{ name = "*.cast", text = "", fg = "#ef9f76" },
{ name = "*.cbl", text = "⚙", fg = "#51576d" },
{ name = "*.cc", text = "", fg = "#e78284" },
{ name = "*.ccm", text = "", fg = "#e78284" },
{ name = "*.cfg", text = "", fg = "#737994" },
{ name = "*.cjs", text = "", fg = "#e5c890" },
{ name = "*.clj", text = "", fg = "#a6d189" },
{ name = "*.cljc", text = "", fg = "#a6d189" },
{ name = "*.cljd", text = "", fg = "#85c1dc" },
{ name = "*.cljs", text = "", fg = "#85c1dc" },
{ name = "*.cmake", text = "", fg = "#737994" },
{ name = "*.cob", text = "⚙", fg = "#51576d" },
{ name = "*.cobol", text = "⚙", fg = "#51576d" },
{ name = "*.coffee", text = "", fg = "#e5c890" },
{ name = "*.conf", text = "", fg = "#737994" },
{ name = "*.config.ru", text = "", fg = "#292c3c" },
{ name = "*.cp", text = "", fg = "#85c1dc" },
{ name = "*.cpp", text = "", fg = "#85c1dc" },
{ name = "*.cppm", text = "", fg = "#85c1dc" },
{ name = "*.cpy", text = "⚙", fg = "#51576d" },
{ name = "*.cr", text = "", fg = "#f2d5cf" },
{ name = "*.crdownload", text = "", fg = "#81c8be" },
{ name = "*.cs", text = "󰌛", fg = "#a6d189" },
{ name = "*.csh", text = "", fg = "#51576d" },
{ name = "*.cshtml", text = "󱦗", fg = "#51576d" },
{ name = "*.cson", text = "", fg = "#e5c890" },
{ name = "*.csproj", text = "󰪮", fg = "#51576d" },
{ name = "*.css", text = "", fg = "#8caaee" },
{ name = "*.csv", text = "", fg = "#a6d189" },
{ name = "*.cts", text = "", fg = "#85c1dc" },
{ name = "*.cu", text = "", fg = "#a6d189" },
{ name = "*.cue", text = "󰲹", fg = "#ea999c" },
{ name = "*.cuh", text = "", fg = "#ca9ee6" },
{ name = "*.cxx", text = "", fg = "#85c1dc" },
{ name = "*.cxxm", text = "", fg = "#85c1dc" },
{ name = "*.d", text = "", fg = "#a6d189" },
{ name = "*.d.ts", text = "", fg = "#ef9f76" },
{ name = "*.dart", text = "", fg = "#51576d" },
{ name = "*.db", text = "", fg = "#f2d5cf" },
{ name = "*.dconf", text = "", fg = "#f2d5cf" },
{ name = "*.desktop", text = "", fg = "#414559" },
{ name = "*.diff", text = "", fg = "#51576d" },
{ name = "*.dll", text = "", fg = "#232634" },
{ name = "*.doc", text = "󰈬", fg = "#51576d" },
{ name = "*.docx", text = "󰈬", fg = "#51576d" },
{ name = "*.dot", text = "󱁉", fg = "#51576d" },
{ name = "*.download", text = "", fg = "#81c8be" },
{ name = "*.drl", text = "", fg = "#ea999c" },
{ name = "*.dropbox", text = "", fg = "#626880" },
{ name = "*.dump", text = "", fg = "#f2d5cf" },
{ name = "*.dwg", text = "󰻫", fg = "#a6d189" },
{ name = "*.dxf", text = "󰻫", fg = "#a6d189" },
{ name = "*.ebook", text = "", fg = "#e5c890" },
{ name = "*.edn", text = "", fg = "#85c1dc" },
{ name = "*.eex", text = "", fg = "#ca9ee6" },
{ name = "*.ejs", text = "", fg = "#e5c890" },
{ name = "*.el", text = "", fg = "#737994" },
{ name = "*.elc", text = "", fg = "#737994" },
{ name = "*.elf", text = "", fg = "#414559" },
{ name = "*.elm", text = "", fg = "#85c1dc" },
{ name = "*.eln", text = "", fg = "#737994" },
{ name = "*.env", text = "", fg = "#e5c890" },
{ name = "*.eot", text = "", fg = "#f2d5cf" },
{ name = "*.epp", text = "", fg = "#e5c890" },
{ name = "*.epub", text = "", fg = "#e5c890" },
{ name = "*.erb", text = "", fg = "#292c3c" },
{ name = "*.erl", text = "", fg = "#626880" },
{ name = "*.ex", text = "", fg = "#ca9ee6" },
{ name = "*.exe", text = "", fg = "#414559" },
{ name = "*.exs", text = "", fg = "#ca9ee6" },
{ name = "*.f#", text = "", fg = "#85c1dc" },
{ name = "*.f3d", text = "󰻫", fg = "#a6d189" },
{ name = "*.f90", text = "󱈚", fg = "#51576d" },
{ name = "*.fbx", text = "󰆧", fg = "#838ba7" },
{ name = "*.fcbak", text = "", fg = "#e78284" },
{ name = "*.fcmacro", text = "", fg = "#e78284" },
{ name = "*.fcmat", text = "", fg = "#e78284" },
{ name = "*.fcparam", text = "", fg = "#e78284" },
{ name = "*.fcscript", text = "", fg = "#e78284" },
{ name = "*.fcstd", text = "", fg = "#e78284" },
{ name = "*.fcstd1", text = "", fg = "#e78284" },
{ name = "*.fctb", text = "", fg = "#e78284" },
{ name = "*.fctl", text = "", fg = "#e78284" },
{ name = "*.fdmdownload", text = "", fg = "#81c8be" },
{ name = "*.fish", text = "", fg = "#51576d" },
{ name = "*.flac", text = "", fg = "#626880" },
{ name = "*.flc", text = "", fg = "#f2d5cf" },
{ name = "*.flf", text = "", fg = "#f2d5cf" },
{ name = "*.fnl", text = "", fg = "#e5c890" },
{ name = "*.fs", text = "", fg = "#85c1dc" },
{ name = "*.fsi", text = "", fg = "#85c1dc" },
{ name = "*.fsscript", text = "", fg = "#85c1dc" },
{ name = "*.fsx", text = "", fg = "#85c1dc" },
{ name = "*.gcode", text = "󰐫", fg = "#626880" },
{ name = "*.gd", text = "", fg = "#737994" },
{ name = "*.gemspec", text = "", fg = "#292c3c" },
{ name = "*.gif", text = "", fg = "#ca9ee6" },
{ name = "*.git", text = "", fg = "#e78284" },
{ name = "*.glb", text = "", fg = "#e5c890" },
{ name = "*.gnumakefile", text = "", fg = "#737994" },
{ name = "*.go", text = "", fg = "#85c1dc" },
{ name = "*.godot", text = "", fg = "#737994" },
{ name = "*.gql", text = "", fg = "#ca9ee6" },
{ name = "*.graphql", text = "", fg = "#ca9ee6" },
{ name = "*.gresource", text = "", fg = "#f2d5cf" },
{ name = "*.gv", text = "󱁉", fg = "#51576d" },
{ name = "*.gz", text = "", fg = "#e5c890" },
{ name = "*.h", text = "", fg = "#ca9ee6" },
{ name = "*.haml", text = "", fg = "#f2d5cf" },
{ name = "*.hbs", text = "", fg = "#ef9f76" },
{ name = "*.heex", text = "", fg = "#ca9ee6" },
{ name = "*.hex", text = "", fg = "#626880" },
{ name = "*.hh", text = "", fg = "#ca9ee6" },
{ name = "*.hpp", text = "", fg = "#ca9ee6" },
{ name = "*.hrl", text = "", fg = "#626880" },
{ name = "*.hs", text = "", fg = "#ca9ee6" },
{ name = "*.htm", text = "", fg = "#e78284" },
{ name = "*.html", text = "", fg = "#e78284" },
{ name = "*.huff", text = "󰡘", fg = "#51576d" },
{ name = "*.hurl", text = "", fg = "#e78284" },
{ name = "*.hx", text = "", fg = "#ef9f76" },
{ name = "*.hxx", text = "", fg = "#ca9ee6" },
{ name = "*.ical", text = "", fg = "#303446" },
{ name = "*.icalendar", text = "", fg = "#303446" },
{ name = "*.ico", text = "", fg = "#e5c890" },
{ name = "*.ics", text = "", fg = "#303446" },
{ name = "*.ifb", text = "", fg = "#303446" },
{ name = "*.ifc", text = "󰻫", fg = "#a6d189" },
{ name = "*.ige", text = "󰻫", fg = "#a6d189" },
{ name = "*.iges", text = "󰻫", fg = "#a6d189" },
{ name = "*.igs", text = "󰻫", fg = "#a6d189" },
{ name = "*.image", text = "", fg = "#f2d5cf" },
{ name = "*.img", text = "", fg = "#f2d5cf" },
{ name = "*.import", text = "", fg = "#f2d5cf" },
{ name = "*.info", text = "", fg = "#e5c890" },
{ name = "*.ini", text = "", fg = "#737994" },
{ name = "*.ino", text = "", fg = "#85c1dc" },
{ name = "*.ipynb", text = "", fg = "#85c1dc" },
{ name = "*.iso", text = "", fg = "#f2d5cf" },
{ name = "*.ixx", text = "", fg = "#85c1dc" },
{ name = "*.java", text = "", fg = "#e78284" },
{ name = "*.jl", text = "", fg = "#ca9ee6" },
{ name = "*.jpeg", text = "", fg = "#ca9ee6" },
{ name = "*.jpg", text = "", fg = "#ca9ee6" },
{ name = "*.js", text = "", fg = "#e5c890" },
{ name = "*.json", text = "", fg = "#e5c890" },
{ name = "*.json5", text = "", fg = "#e5c890" },
{ name = "*.jsonc", text = "", fg = "#e5c890" },
{ name = "*.jsx", text = "", fg = "#85c1dc" },
{ name = "*.jwmrc", text = "", fg = "#737994" },
{ name = "*.jxl", text = "", fg = "#ca9ee6" },
{ name = "*.kbx", text = "󰯄", fg = "#626880" },
{ name = "*.kdb", text = "", fg = "#a6d189" },
{ name = "*.kdbx", text = "", fg = "#a6d189" },
{ name = "*.kdenlive", text = "", fg = "#8caaee" },
{ name = "*.kdenlivetitle", text = "", fg = "#8caaee" },
{ name = "*.kicad_dru", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_mod", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_pcb", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_prl", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_pro", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_sch", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_sym", text = "", fg = "#f2d5cf" },
{ name = "*.kicad_wks", text = "", fg = "#f2d5cf" },
{ name = "*.ko", text = "", fg = "#f2d5cf" },
{ name = "*.kpp", text = "", fg = "#ca9ee6" },
{ name = "*.kra", text = "", fg = "#ca9ee6" },
{ name = "*.krz", text = "", fg = "#ca9ee6" },
{ name = "*.ksh", text = "", fg = "#51576d" },
{ name = "*.kt", text = "", fg = "#737994" },
{ name = "*.kts", text = "", fg = "#737994" },
{ name = "*.lck", text = "", fg = "#b5bfe2" },
{ name = "*.leex", text = "", fg = "#ca9ee6" },
{ name = "*.less", text = "", fg = "#414559" },
{ name = "*.lff", text = "", fg = "#f2d5cf" },
{ name = "*.lhs", text = "", fg = "#ca9ee6" },
{ name = "*.lib", text = "", fg = "#232634" },
{ name = "*.license", text = "", fg = "#e5c890" },
{ name = "*.liquid", text = "", fg = "#a6d189" },
{ name = "*.lock", text = "", fg = "#b5bfe2" },
{ name = "*.log", text = "󰌱", fg = "#f2d5cf" },
{ name = "*.lrc", text = "󰨖", fg = "#e5c890" },
{ name = "*.lua", text = "", fg = "#85c1dc" },
{ name = "*.luac", text = "", fg = "#85c1dc" },
{ name = "*.luau", text = "", fg = "#8caaee" },
{ name = "*.m", text = "", fg = "#8caaee" },
{ name = "*.m3u", text = "󰲹", fg = "#ea999c" },
{ name = "*.m3u8", text = "󰲹", fg = "#ea999c" },
{ name = "*.m4a", text = "", fg = "#85c1dc" },
{ name = "*.m4v", text = "", fg = "#ef9f76" },
{ name = "*.magnet", text = "", fg = "#e78284" },
{ name = "*.makefile", text = "", fg = "#737994" },
{ name = "*.markdown", text = "", fg = "#f2d5cf" },
{ name = "*.material", text = "󰔉", fg = "#626880" },
{ name = "*.md", text = "", fg = "#f2d5cf" },
{ name = "*.md5", text = "󰕥", fg = "#838ba7" },
{ name = "*.mdx", text = "", fg = "#85c1dc" },
{ name = "*.mint", text = "󰌪", fg = "#a6d189" },
{ name = "*.mjs", text = "", fg = "#e5c890" },
{ name = "*.mk", text = "", fg = "#737994" },
{ name = "*.mkv", text = "", fg = "#ef9f76" },
{ name = "*.ml", text = "", fg = "#ef9f76" },
{ name = "*.mli", text = "", fg = "#ef9f76" },
{ name = "*.mm", text = "", fg = "#85c1dc" },
{ name = "*.mo", text = "∞", fg = "#838ba7" },
{ name = "*.mobi", text = "", fg = "#e5c890" },
{ name = "*.mojo", text = "", fg = "#ef9f76" },
{ name = "*.mov", text = "", fg = "#ef9f76" },
{ name = "*.mp3", text = "", fg = "#85c1dc" },
{ name = "*.mp4", text = "", fg = "#ef9f76" },
{ name = "*.mpp", text = "", fg = "#85c1dc" },
{ name = "*.msf", text = "", fg = "#8caaee" },
{ name = "*.mts", text = "", fg = "#85c1dc" },
{ name = "*.mustache", text = "", fg = "#ef9f76" },
{ name = "*.nfo", text = "", fg = "#e5c890" },
{ name = "*.nim", text = "", fg = "#e5c890" },
{ name = "*.nix", text = "", fg = "#85c1dc" },
{ name = "*.nswag", text = "", fg = "#a6d189" },
{ name = "*.nu", text = ">", fg = "#81c8be" },
{ name = "*.o", text = "", fg = "#414559" },
{ name = "*.obj", text = "󰆧", fg = "#838ba7" },
{ name = "*.ogg", text = "", fg = "#626880" },
{ name = "*.opus", text = "", fg = "#626880" },
{ name = "*.org", text = "", fg = "#81c8be" },
{ name = "*.otf", text = "", fg = "#f2d5cf" },
{ name = "*.out", text = "", fg = "#414559" },
{ name = "*.part", text = "", fg = "#81c8be" },
{ name = "*.patch", text = "", fg = "#51576d" },
{ name = "*.pck", text = "", fg = "#737994" },
{ name = "*.pcm", text = "", fg = "#626880" },
{ name = "*.pdf", text = "", fg = "#e78284" },
{ name = "*.php", text = "", fg = "#ca9ee6" },
{ name = "*.pl", text = "", fg = "#85c1dc" },
{ name = "*.pls", text = "󰲹", fg = "#ea999c" },
{ name = "*.ply", text = "󰆧", fg = "#838ba7" },
{ name = "*.pm", text = "", fg = "#85c1dc" },
{ name = "*.png", text = "", fg = "#ca9ee6" },
{ name = "*.po", text = "", fg = "#85c1dc" },
{ name = "*.pot", text = "", fg = "#85c1dc" },
{ name = "*.pp", text = "", fg = "#e5c890" },
{ name = "*.ppt", text = "󰈧", fg = "#e78284" },
{ name = "*.prisma", text = "", fg = "#737994" },
{ name = "*.pro", text = "", fg = "#e5c890" },
{ name = "*.ps1", text = "󰨊", fg = "#737994" },
{ name = "*.psb", text = "", fg = "#85c1dc" },
{ name = "*.psd", text = "", fg = "#85c1dc" },
{ name = "*.psd1", text = "󰨊", fg = "#737994" },
{ name = "*.psm1", text = "󰨊", fg = "#737994" },
{ name = "*.pub", text = "󰷖", fg = "#e5c890" },
{ name = "*.pxd", text = "", fg = "#8caaee" },
{ name = "*.pxi", text = "", fg = "#8caaee" },
{ name = "*.py", text = "", fg = "#e5c890" },
{ name = "*.pyc", text = "", fg = "#e5c890" },
{ name = "*.pyd", text = "", fg = "#e5c890" },
{ name = "*.pyi", text = "", fg = "#e5c890" },
{ name = "*.pyo", text = "", fg = "#e5c890" },
{ name = "*.pyx", text = "", fg = "#8caaee" },
{ name = "*.qm", text = "", fg = "#85c1dc" },
{ name = "*.qml", text = "", fg = "#a6d189" },
{ name = "*.qrc", text = "", fg = "#a6d189" },
{ name = "*.qss", text = "", fg = "#a6d189" },
{ name = "*.query", text = "", fg = "#a6d189" },
{ name = "*.r", text = "󰟔", fg = "#626880" },
{ name = "*.rake", text = "", fg = "#292c3c" },
{ name = "*.rar", text = "", fg = "#e5c890" },
{ name = "*.razor", text = "󱦘", fg = "#51576d" },
{ name = "*.rb", text = "", fg = "#292c3c" },
{ name = "*.res", text = "", fg = "#e78284" },
{ name = "*.resi", text = "", fg = "#e78284" },
{ name = "*.rlib", text = "", fg = "#ef9f76" },
{ name = "*.rmd", text = "", fg = "#85c1dc" },
{ name = "*.rproj", text = "󰗆", fg = "#81c8be" },
{ name = "*.rs", text = "", fg = "#ef9f76" },
{ name = "*.rss", text = "", fg = "#ef9f76" },
{ name = "*.sass", text = "", fg = "#e78284" },
{ name = "*.sbt", text = "", fg = "#e78284" },
{ name = "*.sc", text = "", fg = "#e78284" },
{ name = "*.scad", text = "", fg = "#e5c890" },
{ name = "*.scala", text = "", fg = "#e78284" },
{ name = "*.scm", text = "󰘧", fg = "#f2d5cf" },
{ name = "*.scss", text = "", fg = "#e78284" },
{ name = "*.sh", text = "", fg = "#51576d" },
{ name = "*.sha1", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha224", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha256", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha384", text = "󰕥", fg = "#838ba7" },
{ name = "*.sha512", text = "󰕥", fg = "#838ba7" },
{ name = "*.sig", text = "λ", fg = "#ef9f76" },
{ name = "*.signature", text = "λ", fg = "#ef9f76" },
{ name = "*.skp", text = "󰻫", fg = "#a6d189" },
{ name = "*.sldasm", text = "󰻫", fg = "#a6d189" },
{ name = "*.sldprt", text = "󰻫", fg = "#a6d189" },
{ name = "*.slim", text = "", fg = "#e78284" },
{ name = "*.sln", text = "", fg = "#626880" },
{ name = "*.slvs", text = "󰻫", fg = "#a6d189" },
{ name = "*.sml", text = "λ", fg = "#ef9f76" },
{ name = "*.so", text = "", fg = "#f2d5cf" },
{ name = "*.sol", text = "", fg = "#85c1dc" },
{ name = "*.spec.js", text = "", fg = "#e5c890" },
{ name = "*.spec.jsx", text = "", fg = "#85c1dc" },
{ name = "*.spec.ts", text = "", fg = "#85c1dc" },
{ name = "*.spec.tsx", text = "", fg = "#51576d" },
{ name = "*.sql", text = "", fg = "#f2d5cf" },
{ name = "*.sqlite", text = "", fg = "#f2d5cf" },
{ name = "*.sqlite3", text = "", fg = "#f2d5cf" },
{ name = "*.srt", text = "󰨖", fg = "#e5c890" },
{ name = "*.ssa", text = "󰨖", fg = "#e5c890" },
{ name = "*.ste", text = "󰻫", fg = "#a6d189" },
{ name = "*.step", text = "󰻫", fg = "#a6d189" },
{ name = "*.stl", text = "󰆧", fg = "#838ba7" },
{ name = "*.stp", text = "󰻫", fg = "#a6d189" },
{ name = "*.strings", text = "", fg = "#85c1dc" },
{ name = "*.styl", text = "", fg = "#a6d189" },
{ name = "*.sub", text = "󰨖", fg = "#e5c890" },
{ name = "*.sublime", text = "", fg = "#ef9f76" },
{ name = "*.suo", text = "", fg = "#626880" },
{ name = "*.sv", text = "󰍛", fg = "#a6d189" },
{ name = "*.svelte", text = "", fg = "#ef9f76" },
{ name = "*.svg", text = "󰜡", fg = "#e5c890" },
{ name = "*.svh", text = "󰍛", fg = "#a6d189" },
{ name = "*.swift", text = "", fg = "#ef9f76" },
{ name = "*.t", text = "", fg = "#85c1dc" },
{ name = "*.tbc", text = "󰛓", fg = "#51576d" },
{ name = "*.tcl", text = "󰛓", fg = "#51576d" },
{ name = "*.templ", text = "", fg = "#e5c890" },
{ name = "*.terminal", text = "", fg = "#a6d189" },
{ name = "*.test.js", text = "", fg = "#e5c890" },
{ name = "*.test.jsx", text = "", fg = "#85c1dc" },
{ name = "*.test.ts", text = "", fg = "#85c1dc" },
{ name = "*.test.tsx", text = "", fg = "#51576d" },
{ name = "*.tex", text = "", fg = "#414559" },
{ name = "*.tf", text = "", fg = "#626880" },
{ name = "*.tfvars", text = "", fg = "#626880" },
{ name = "*.tgz", text = "", fg = "#e5c890" },
{ name = "*.tmux", text = "", fg = "#a6d189" },
{ name = "*.toml", text = "", fg = "#e78284" },
{ name = "*.torrent", text = "", fg = "#81c8be" },
{ name = "*.tres", text = "", fg = "#737994" },
{ name = "*.ts", text = "", fg = "#85c1dc" },
{ name = "*.tscn", text = "", fg = "#737994" },
{ name = "*.tsconfig", text = "", fg = "#ef9f76" },
{ name = "*.tsx", text = "", fg = "#51576d" },
{ name = "*.ttf", text = "", fg = "#f2d5cf" },
{ name = "*.twig", text = "", fg = "#a6d189" },
{ name = "*.txt", text = "󰈙", fg = "#a6d189" },
{ name = "*.txz", text = "", fg = "#e5c890" },
{ name = "*.typoscript", text = "", fg = "#ef9f76" },
{ name = "*.ui", text = "", fg = "#303446" },
{ name = "*.v", text = "󰍛", fg = "#a6d189" },
{ name = "*.vala", text = "", fg = "#51576d" },
{ name = "*.vh", text = "󰍛", fg = "#a6d189" },
{ name = "*.vhd", text = "󰍛", fg = "#a6d189" },
{ name = "*.vhdl", text = "󰍛", fg = "#a6d189" },
{ name = "*.vim", text = "", fg = "#a6d189" },
{ name = "*.vsh", text = "", fg = "#838ba7" },
{ name = "*.vsix", text = "", fg = "#626880" },
{ name = "*.vue", text = "", fg = "#a6d189" },
{ name = "*.wasm", text = "", fg = "#626880" },
{ name = "*.wav", text = "", fg = "#85c1dc" },
{ name = "*.webm", text = "", fg = "#ef9f76" },
{ name = "*.webmanifest", text = "", fg = "#e5c890" },
{ name = "*.webp", text = "", fg = "#ca9ee6" },
{ name = "*.webpack", text = "󰜫", fg = "#85c1dc" },
{ name = "*.wma", text = "", fg = "#85c1dc" },
{ name = "*.woff", text = "", fg = "#f2d5cf" },
{ name = "*.woff2", text = "", fg = "#f2d5cf" },
{ name = "*.wrl", text = "󰆧", fg = "#838ba7" },
{ name = "*.wrz", text = "󰆧", fg = "#838ba7" },
{ name = "*.x", text = "", fg = "#8caaee" },
{ name = "*.xaml", text = "󰙳", fg = "#51576d" },
{ name = "*.xcf", text = "", fg = "#51576d" },
{ name = "*.xcplayground", text = "", fg = "#ef9f76" },
{ name = "*.xcstrings", text = "", fg = "#85c1dc" },
{ name = "*.xls", text = "󰈛", fg = "#51576d" },
{ name = "*.xlsx", text = "󰈛", fg = "#51576d" },
{ name = "*.xm", text = "", fg = "#85c1dc" },
{ name = "*.xml", text = "󰗀", fg = "#ef9f76" },
{ name = "*.xpi", text = "", fg = "#e78284" },
{ name = "*.xul", text = "", fg = "#ef9f76" },
{ name = "*.xz", text = "", fg = "#e5c890" },
{ name = "*.yaml", text = "", fg = "#737994" },
{ name = "*.yml", text = "", fg = "#737994" },
{ name = "*.zig", text = "", fg = "#ef9f76" },
{ name = "*.zip", text = "", fg = "#e5c890" },
{ name = "*.zsh", text = "", fg = "#a6d189" },
{ name = "*.zst", text = "", fg = "#e5c890" },
{ name = "*.🔥", text = "", fg = "#ef9f76" },
]

View File

@@ -0,0 +1,343 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/theme.json"
# vim:fileencoding=utf-8:foldmethod=marker
# : Flavor {{{
[flavor]
use = ""
# : }}}
# : Manager {{{
[manager]
cwd = { fg = "cyan" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "yellow", bold = true, italic = true, underline = true }
find_position = { fg = "magenta", bg = "reset", bold = true, italic = true }
# Marker
marker_copied = { fg = "lightgreen", bg = "lightgreen" }
marker_cut = { fg = "lightred", bg = "lightred" }
marker_marked = { fg = "lightcyan", bg = "lightcyan" }
marker_selected = { fg = "lightyellow", bg = "lightyellow" }
# Tab
tab_active = { reversed = true }
tab_inactive = {}
tab_width = 1
# Count
count_copied = { fg = "white", bg = "green" }
count_cut = { fg = "white", bg = "red" }
count_selected = { fg = "white", bg = "yellow" }
# Border
border_symbol = "│"
border_style = { fg = "gray" }
# Highlighting
syntect_theme = ""
# : }}}
# : Status {{{
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "gray", bg = "gray" }
# Mode
mode_normal = { bg = "blue", bold = true }
mode_select = { bg = "red", bold = true }
mode_unset = { bg = "red", bold = true }
# Progress
progress_label = { bold = true }
progress_normal = { fg = "blue", bg = "black" }
progress_error = { fg = "red", bg = "black" }
# Permissions
permissions_t = { fg = "green" }
permissions_r = { fg = "yellow" }
permissions_w = { fg = "red" }
permissions_x = { fg = "cyan" }
permissions_s = { fg = "darkgray" }
# : }}}
# : Select {{{
[select]
border = { fg = "blue" }
active = { fg = "magenta", bold = true }
inactive = {}
# : }}}
# : Input {{{
[input]
border = { fg = "blue" }
title = {}
value = {}
selected = { reversed = true }
# : }}}
# : Completion {{{
[completion]
border = { fg = "blue" }
active = { reversed = true }
inactive = {}
# Icons
icon_file = ""
icon_folder = ""
icon_command = ""
# : }}}
# : Tasks {{{
[tasks]
border = { fg = "blue" }
title = {}
hovered = { fg = "magenta", underline = true }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "black" }
cand = { fg = "lightcyan" }
rest = { fg = "darkgray" }
desc = { fg = "lightmagenta" }
separator = "  "
separator_style = { fg = "darkgray" }
# : }}}
# : Help {{{
[help]
on = { fg = "cyan" }
run = { fg = "magenta" }
desc = {}
hovered = { reversed = true, bold = true }
footer = { fg = "black", bg = "white" }
# : }}}
# : Notify {{{
[notify]
title_info = { fg = "green" }
title_warn = { fg = "yellow" }
title_error = { fg = "red" }
# Icons
icon_info = ""
icon_warn = ""
icon_error = ""
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "cyan" },
# Media
{ mime = "{audio,video}/*", fg = "yellow" },
# Archives
{ mime = "application/*zip", fg = "magenta" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "magenta" },
# Documents
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "green" },
# Fallback
# { name = "*", fg = "white" },
{ name = "*/", fg = "blue" }
]
[icon]
rules = [
# Programming
{ name = "*.c" , text = "", fg = "#599eff" },
{ name = "*.cpp" , text = "", fg = "#519aba" },
{ name = "*.class", text = "", fg = "#cc3e44" },
{ name = "*.cs" , text = "󰌛", fg = "#596706" },
{ name = "*.css" , text = "", fg = "#42a5f5" },
{ name = "*.elm" , text = "", fg = "#4391d2" },
{ name = "*.fish" , text = "", fg = "#4d5a5e" },
{ name = "*.go" , text = "", fg = "#519aba" },
{ name = "*.h" , text = "", fg = "#a074c4" },
{ name = "*.hpp" , text = "", fg = "#a074c4" },
{ name = "*.html" , text = "", fg = "#e44d26" },
{ name = "*.jar" , text = "", fg = "#cc3e44" },
{ name = "*.java" , text = "", fg = "#cc3e44" },
{ name = "*.js" , text = "", fg = "#F1F134" },
{ name = "*.jsx" , text = "", fg = "#20c2e3" },
{ name = "*.lua" , text = "", fg = "#51a0cf" },
{ name = "*.nix" , text = "", fg = "#7ebae4" },
{ name = "*.nu" , text = ">", fg = "#3aa675" },
{ name = "*.php" , text = "", fg = "#a074c4" },
{ name = "*.py" , text = "", fg = "#ffbc03" },
{ name = "*.rb" , text = "", fg = "#701516" },
{ name = "*.rs" , text = "", fg = "#dea584" },
{ name = "*.sbt" , text = "", fg = "#4d5a5e" },
{ name = "*.scala", text = "", fg = "#cc463e" },
{ name = "*.scss" , text = "", fg = "#f55385" },
{ name = "*.sh" , text = "", fg = "#4d5a5e" },
{ name = "*.swift", text = "", fg = "#e37933" },
{ name = "*.ts" , text = "", fg = "#519aba" },
{ name = "*.tsx" , text = "", fg = "#1354bf" },
{ name = "*.vim" , text = "", fg = "#019833" },
{ name = "*.vue" , text = "󰡄", fg = "#8dc149" },
# Text
{ name = "*.conf", text = "", fg = "#6d8086" },
{ name = "*.ini" , text = "", fg = "#6d8086" },
{ name = "*.json", text = "", fg = "#cbcb41" },
{ name = "*.kdl" , text = "", fg = "#6d8086" },
{ name = "*.md" , text = "", fg = "#ffffff" },
{ name = "*.toml", text = "", fg = "#ffffff" },
{ name = "*.txt" , text = "", fg = "#89e051" },
{ name = "*.yaml", text = "", fg = "#6d8086" },
{ name = "*.yml" , text = "", fg = "#6d8086" },
# Archives
{ name = "*.7z" , text = "" },
{ name = "*.bz2", text = "" },
{ name = "*.gz" , text = "" },
{ name = "*.rar", text = "" },
{ name = "*.tar", text = "" },
{ name = "*.xz" , text = "" },
{ name = "*.zip", text = "" },
# Images
{ name = "*.HEIC", text = "", fg = "#a074c4" },
{ name = "*.avif", text = "", fg = "#a074c4" },
{ name = "*.bmp" , text = "", fg = "#a074c4" },
{ name = "*.gif" , text = "", fg = "#a074c4" },
{ name = "*.ico" , text = "", fg = "#cbcb41" },
{ name = "*.jpeg", text = "", fg = "#a074c4" },
{ name = "*.jpg" , text = "", fg = "#a074c4" },
{ name = "*.png" , text = "", fg = "#a074c4" },
{ name = "*.svg" , text = "", fg = "#FFB13B" },
{ name = "*.webp", text = "", fg = "#a074c4" },
# Movies
{ name = "*.avi" , text = "", fg = "#FD971F" },
{ name = "*.mkv" , text = "", fg = "#FD971F" },
{ name = "*.mov" , text = "", fg = "#FD971F" },
{ name = "*.mp4" , text = "", fg = "#FD971F" },
{ name = "*.webm", text = "", fg = "#FD971F" },
# Audio
{ name = "*.aac" , text = "", fg = "#66D8EF" },
{ name = "*.flac", text = "", fg = "#66D8EF" },
{ name = "*.m4a" , text = "", fg = "#66D8EF" },
{ name = "*.mp3" , text = "", fg = "#66D8EF" },
{ name = "*.ogg" , text = "", fg = "#66D8EF" },
{ name = "*.wav" , text = "", fg = "#66D8EF" },
# Documents
{ name = "*.csv" , text = "", fg = "#89e051" },
{ name = "*.doc" , text = "", fg = "#185abd" },
{ name = "*.doct", text = "", fg = "#185abd" },
{ name = "*.docx", text = "", fg = "#185abd" },
{ name = "*.dot" , text = "", fg = "#185abd" },
{ name = "*.ods" , text = "", fg = "#207245" },
{ name = "*.ots" , text = "", fg = "#207245" },
{ name = "*.pdf" , text = "", fg = "#b30b00" },
{ name = "*.pom" , text = "", fg = "#cc3e44" },
{ name = "*.pot" , text = "", fg = "#cb4a32" },
{ name = "*.potx", text = "", fg = "#cb4a32" },
{ name = "*.ppm" , text = "", fg = "#a074c4" },
{ name = "*.ppmx", text = "", fg = "#cb4a32" },
{ name = "*.pps" , text = "", fg = "#cb4a32" },
{ name = "*.ppsx", text = "", fg = "#cb4a32" },
{ name = "*.ppt" , text = "", fg = "#cb4a32" },
{ name = "*.pptx", text = "", fg = "#cb4a32" },
{ name = "*.xlc" , text = "", fg = "#207245" },
{ name = "*.xlm" , text = "", fg = "#207245" },
{ name = "*.xls" , text = "", fg = "#207245" },
{ name = "*.xlsm", text = "", fg = "#207245" },
{ name = "*.xlsx", text = "", fg = "#207245" },
{ name = "*.xlt" , text = "", fg = "#207245" },
# Lockfiles
{ name = "*.lock", text = "", fg = "#bbbbbb" },
# Misc
{ name = "*.bin", text = "", fg = "#9F0500" },
{ name = "*.exe", text = "", fg = "#9F0500" },
{ name = "*.pkg", text = "", fg = "#9F0500" },
# Dotfiles
{ name = ".DS_Store" , text = "", fg = "#41535b" },
{ name = ".bashprofile" , text = "", fg = "#89e051" },
{ name = ".bashrc" , text = "", fg = "#89e051" },
{ name = ".gitattributes", text = "", fg = "#41535b" },
{ name = ".gitignore" , text = "", fg = "#41535b" },
{ name = ".gitmodules" , text = "", fg = "#41535b" },
{ name = ".vimrc" , text = "", fg = "#019833" },
{ name = ".zprofile" , text = "", fg = "#89e051" },
{ name = ".zshenv" , text = "", fg = "#89e051" },
{ name = ".zshrc" , text = "", fg = "#89e051" },
# Named files
{ name = "COPYING" , text = "󰿃", fg = "#cbcb41" },
{ name = "Containerfile", text = "󰡨", fg = "#458ee6" },
{ name = "Dockerfile" , text = "󰡨", fg = "#458ee6" },
{ name = "LICENSE" , text = "󰿃", fg = "#d0bf41" },
# Directories
{ name = ".config/" , text = "" },
{ name = ".git/" , text = "" },
{ name = "Desktop/" , text = "" },
{ name = "Development/", text = "" },
{ name = "Documents/" , text = "" },
{ name = "Downloads/" , text = "" },
{ name = "Library/" , text = "" },
{ name = "Movies/" , text = "" },
{ name = "Music/" , text = "" },
{ name = "Pictures/" , text = "" },
{ name = "Public/" , text = "" },
{ name = "Videos/" , text = "" },
# Default
{ name = "*" , text = "" },
{ name = "*/", text = "" },
]
# : }}}

228
yazi/.config/yazi/yazi.toml Normal file
View File

@@ -0,0 +1,228 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
[mgr]
ratio = [1, 4, 3]
sort_by = "natural"
sort_sensitive = false
sort_reverse = false
sort_dir_first = true
linemode = "none"
show_hidden = true
show_symlink = true
scrolloff = 5
[preview]
tab_size = 2
max_width = 600
max_height = 900
cache_dir = ""
image_filter = "triangle"
image_quality = 75
sixel_fraction = 15
ueberzug_scale = 1
ueberzug_offset = [0, 0, 0, 0]
[opener]
edit = [
{ run = '${EDITOR:=nvim} "$@"', desc = "$EDITOR", block = true, for = "unix" },
{ run = 'code "%*"', orphan = true, desc = "code", for = "windows" },
{ run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows" },
]
open = [
{ run = 'xdg-open "$@"', desc = "Open", for = "linux" },
{ run = 'open "$@"', desc = "Open", for = "macos" },
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
]
reveal = [
{ run = 'xdg-open "$(dirname "$0")"', desc = "Reveal", for = "linux" },
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
{ run = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" },
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
]
extract = [
{ run = 'unar "$1"', desc = "Extract here", for = "unix" },
{ run = 'unar "%1"', desc = "Extract here", for = "windows" },
]
play = [
{ run = 'mpv "$@"', orphan = true, for = "unix" },
{ run = 'mpv "%1"', orphan = true, for = "windows" },
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
]
[open]
rules = [
{ name = "*/", use = [
"edit",
"open",
"reveal",
] },
{ mime = "text/*", use = [
"edit",
"reveal",
] },
{ mime = "image/*", use = [
"open",
"reveal",
] },
{ mime = "{audio,video}/*", use = [
"play",
"reveal",
] },
{ mime = "inode/x-empty", use = [
"edit",
"reveal",
] },
{ mime = "application/*zip", use = [
"extract",
"reveal",
] },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [
"extract",
"reveal",
] },
{ mime = "application/json", use = [
"edit",
"reveal",
] },
{ mime = "*/javascript", use = [
"edit",
"reveal",
] },
{ mime = "*", use = [
"open",
"reveal",
] },
]
[tasks]
micro_workers = 10
macro_workers = 25
bizarre_retry = 5
image_alloc = 536870912 # 512MB
image_bound = [0, 0]
suppress_preload = false
[plugin]
#preloaders = [
# { name = "*", cond = "!mime", run = "mime", multi = true, prio = "high" },
# # Image
# { mime = "image/*", run = "image" },
# # Video
# { mime = "video/*", run = "video" },
# # PDF
# { mime = "application/pdf", run = "pdf" },
# #]
previewers = [
{ name = "*/", run = "folder", sync = true },
# Code
{ mime = "text/*", run = "code" },
{ mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" },
# JSON
{ mime = "application/json", run = "json" },
# Image
{ mime = "image/vnd.djvu", run = "noop" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# PDF
{ mime = "application/pdf", run = "pdf" },
# CSV
{ mime = "text/csv", run = "miller" },
# Archive
{ mime = "application/*zip", run = "archive" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "archive" },
# Fallback
{ name = "*", run = "hexyl" },
]
prepend_previewers = [
# Exifaudio
{ mime = "audio/*", run = "exifaudio" },
# Archive previewer
{ mime = "application/*zip", run = "ouch" },
{ mime = "application/x-tar", run = "ouch" },
{ mime = "application/x-bzip2", run = "ouch" },
{ mime = "application/x-7z-compressed", run = "ouch" },
{ mime = "application/x-rar", run = "ouch" },
{ mime = "application/x-xz", run = "ouch" },
# Markdown previewer
{ name = ".md", run = "glow" },
]
[input]
# cd
cd_title = "Change directory:"
cd_origin = "top-center"
cd_offset = [0, 2, 50, 3]
# create
# create_title = "Create:"
# create_origin = "top-center"
# create_offset = [0, 2, 50, 3]
# rename
rename_title = "Rename:"
rename_origin = "hovered"
rename_offset = [0, 1, 50, 3]
# trash
trash_title = "Move {n} selected file{s} to trash? (y/N)"
trash_origin = "top-center"
trash_offset = [0, 2, 50, 3]
# delete
delete_title = "Delete {n} selected file{s} permanently? (y/N)"
delete_origin = "top-center"
delete_offset = [0, 2, 50, 3]
# filter
filter_title = "Filter:"
filter_origin = "top-center"
filter_offset = [0, 2, 50, 3]
# find
find_title = ["Find next:", "Find previous:"]
find_origin = "top-center"
find_offset = [0, 2, 50, 3]
# search
search_title = "Search via {n}:"
search_origin = "top-center"
search_offset = [0, 2, 50, 3]
# shell
shell_title = ["Shell:", "Shell (block):"]
shell_origin = "top-center"
shell_offset = [0, 2, 50, 3]
# overwrite
overwrite_title = "Overwrite an existing file? (y/N)"
overwrite_origin = "top-center"
overwrite_offset = [0, 2, 50, 3]
# quit
quit_title = "{n} task{s} running, sure to quit? (y/N)"
quit_origin = "top-center"
quit_offset = [0, 2, 50, 3]
[select]
open_title = "Open with:"
open_origin = "hovered"
open_offset = [0, 1, 50, 7]
[which]
sort_by = "none"
sort_sensitive = false
sort_reverse = false
[log]
enabled = false
[headsup]

View File

@@ -0,0 +1,228 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
[manager]
ratio = [1, 4, 3]
sort_by = "natural"
sort_sensitive = false
sort_reverse = false
sort_dir_first = true
linemode = "none"
show_hidden = true
show_symlink = true
scrolloff = 5
[preview]
tab_size = 2
max_width = 600
max_height = 900
cache_dir = ""
image_filter = "triangle"
image_quality = 75
sixel_fraction = 15
ueberzug_scale = 1
ueberzug_offset = [0, 0, 0, 0]
[opener]
edit = [
{ run = '${EDITOR:=nvim} "$@"', desc = "$EDITOR", block = true, for = "unix" },
{ run = 'code "%*"', orphan = true, desc = "code", for = "windows" },
{ run = 'code -w "%*"', block = true, desc = "code (block)", for = "windows" },
]
open = [
{ run = 'xdg-open "$@"', desc = "Open", for = "linux" },
{ run = 'open "$@"', desc = "Open", for = "macos" },
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
]
reveal = [
{ run = 'xdg-open "$(dirname "$0")"', desc = "Reveal", for = "linux" },
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
{ run = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" },
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
]
extract = [
{ run = 'unar "$1"', desc = "Extract here", for = "unix" },
{ run = 'unar "%1"', desc = "Extract here", for = "windows" },
]
play = [
{ run = 'mpv "$@"', orphan = true, for = "unix" },
{ run = 'mpv "%1"', orphan = true, for = "windows" },
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
]
[open]
rules = [
{ name = "*/", use = [
"edit",
"open",
"reveal",
] },
{ mime = "text/*", use = [
"edit",
"reveal",
] },
{ mime = "image/*", use = [
"open",
"reveal",
] },
{ mime = "{audio,video}/*", use = [
"play",
"reveal",
] },
{ mime = "inode/x-empty", use = [
"edit",
"reveal",
] },
{ mime = "application/*zip", use = [
"extract",
"reveal",
] },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [
"extract",
"reveal",
] },
{ mime = "application/json", use = [
"edit",
"reveal",
] },
{ mime = "*/javascript", use = [
"edit",
"reveal",
] },
{ mime = "*", use = [
"open",
"reveal",
] },
]
[tasks]
micro_workers = 10
macro_workers = 25
bizarre_retry = 5
image_alloc = 536870912 # 512MB
image_bound = [0, 0]
suppress_preload = false
[plugin]
#preloaders = [
# { name = "*", cond = "!mime", run = "mime", multi = true, prio = "high" },
# # Image
# { mime = "image/*", run = "image" },
# # Video
# { mime = "video/*", run = "video" },
# # PDF
# { mime = "application/pdf", run = "pdf" },
# #]
previewers = [
{ name = "*/", run = "folder", sync = true },
# Code
{ mime = "text/*", run = "code" },
{ mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" },
# JSON
{ mime = "application/json", run = "json" },
# Image
{ mime = "image/vnd.djvu", run = "noop" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# PDF
{ mime = "application/pdf", run = "pdf" },
# CSV
{ mime = "text/csv", run = "miller" },
# Archive
{ mime = "application/*zip", run = "archive" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "archive" },
# Fallback
{ name = "*", run = "hexyl" },
]
prepend_previewers = [
# Exifaudio
{ mime = "audio/*", run = "exifaudio" },
# Archive previewer
{ mime = "application/*zip", run = "ouch" },
{ mime = "application/x-tar", run = "ouch" },
{ mime = "application/x-bzip2", run = "ouch" },
{ mime = "application/x-7z-compressed", run = "ouch" },
{ mime = "application/x-rar", run = "ouch" },
{ mime = "application/x-xz", run = "ouch" },
# Markdown previewer
{ name = ".md", run = "glow" },
]
[input]
# cd
cd_title = "Change directory:"
cd_origin = "top-center"
cd_offset = [0, 2, 50, 3]
# create
create_title = "Create:"
create_origin = "top-center"
create_offset = [0, 2, 50, 3]
# rename
rename_title = "Rename:"
rename_origin = "hovered"
rename_offset = [0, 1, 50, 3]
# trash
trash_title = "Move {n} selected file{s} to trash? (y/N)"
trash_origin = "top-center"
trash_offset = [0, 2, 50, 3]
# delete
delete_title = "Delete {n} selected file{s} permanently? (y/N)"
delete_origin = "top-center"
delete_offset = [0, 2, 50, 3]
# filter
filter_title = "Filter:"
filter_origin = "top-center"
filter_offset = [0, 2, 50, 3]
# find
find_title = ["Find next:", "Find previous:"]
find_origin = "top-center"
find_offset = [0, 2, 50, 3]
# search
search_title = "Search via {n}:"
search_origin = "top-center"
search_offset = [0, 2, 50, 3]
# shell
shell_title = ["Shell:", "Shell (block):"]
shell_origin = "top-center"
shell_offset = [0, 2, 50, 3]
# overwrite
overwrite_title = "Overwrite an existing file? (y/N)"
overwrite_origin = "top-center"
overwrite_offset = [0, 2, 50, 3]
# quit
quit_title = "{n} task{s} running, sure to quit? (y/N)"
quit_origin = "top-center"
quit_offset = [0, 2, 50, 3]
[select]
open_title = "Open with:"
open_origin = "hovered"
open_offset = [0, 1, 50, 7]
[which]
sort_by = "none"
sort_sensitive = false
sort_reverse = false
[log]
enabled = false
[headsup]