diff --git a/.config/lf/cleaner b/.config/lf/cleaner new file mode 100755 index 0000000..a184d84 --- /dev/null +++ b/.config/lf/cleaner @@ -0,0 +1,4 @@ +#!/bin/sh +if [ -n "$FIFO_UEBERZUG" ]; then + printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG" +fi diff --git a/.config/lf/icons b/.config/lf/icons new file mode 100644 index 0000000..87d924b --- /dev/null +++ b/.config/lf/icons @@ -0,0 +1,160 @@ +di  +fi  +ln  +or  +ex  +*.vimrc  +*.viminfo  +*.gitignore  +*.c  +*.cc  +*.clj  +*.coffee  +*.cpp  +*.css  +*.d  +*.dart  +*.erl  +*.exs  +*.fs  +*.go  +*.h  +*.hh  +*.hpp  +*.hs  +*.html  +*.java  +*.jl  +*.js  +*.json  +*.lua  +*.md  +*.php  +*.pl  +*.pro  +*.py  +*.rb  +*.rs  +*.scala  +*.ts  +*.vim  +*.cmd  +*.ps1  +*.sh  +*.bash  +*.zsh  +*.fish  +*.tar  +*.tgz  +*.arc  +*.arj  +*.taz  +*.lha  +*.lz4  +*.lzh  +*.lzma  +*.tlz  +*.txz  +*.tzo  +*.t7z  +*.zip  +*.z  +*.dz  +*.gz  +*.cz  +*.lrz  +*.lz  +*.lzo  +*.xz  +*.zst  +*.tzst  +*.bz2  +*.bz  +*.tbz  +*.tbz2  +*.tz  +*.deb  +*.rpm  +*.jar  +*.war  +*.ear  +*.sar  +*.rar  +*.alz  +*.ace  +*.zoo  +*.cpio  +*.7z  +*.rz  +*.cab  +*.wim  +*.swm  +*.dwm  +*.esd  +*.jpg  +*.jpeg  +*.mjpg  +*.mjpeg  +*.gif  +*.bmp  +*.pbm  +*.pgm  +*.ppm  +*.tga  +*.xbm  +*.xpm  +*.tif  +*.tiff  +*.png  +*.svg  +*.svgz  +*.mng  +*.pcx  +*.mov  +*.mpg  +*.mpeg  +*.m2v  +*.mkv  +*.webm  +*.ogm  +*.mp4  +*.m4v  +*.mp4v  +*.vob  +*.qt  +*.nuv  +*.wmv  +*.asf  +*.rm  +*.rmvb  +*.flc  +*.avi  +*.fli  +*.flv  +*.gl  +*.dl  +*.xcf  +*.xwd  +*.yuv  +*.cgm  +*.emf  +*.ogv  +*.ogx  +*.aac  +*.au  +*.flac  +*.m4a  +*.mid  +*.midi  +*.mka  +*.mp3  +*.mpc  +*.ogg  +*.ra  +*.wav  +*.oga  +*.opus  +*.spx  +*.xspf  +*.pdf  +*.nix  diff --git a/.config/lf/lfrc b/.config/lf/lfrc new file mode 100644 index 0000000..e7b2c17 --- /dev/null +++ b/.config/lf/lfrc @@ -0,0 +1,119 @@ +# Basic vars +set sixel true +set shellopts '-eu' +set ifs "\n" +set scrolloff 10 +set icons +set hidden true +set drawbox true +set period 1 +set previewer '~/.config/lf/scope' +set autoquit true + +# cmds/functions +cmd open ${{ + case $(file --mime-type "$(readlink -f $f)" -b) in + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) localc $fx ;; + image/vnd.djvu|application/pdf|application/octet-stream|application/postscript) setsid -f zathura $fx >/dev/null 2>&1 ;; + text/*|application/json|inode/x-empty) $EDITOR $fx;; + text/*|application/x-subrip) $EDITOR $fx;; + image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;; + image/svg+xml) display -- $f ;; + image/*) rotdir $f | grep -i "\.\(png\|jpg\|jxl\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$" | + setsid -f nsxiv -aio 2>/dev/null | while read -r file; do + [ -z "$file" ] && continue + lf -remote "send select \"$file\"" + lf -remote "send toggle" + done & + ;; + audio/*) mpv --audio-display=no $f ;; + video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;; + application/pdf|application/vnd*|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;; + application/pgp-encrypted) $EDITOR $fx ;; + *) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;; + esac +}} + +cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')" + +cmd extract ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + printf "%s\n\t" "$fx" + printf "extract?[y/N]" + read ans + [ $ans = "y" ] && ext $fx +}} + +cmd delete ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + printf "%s\n\t" "$fx" + printf "delete?[y/N]" + read ans + [ $ans = "y" ] && rm -rf -- $fx +}} + +cmd moveto ${{ + clear; tput cup $(($(tput lines)/3)); tput bold + set -f + clear; echo "Move to where?" + dest=$(cat ~/.config/lf/mvdirs | fzf ) + for x in $fx; do + eval mv -iv \"$x\" \"$dest\" + done && + notify-send "🚚 File(s) moved." "File(s) moved to $dest." +}} + +cmd genwall "$1" + +# Bindings +map $lf -remote "send $id select \"$(fzf)\"" +map D delete +map p paste +map dd cut +map M moveto +map yy copy +map H top +map E extract +map push :mkdir +map reload +map set hidden! +map shell +map x $$f +map X !$f +map o &mimeopen $f +map O $mimeopen --ask $f + +map A :rename; cmd-end # at the very end +map c push A # new rename +map I :rename; cmd-home # at the very beginning +map i :rename # before extension +map a :rename; cmd-right # after extension +map br $vimv +map bg $genwall $f + +map down +map up +map V push :!nvim + +map W $setsid -f $TERMINAL >/dev/null 2>&1 + +map Y $printf "%s" "$fx" | xclip -selection clipboard +map T $nsxiv -t "$(pwd)" # opens thumbnail mode +map unselect + +# movement +map gd cd ~/dox/ +map gD cd ~/dl/ +map gp cd ~/pix +map gc cd ~/.config +map gC cd ~/.cache +map gr cd ~/code/repos +map gv cd ~/vids/ +map gm cd ~/media/movies +map gM cd ~/media +map gn cd ~/music +map gb cd ~/.local/bin +map gt cd /tmp +map gs cd ~/.local/share diff --git a/.config/lf/mvdirs b/.config/lf/mvdirs new file mode 100644 index 0000000..5edb30c --- /dev/null +++ b/.config/lf/mvdirs @@ -0,0 +1,17 @@ +$HOME/.cache +$HOME/.config +$HOME +$HOME/.local/bin +$HOME/.local/src +$HOME/.local/share +$HOME/dl +$HOME/dox +$HOME/music +$HOME/movies +$HOME/vids +$HOME/pix +$HOME/pix/ss +$HOME/pix/wallpapers/ +$HOME/dev/ +$HOME/dev/ +/tmp diff --git a/.config/lf/scope b/.config/lf/scope new file mode 100755 index 0000000..11e54e1 --- /dev/null +++ b/.config/lf/scope @@ -0,0 +1,9 @@ +#!/bin/sh +case "$(file -Lb --mime-type -- "$1")" in + image/*) + chafa -f sixel -s "$2x$3" --animate off --polite on -t 1 --bg black "$1" + ;; + text/*) + bat "$1" + ;; +esac diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc index 7a8e6c5..c886d76 100644 --- a/.config/shell/aliasrc +++ b/.config/shell/aliasrc @@ -6,7 +6,6 @@ alias \ ls='ls -hN --group-directories-first --color=auto' \ lsa='ls -lAhN --group-directories-first --color=auto' \ - lf="yazi" \ nb="newsboat" \ sxiv="nsxiv" \ hst="history 1 -1 | cut -c 8- | sort | uniq | fzf | tr -d '\n' | wl-copy" \ diff --git a/.config/yazi/keymap.toml b/.config/yazi/keymap.toml deleted file mode 100644 index 0c2e832..0000000 --- a/.config/yazi/keymap.toml +++ /dev/null @@ -1,380 +0,0 @@ -# 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 = "l", run = "plugin smart-enter", desc = "Smart enter on l" }, - { on = "", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" }, - { on = "", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" }, - { on = "Q", run = "quit", desc = "Quit the process" }, - { on = "q", run = "quit --no-cwd-file", desc = "Quit without outputting cwd-file" }, - { on = "", run = "close", desc = "Close the current tab, or quit if it's last" }, - { on = "", run = "suspend", desc = "Suspend the process" }, - - # Hopping - { on = "k", run = "arrow prev", desc = "Previous file" }, - { on = "j", run = "arrow next", desc = "Next file" }, - - { on = "", run = "arrow prev", desc = "Previous file" }, - { on = "", run = "arrow next", desc = "Next file" }, - - { on = "", run = "arrow -50%", desc = "Move cursor up half page" }, - { on = "", run = "arrow 50%", desc = "Move cursor down half page" }, - { on = "", run = "arrow -100%", desc = "Move cursor up one page" }, - { on = "", run = "arrow 100%", desc = "Move cursor down one page" }, - - { on = "", run = "arrow -50%", desc = "Move cursor up half page" }, - { on = "", run = "arrow 50%", desc = "Move cursor down half page" }, - { on = "", run = "arrow -100%", desc = "Move cursor up one page" }, - { on = "", run = "arrow 100%", desc = "Move cursor down one page" }, - - { on = [ "g", "g" ], run = "arrow top", desc = "Go to top" }, - { on = "G", run = "arrow bot", desc = "Go to bottom" }, - - # Navigation - { on = "h", run = "leave", desc = "Back to the parent directory" }, - { on = "l", run = "enter", desc = "Enter the child directory" }, - - { on = "", run = "leave", desc = "Back to the parent directory" }, - { on = "", run = "enter", desc = "Enter the child directory" }, - - { on = "H", run = "back", desc = "Back to previous directory" }, - { on = "L", run = "forward", desc = "Forward to next directory" }, - - # Toggle - { on = "", run = [ "toggle", "arrow next" ], desc = "Toggle the current selection state" }, - { on = "", run = "toggle_all --state=on", desc = "Select all files" }, - { on = "", run = "toggle_all", desc = "Invert selection of all files" }, - - # Visual mode - { on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" }, - { on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, - - # Seeking - { on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" }, - { on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" }, - - # Spotting - { on = "", run = "spot", desc = "Spot hovered file" }, - - # Operation - { on = "e", run = "shell '$EDITOR \"$@\"' --block --confirm", desc = "Open selected file in $EDITOR" }, - { on = "o", run = "open", desc = "Open selected files" }, - { on = "O", run = "open --interactive", desc = "Open selected files interactively" }, - { on = "", run = "open", desc = "Open selected files" }, - { on = "", run = "open --interactive", desc = "Open selected files interactively" }, - { on = "y", run = "yank", desc = "Yank selected files (copy)" }, - { on = "d", run = "yank --cut", desc = "Yank selected files (cut)" }, - { on = "p", run = "paste", desc = "Paste yanked files" }, - { on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" }, - { on = "-", run = "link", desc = "Symlink the absolute path of yanked files" }, - { on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" }, - { on = "", run = "hardlink", desc = "Hardlink yanked files" }, - { on = "Y", run = "unyank", desc = "Cancel the yank status" }, - { on = "X", run = "unyank", desc = "Cancel the yank status" }, - { on = "D", run = "remove --permanently", desc = "Permanently delete selected files" }, - { on = "a", run = "create", desc = "Create a file (ends with / for directories)" }, - { on = "i", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" }, - { on = "A", run = "rename --cursor=after_ext", desc = "Rename selected file(s) (After extension)" }, - { on = ";", run = "shell --interactive", desc = "Run a shell command" }, - { on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" }, - { on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" }, - { on = "s", run = "search --via=fd", desc = "Search files by name via fd" }, - { on = "S", run = "search --via=rg", desc = "Search files by content via ripgrep" }, - { on = "", run = "escape --search", desc = "Cancel the ongoing search" }, - { on = "z", run = "plugin fzf", desc = "Jump to a file/directory via fzf" }, - - # Linemode - { on = [ "m", "s" ], run = "linemode size", desc = "Linemode: size" }, - { on = [ "m", "p" ], run = "linemode permissions", desc = "Linemode: permissions" }, - { on = [ "m", "b" ], run = "linemode btime", desc = "Linemode: btime" }, - { on = [ "m", "m" ], run = "linemode mtime", desc = "Linemode: mtime" }, - { on = [ "m", "o" ], run = "linemode owner", desc = "Linemode: owner" }, - { on = [ "m", "n" ], run = "linemode none", desc = "Linemode: none" }, - - # Copy - { on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" }, - { on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" }, - { on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" }, - { on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" }, - - # Filter - { on = "f", run = "filter --smart", desc = "Filter 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 = "Next found" }, - { on = "N", run = "find_arrow --previous", desc = "Previous found" }, - - # Sorting - { on = [ ",", "m" ], run = [ "sort mtime --reverse=no", "linemode mtime" ], desc = "Sort by modified time" }, - { on = [ ",", "M" ], run = [ "sort mtime --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" }, - { on = [ ",", "b" ], run = [ "sort btime --reverse=no", "linemode btime" ], desc = "Sort by birth time" }, - { on = [ ",", "B" ], run = [ "sort btime --reverse", "linemode btime" ], desc = "Sort by birth time (reverse)" }, - { on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" }, - { on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, - { on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, - { on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" }, - { on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" }, - { on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" }, - { on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" }, - { on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" }, - { on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" }, - - # Goto - { on = [ "g", "h" ], run = "cd ~", desc = "Go home" }, - { on = [ "g", "c" ], run = "cd ~/.config", desc = "Go ~/.config" }, - { on = [ "g", "d" ], run = "cd ~/dox", desc = "Go ~/dox" }, - { on = [ "g", "D" ], run = "cd ~/dl", desc = "Go ~/dl" }, - { on = [ "g", "p" ], run = "cd ~/pix", desc = "Go ~/pix" }, - { on = [ "g", "C" ], run = "cd ~/.cache", desc = "Go ~/.cache" }, - { on = [ "g", "r" ], run = "cd ~/code/repos", desc = "Go ~/code/repos" }, - { on = [ "g", "v" ], run = "cd ~/vids", desc = "Go ~/vids" }, - { on = [ "g", "m" ], run = "cd ~/media/movies", desc = "Go ~/media/movies" }, - { on = [ "g", "M" ], run = "cd ~/media", desc = "Go ~/media" }, - { on = [ "g", "b" ], run = "cd ~/.local/bin", desc = "Go ~/.local/bin" }, - { on = [ "g", "s" ], run = "cd ~/.local/share", desc = "Go ~/.local/bin" }, - { on = [ "g", "t" ], run = "cd /tmp", desc = "Go /tmp" }, - { on = [ "g", "" ], run = "cd --interactive", desc = "Jump interactively" }, - { on = [ "g", "f" ], run = "follow", desc = "Follow hovered symlink" }, - - # Tabs - { on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" }, - - { on = "1", run = "tab_switch 0", desc = "Switch to first tab" }, - { on = "2", run = "tab_switch 1", desc = "Switch to second tab" }, - { on = "3", run = "tab_switch 2", desc = "Switch to third tab" }, - { on = "4", run = "tab_switch 3", desc = "Switch to fourth tab" }, - { on = "5", run = "tab_switch 4", desc = "Switch to fifth tab" }, - { on = "6", run = "tab_switch 5", desc = "Switch to sixth tab" }, - { on = "7", run = "tab_switch 6", desc = "Switch to seventh tab" }, - { on = "8", run = "tab_switch 7", desc = "Switch to eighth tab" }, - { on = "9", run = "tab_switch 8", desc = "Switch to ninth tab" }, - - { on = "[", run = "tab_switch -1 --relative", desc = "Switch to previous tab" }, - { on = "]", run = "tab_switch 1 --relative", desc = "Switch to next tab" }, - - { on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" }, - { on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" }, - - # Tasks - { on = "w", run = "tasks:show", desc = "Show task manager" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[tasks] - -keymap = [ - { on = "", run = "close", desc = "Close task manager" }, - { on = "", run = "close", desc = "Close task manager" }, - { on = "", run = "close", desc = "Close task manager" }, - { on = "w", run = "close", desc = "Close task manager" }, - - { on = "k", run = "arrow prev", desc = "Previous task" }, - { on = "j", run = "arrow next", desc = "Next task" }, - - { on = "", run = "arrow prev", desc = "Previous task" }, - { on = "", run = "arrow next", desc = "Next task" }, - - { on = "", run = "inspect", desc = "Inspect the task" }, - { on = "x", run = "cancel", desc = "Cancel the task" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[spot] - -keymap = [ - { on = "", run = "close", desc = "Close the spot" }, - { on = "", run = "close", desc = "Close the spot" }, - { on = "", run = "close", desc = "Close the spot" }, - { on = "", run = "close", desc = "Close the spot" }, - - { on = "k", run = "arrow prev", desc = "Previous line" }, - { on = "j", run = "arrow next", desc = "Next line" }, - { on = "h", run = "swipe prev", desc = "Swipe to previous file" }, - { on = "l", run = "swipe next", desc = "Swipe to next file" }, - - { on = "", run = "arrow prev", desc = "Previous line" }, - { on = "", run = "arrow next", desc = "Next line" }, - { on = "", run = "swipe prev", desc = "Swipe to previous file" }, - { on = "", run = "swipe next", desc = "Swipe to next file" }, - - # Copy - { on = [ "c", "c" ], run = "copy cell", desc = "Copy selected cell" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[pick] - -keymap = [ - { on = "", run = "close", desc = "Cancel pick" }, - { on = "", run = "close", desc = "Cancel pick" }, - { on = "", run = "close", desc = "Cancel pick" }, - { on = "", run = "close --submit", desc = "Submit the pick" }, - - { on = "k", run = "arrow prev", desc = "Previous option" }, - { on = "j", run = "arrow next", desc = "Next option" }, - - { on = "", run = "arrow prev", desc = "Previous option" }, - { on = "", run = "arrow next", desc = "Next option" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[input] - -keymap = [ - { on = "", run = "close", desc = "Cancel input" }, - { on = "", run = "close --submit", desc = "Submit input" }, - { on = "", run = "escape", desc = "Back to normal mode, or cancel input" }, - { on = "", run = "escape", desc = "Back to normal mode, or cancel input" }, - - # Mode - { on = "i", run = "insert", desc = "Enter insert mode" }, - { on = "I", run = [ "move first-char", "insert" ], desc = "Move to the BOL, and enter insert mode" }, - { on = "a", run = "insert --append", desc = "Enter append mode" }, - { on = "A", run = [ "move eol", "insert --append" ], desc = "Move to the EOL, and enter append mode" }, - { on = "v", run = "visual", desc = "Enter visual mode" }, - { on = "r", run = "replace", desc = "Replace a single character" }, - - # Selection - { on = "V", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" }, - { on = "", run = [ "move eol", "visual", "move bol" ], desc = "Select from EOL to BOL" }, - { on = "", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" }, - - # Character-wise movement - { on = "h", run = "move -1", desc = "Move back a character" }, - { on = "l", run = "move 1", desc = "Move forward a character" }, - { on = "", run = "move -1", desc = "Move back a character" }, - { on = "", run = "move 1", desc = "Move forward a character" }, - { on = "", run = "move -1", desc = "Move back a character" }, - { on = "", 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 = "B", run = "backward --far", 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 = "W", run = "forward --far", 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 = "E", run = "forward --far --end-of-word", desc = "Move forward to the end of the current or next WORD" }, - { on = "", run = "backward", desc = "Move back to the start of the current or previous word" }, - { on = "", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" }, - - # Line-wise movement - { on = "0", run = "move bol", desc = "Move to the BOL" }, - { on = "$", run = "move eol", desc = "Move to the EOL" }, - { on = "_", run = "move first-char", desc = "Move to the first non-whitespace character" }, - { on = "^", run = "move first-char", desc = "Move to the first non-whitespace character" }, - { on = "", run = "move bol", desc = "Move to the BOL" }, - { on = "", run = "move eol", desc = "Move to the EOL" }, - { on = "", run = "move bol", desc = "Move to the BOL" }, - { on = "", run = "move eol", desc = "Move to the EOL" }, - - # Delete - { on = "", run = "backspace", desc = "Delete the character before the cursor" }, - { on = "", run = "backspace --under", desc = "Delete the character under the cursor" }, - { on = "", run = "backspace", desc = "Delete the character before the cursor" }, - { on = "", run = "backspace --under", desc = "Delete the character under the cursor" }, - - # Kill - { on = "", run = "kill bol", desc = "Kill backwards to the BOL" }, - { on = "", run = "kill eol", desc = "Kill forwards to the EOL" }, - { on = "", run = "kill backward", desc = "Kill backwards to the start of the current word" }, - { on = "", run = "kill forward", desc = "Kill forwards to the end of the current word" }, - - # Cut/Yank/Paste - { on = "d", run = "delete --cut", desc = "Cut selected characters" }, - { on = "D", run = [ "delete --cut", "move eol" ], desc = "Cut until EOL" }, - { on = "c", run = "delete --cut --insert", desc = "Cut selected characters, and enter insert mode" }, - { on = "C", run = [ "delete --cut --insert", "move eol" ], desc = "Cut until EOL, and enter insert mode" }, - { on = "s", run = [ "delete --cut --insert", "move 1" ], desc = "Cut current character, and enter insert mode" }, - { on = "S", run = [ "move bol", "delete --cut --insert", "move eol" ], desc = "Cut from BOL until EOL, and enter insert mode" }, - { on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut current character" }, - { on = "y", run = "yank", desc = "Copy selected characters" }, - { on = "p", run = "paste", desc = "Paste copied characters after the cursor" }, - { on = "P", run = "paste --before", desc = "Paste copied characters before the cursor" }, - - # Undo/Redo - { on = "u", run = "undo", desc = "Undo the last operation" }, - { on = "", run = "redo", desc = "Redo the last operation" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[confirm] - -keymap = [ - { on = "", run = "close", desc = "Cancel the confirm" }, - { on = "", run = "close", desc = "Cancel the confirm" }, - { on = "", run = "close", desc = "Cancel the confirm" }, - { on = "", run = "close --submit", desc = "Submit the confirm" }, - - { on = "n", run = "close", desc = "Cancel the confirm" }, - { on = "y", run = "close --submit", desc = "Submit the confirm" }, - - { on = "k", run = "arrow prev", desc = "Previous line" }, - { on = "j", run = "arrow next", desc = "Next line" }, - - { on = "", run = "arrow prev", desc = "Previous line" }, - { on = "", run = "arrow next", desc = "Next line" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[cmp] - -keymap = [ - { on = "", run = "close", desc = "Cancel completion" }, - { on = "", run = "close --submit", desc = "Submit the completion" }, - { on = "", run = [ "close --submit", "input:close --submit" ], desc = "Complete and submit the input" }, - - { on = "", run = "arrow prev", desc = "Previous item" }, - { on = "", run = "arrow next", desc = "Next item" }, - - { on = "", run = "arrow prev", desc = "Previous item" }, - { on = "", run = "arrow next", desc = "Next item" }, - - { on = "", run = "arrow prev", desc = "Previous item" }, - { on = "", run = "arrow next", desc = "Next item" }, - - # Help - { on = "~", run = "help", desc = "Open help" }, - { on = "", run = "help", desc = "Open help" }, -] - -[help] - -keymap = [ - { on = "", run = "escape", desc = "Clear the filter, or hide the help" }, - { on = "", run = "escape", desc = "Clear the filter, or hide the help" }, - { on = "", run = "close", desc = "Hide the help" }, - - # Navigation - { on = "k", run = "arrow prev", desc = "Previous line" }, - { on = "j", run = "arrow next", desc = "Next line" }, - - { on = "", run = "arrow prev", desc = "Previous line" }, - { on = "", run = "arrow next", desc = "Next line" }, - - # Filtering - { on = "f", run = "filter", desc = "Filter help items" }, -] diff --git a/.config/yazi/package.toml b/.config/yazi/package.toml deleted file mode 100644 index f2c89d3..0000000 --- a/.config/yazi/package.toml +++ /dev/null @@ -1,7 +0,0 @@ -[[plugin.deps]] -use = "yazi-rs/plugins:smart-enter" -rev = "d7588f6" -hash = "56fdabc96fc1f4d53c96eb884b02a5be" - -[flavor] -deps = [] diff --git a/.config/yazi/plugins/smart-enter.yazi/LICENSE b/.config/yazi/plugins/smart-enter.yazi/LICENSE deleted file mode 100644 index fb5b1d6..0000000 --- a/.config/yazi/plugins/smart-enter.yazi/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 yazi-rs - -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. diff --git a/.config/yazi/plugins/smart-enter.yazi/README.md b/.config/yazi/plugins/smart-enter.yazi/README.md deleted file mode 100644 index 742f2e1..0000000 --- a/.config/yazi/plugins/smart-enter.yazi/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# smart-enter.yazi - -[`Open`][open] files or [`enter`][enter] directories all in one key! - -## Installation - -```sh -ya pkg add yazi-rs/plugins:smart-enter -``` - -## Usage - -Bind your l key to the plugin, in your `~/.config/yazi/keymap.toml`: - -```toml -[[mgr.prepend_keymap]] -on = "l" -run = "plugin smart-enter" -desc = "Enter the child directory, or open the file" -``` - -## Advanced - -By default, `--hovered` is passed to the [`open`][open] command, make the behavior consistent with [`enter`][enter] avoiding accidental triggers, -which means both will only target the currently hovered file. - -If you still want `open` to target multiple selected files, add this to your `~/.config/yazi/init.lua`: - -```lua -require("smart-enter"):setup { - open_multi = true, -} -``` - -## License - -This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. - -[open]: https://yazi-rs.github.io/docs/configuration/keymap/#mgr.open -[enter]: https://yazi-rs.github.io/docs/configuration/keymap/#mgr.enter diff --git a/.config/yazi/plugins/smart-enter.yazi/main.lua b/.config/yazi/plugins/smart-enter.yazi/main.lua deleted file mode 100644 index e9e2ec6..0000000 --- a/.config/yazi/plugins/smart-enter.yazi/main.lua +++ /dev/null @@ -1,11 +0,0 @@ ---- @since 25.5.31 ---- @sync entry - -local function setup(self, opts) self.open_multi = opts.open_multi end - -local function entry(self) - local h = cx.active.current.hovered - ya.emit(h and h.cha.is_dir and "enter" or "open", { hovered = not self.open_multi }) -end - -return { entry = entry, setup = setup } diff --git a/.config/yazi/theme.toml b/.config/yazi/theme.toml deleted file mode 100644 index c54fc6c..0000000 --- a/.config/yazi/theme.toml +++ /dev/null @@ -1,756 +0,0 @@ -[mgr] -cwd = { fg = "#94e2d5" } - -hovered = { fg = "#1e1e2e", bg = "#89b4fa" } -preview_hovered = { fg = "#1e1e2e", bg = "#cdd6f4" } - -find_keyword = { fg = "#f9e2af", italic = true } -find_position = { fg = "#f5c2e7", bg = "reset", italic = true } - -marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" } -marker_cut = { fg = "#f38ba8", bg = "#f38ba8" } -marker_marked = { fg = "#94e2d5", bg = "#94e2d5" } -marker_selected = { fg = "#89b4fa", bg = "#89b4fa" } - -count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" } -count_cut = { fg = "#1e1e2e", bg = "#f38ba8" } -count_selected = { fg = "#1e1e2e", bg = "#89b4fa" } - -border_symbol = "│" -border_style = { fg = "#7f849c" } - -syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme" - -[tabs] -active = { fg = "#1e1e2e", bg = "#cdd6f4", bold = true } -inactive = { fg = "#cdd6f4", bg = "#45475a" } - -[mode] -normal_main = { fg = "#1e1e2e", bg = "#89b4fa", bold = true } -normal_alt = { fg = "#89b4fa", bg = "#313244"} - -select_main = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true } -select_alt = { fg = "#a6e3a1", bg = "#313244"} - -unset_main = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true } -unset_alt = { fg = "#f2cdcd", bg = "#313244"} - -[status] -sep_left = { open = "", close = "" } -sep_right = { open = "", close = "" } - -progress_label = { fg = "#ffffff", bold = true } -progress_normal = { fg = "#89b4fa", bg = "#45475a" } -progress_error = { fg = "#f38ba8", bg = "#45475a" } - -perm_type = { fg = "#89b4fa" } -perm_read = { fg = "#f9e2af" } -perm_write = { fg = "#f38ba8" } -perm_exec = { fg = "#a6e3a1" } -perm_sep = { fg = "#7f849c" } - -[input] -border = { fg = "#89b4fa" } -title = {} -value = {} -selected = { reversed = true } - -[pick] -border = { fg = "#89b4fa" } -active = { fg = "#f5c2e7" } -inactive = {} - -[confirm] -border = { fg = "#89b4fa" } -title = { fg = "#89b4fa" } -content = {} -list = {} -btn_yes = { reversed = true } -btn_no = {} - -[cmp] -border = { fg = "#89b4fa" } - -[tasks] -border = { fg = "#89b4fa" } -title = {} -hovered = { underline = true } - -[which] -mask = { bg = "#313244" } -cand = { fg = "#94e2d5" } -rest = { fg = "#9399b2" } -desc = { fg = "#f5c2e7" } -separator = "  " -separator_style = { fg = "#585b70" } - -[help] -on = { fg = "#94e2d5" } -run = { fg = "#f5c2e7" } -desc = { fg = "#9399b2" } -hovered = { bg = "#585b70", bold = true } -footer = { fg = "#cdd6f4", bg = "#45475a" } - -[notify] -title_info = { fg = "#94e2d5" } -title_warn = { fg = "#f9e2af" } -title_error = { fg = "#f38ba8" } - -[filetype] -rules = [ - # Media - { mime = "image/*", fg = "#94e2d5" }, - { mime = "{audio,video}/*", fg = "#f9e2af" }, - - # Archives - { mime = "application/*zip", fg = "#f5c2e7" }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" }, - - # Documents - { mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" }, - - # Fallback - { name = "*", fg = "#cdd6f4" }, - { name = "*/", fg = "#89b4fa" } -] - -[spot] -border = { fg = "#89b4fa" } -title = { fg = "#89b4fa" } -tbl_cell = { fg = "#89b4fa", reversed = true } -tbl_col = { bold = true } - -[icon] -files = [ - { name = "kritadisplayrc", text = "", fg = "#cba6f7" }, - { name = ".gtkrc-2.0", text = "", fg = "#f5e0dc" }, - { name = "bspwmrc", text = "", fg = "#313244" }, - { name = "webpack", text = "󰜫", fg = "#74c7ec" }, - { name = "tsconfig.json", text = "", fg = "#74c7ec" }, - { name = ".vimrc", text = "", fg = "#a6e3a1" }, - { name = "gemfile$", text = "", fg = "#313244" }, - { name = "xmobarrc", text = "", fg = "#f38ba8" }, - { name = "avif", text = "", fg = "#7f849c" }, - { name = "fp-info-cache", text = "", fg = "#f5e0dc" }, - { name = ".zshrc", text = "", fg = "#a6e3a1" }, - { name = "robots.txt", text = "󰚩", fg = "#6c7086" }, - { name = "dockerfile", text = "󰡨", fg = "#89b4fa" }, - { name = ".git-blame-ignore-revs", text = "", fg = "#fab387" }, - { name = ".nvmrc", text = "", fg = "#a6e3a1" }, - { name = "hyprpaper.conf", text = "", fg = "#74c7ec" }, - { name = ".prettierignore", text = "", fg = "#89b4fa" }, - { name = "rakefile", text = "", fg = "#313244" }, - { name = "code_of_conduct", text = "", fg = "#f38ba8" }, - { name = "cmakelists.txt", text = "", fg = "#cdd6f4" }, - { name = ".env", text = "", fg = "#f9e2af" }, - { name = "copying.lesser", text = "", fg = "#f9e2af" }, - { name = "readme", text = "󰂺", fg = "#f5e0dc" }, - { name = "settings.gradle", text = "", fg = "#585b70" }, - { name = "gruntfile.coffee", text = "", fg = "#fab387" }, - { name = ".eslintignore", text = "", fg = "#585b70" }, - { name = "kalgebrarc", text = "", fg = "#89b4fa" }, - { name = "kdenliverc", text = "", fg = "#89b4fa" }, - { name = ".prettierrc.cjs", text = "", fg = "#89b4fa" }, - { name = "cantorrc", text = "", fg = "#89b4fa" }, - { name = "rmd", text = "", fg = "#74c7ec" }, - { name = "vagrantfile$", text = "", fg = "#6c7086" }, - { name = ".Xauthority", text = "", fg = "#fab387" }, - { name = "prettier.config.ts", text = "", fg = "#89b4fa" }, - { name = "node_modules", text = "", fg = "#f38ba8" }, - { name = ".prettierrc.toml", text = "", fg = "#89b4fa" }, - { name = "build.zig.zon", text = "", fg = "#fab387" }, - { name = ".ds_store", text = "", fg = "#45475a" }, - { name = "PKGBUILD", text = "", fg = "#89b4fa" }, - { name = ".prettierrc", text = "", fg = "#89b4fa" }, - { name = ".bash_profile", text = "", fg = "#a6e3a1" }, - { name = ".npmignore", text = "", fg = "#f38ba8" }, - { name = ".mailmap", text = "󰊢", fg = "#fab387" }, - { name = ".codespellrc", text = "󰓆", fg = "#a6e3a1" }, - { name = "svelte.config.js", text = "", fg = "#fab387" }, - { name = "eslint.config.ts", text = "", fg = "#585b70" }, - { name = "config", text = "", fg = "#7f849c" }, - { name = ".gitlab-ci.yml", text = "", fg = "#fab387" }, - { name = ".gitconfig", text = "", fg = "#fab387" }, - { name = "_gvimrc", text = "", fg = "#a6e3a1" }, - { name = ".xinitrc", text = "", fg = "#fab387" }, - { name = "checkhealth", text = "󰓙", fg = "#89b4fa" }, - { name = "sxhkdrc", text = "", fg = "#313244" }, - { name = ".bashrc", text = "", fg = "#a6e3a1" }, - { name = "tailwind.config.mjs", text = "󱏿", fg = "#74c7ec" }, - { name = "ext_typoscript_setup.txt", text = "", fg = "#fab387" }, - { name = "commitlint.config.ts", text = "󰜘", fg = "#94e2d5" }, - { name = "py.typed", text = "", fg = "#f9e2af" }, - { name = ".nanorc", text = "", fg = "#313244" }, - { name = "commit_editmsg", text = "", fg = "#fab387" }, - { name = ".luaurc", text = "", fg = "#89b4fa" }, - { name = "fp-lib-table", text = "", fg = "#f5e0dc" }, - { name = ".editorconfig", text = "", fg = "#f5e0dc" }, - { name = "justfile", text = "", fg = "#7f849c" }, - { name = "kdeglobals", text = "", fg = "#89b4fa" }, - { name = "license.md", text = "", fg = "#f9e2af" }, - { name = ".clang-format", text = "", fg = "#7f849c" }, - { name = "docker-compose.yaml", text = "󰡨", fg = "#89b4fa" }, - { name = "copying", text = "", fg = "#f9e2af" }, - { name = "go.mod", text = "", fg = "#74c7ec" }, - { name = "lxqt.conf", text = "", fg = "#89b4fa" }, - { name = "brewfile", text = "", fg = "#313244" }, - { name = "gulpfile.coffee", text = "", fg = "#f38ba8" }, - { name = ".dockerignore", text = "󰡨", fg = "#89b4fa" }, - { name = ".settings.json", text = "", fg = "#6c7086" }, - { name = "tailwind.config.js", text = "󱏿", fg = "#74c7ec" }, - { name = ".clang-tidy", text = "", fg = "#7f849c" }, - { name = ".gvimrc", text = "", fg = "#a6e3a1" }, - { name = "nuxt.config.cjs", text = "󱄆", fg = "#a6e3a1" }, - { name = "xsettingsd.conf", text = "", fg = "#fab387" }, - { name = "nuxt.config.js", text = "󱄆", fg = "#a6e3a1" }, - { name = "eslint.config.cjs", text = "", fg = "#585b70" }, - { name = "sym-lib-table", text = "", fg = "#f5e0dc" }, - { name = ".condarc", text = "", fg = "#a6e3a1" }, - { name = "xmonad.hs", text = "", fg = "#f38ba8" }, - { name = "tmux.conf", text = "", fg = "#a6e3a1" }, - { name = "xmobarrc.hs", text = "", fg = "#f38ba8" }, - { name = ".prettierrc.yaml", text = "", fg = "#89b4fa" }, - { name = ".pre-commit-config.yaml", text = "󰛢", fg = "#fab387" }, - { name = "i3blocks.conf", text = "", fg = "#f5e0dc" }, - { name = "xorg.conf", text = "", fg = "#fab387" }, - { name = ".zshenv", text = "", fg = "#a6e3a1" }, - { name = "vlcrc", text = "󰕼", fg = "#fab387" }, - { name = "license", text = "", fg = "#f9e2af" }, - { name = "unlicense", text = "", fg = "#f9e2af" }, - { name = "tmux.conf.local", text = "", fg = "#a6e3a1" }, - { name = ".SRCINFO", text = "󰣇", fg = "#89b4fa" }, - { name = "tailwind.config.ts", text = "󱏿", fg = "#74c7ec" }, - { name = "security.md", text = "󰒃", fg = "#bac2de" }, - { name = "security", text = "󰒃", fg = "#bac2de" }, - { name = ".eslintrc", text = "", fg = "#585b70" }, - { name = "gradle.properties", text = "", fg = "#585b70" }, - { name = "code_of_conduct.md", text = "", fg = "#f38ba8" }, - { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#fab387" }, - { name = "PrusaSlicer.ini", text = "", fg = "#fab387" }, - { name = "procfile", text = "", fg = "#7f849c" }, - { name = "mpv.conf", text = "", fg = "#1e1e2e" }, - { name = ".prettierrc.json5", text = "", fg = "#89b4fa" }, - { name = "i3status.conf", text = "", fg = "#f5e0dc" }, - { name = "prettier.config.mjs", text = "", fg = "#89b4fa" }, - { name = ".pylintrc", text = "", fg = "#7f849c" }, - { name = "prettier.config.cjs", text = "", fg = "#89b4fa" }, - { name = ".luacheckrc", text = "", fg = "#89b4fa" }, - { name = "containerfile", text = "󰡨", fg = "#89b4fa" }, - { name = "eslint.config.mjs", text = "", fg = "#585b70" }, - { name = "gruntfile.js", text = "", fg = "#fab387" }, - { name = "bun.lockb", text = "", fg = "#f5e0dc" }, - { name = ".gitattributes", text = "", fg = "#fab387" }, - { name = "gruntfile.ts", text = "", fg = "#fab387" }, - { name = "pom.xml", text = "", fg = "#313244" }, - { name = "favicon.ico", text = "", fg = "#f9e2af" }, - { name = "package-lock.json", text = "", fg = "#313244" }, - { name = "build", text = "", fg = "#a6e3a1" }, - { name = "package.json", text = "", fg = "#f38ba8" }, - { name = "nuxt.config.ts", text = "󱄆", fg = "#a6e3a1" }, - { name = "nuxt.config.mjs", text = "󱄆", fg = "#a6e3a1" }, - { name = "mix.lock", text = "", fg = "#7f849c" }, - { name = "makefile", text = "", fg = "#7f849c" }, - { name = "gulpfile.js", text = "", fg = "#f38ba8" }, - { name = "lxde-rc.xml", text = "", fg = "#9399b2" }, - { name = "kritarc", text = "", fg = "#cba6f7" }, - { name = "gtkrc", text = "", fg = "#f5e0dc" }, - { name = "ionic.config.json", text = "", fg = "#89b4fa" }, - { name = ".prettierrc.mjs", text = "", fg = "#89b4fa" }, - { name = ".prettierrc.yml", text = "", fg = "#89b4fa" }, - { name = ".npmrc", text = "", fg = "#f38ba8" }, - { name = "weston.ini", text = "", fg = "#f9e2af" }, - { name = "gulpfile.babel.js", text = "", fg = "#f38ba8" }, - { name = "i18n.config.ts", text = "󰗊", fg = "#7f849c" }, - { name = "commitlint.config.js", text = "󰜘", fg = "#94e2d5" }, - { name = ".gitmodules", text = "", fg = "#fab387" }, - { name = "gradle-wrapper.properties", text = "", fg = "#585b70" }, - { name = "hypridle.conf", text = "", fg = "#74c7ec" }, - { name = "vercel.json", text = "▲", fg = "#f5e0dc" }, - { name = "hyprlock.conf", text = "", fg = "#74c7ec" }, - { name = "go.sum", text = "", fg = "#74c7ec" }, - { name = "kdenlive-layoutsrc", text = "", fg = "#89b4fa" }, - { name = "gruntfile.babel.js", text = "", fg = "#fab387" }, - { name = "compose.yml", text = "󰡨", fg = "#89b4fa" }, - { name = "i18n.config.js", text = "󰗊", fg = "#7f849c" }, - { name = "readme.md", text = "󰂺", fg = "#f5e0dc" }, - { name = "gradlew", text = "", fg = "#585b70" }, - { name = "go.work", text = "", fg = "#74c7ec" }, - { name = "gulpfile.ts", text = "", fg = "#f38ba8" }, - { name = "gnumakefile", text = "", fg = "#7f849c" }, - { name = "FreeCAD.conf", text = "", fg = "#f38ba8" }, - { name = "compose.yaml", text = "󰡨", fg = "#89b4fa" }, - { name = "eslint.config.js", text = "", fg = "#585b70" }, - { name = "hyprland.conf", text = "", fg = "#74c7ec" }, - { name = "docker-compose.yml", text = "󰡨", fg = "#89b4fa" }, - { name = "groovy", text = "", fg = "#585b70" }, - { name = "QtProject.conf", text = "", fg = "#a6e3a1" }, - { name = "platformio.ini", text = "", fg = "#fab387" }, - { name = "build.gradle", text = "", fg = "#585b70" }, - { name = ".nuxtrc", text = "󱄆", fg = "#a6e3a1" }, - { name = "_vimrc", text = "", fg = "#a6e3a1" }, - { name = ".zprofile", text = "", fg = "#a6e3a1" }, - { name = ".xsession", text = "", fg = "#fab387" }, - { name = "prettier.config.js", text = "", fg = "#89b4fa" }, - { name = ".babelrc", text = "", fg = "#f9e2af" }, - { name = "workspace", text = "", fg = "#a6e3a1" }, - { name = ".prettierrc.json", text = "", fg = "#89b4fa" }, - { name = ".prettierrc.js", text = "", fg = "#89b4fa" }, - { name = ".Xresources", text = "", fg = "#fab387" }, - { name = ".gitignore", text = "", fg = "#fab387" }, - { name = ".justfile", text = "", fg = "#7f849c" }, -] -exts = [ - { name = "otf", text = "", fg = "#f5e0dc" }, - { name = "import", text = "", fg = "#f5e0dc" }, - { name = "krz", text = "", fg = "#cba6f7" }, - { name = "adb", text = "", fg = "#94e2d5" }, - { name = "ttf", text = "", fg = "#f5e0dc" }, - { name = "webpack", text = "󰜫", fg = "#74c7ec" }, - { name = "dart", text = "", fg = "#585b70" }, - { name = "vsh", text = "", fg = "#7f849c" }, - { name = "doc", text = "󰈬", fg = "#585b70" }, - { name = "zsh", text = "", fg = "#a6e3a1" }, - { name = "ex", text = "", fg = "#7f849c" }, - { name = "hx", text = "", fg = "#fab387" }, - { name = "fodt", text = "", fg = "#74c7ec" }, - { name = "mojo", text = "", fg = "#fab387" }, - { name = "templ", text = "", fg = "#f9e2af" }, - { name = "nix", text = "", fg = "#74c7ec" }, - { name = "cshtml", text = "󱦗", fg = "#585b70" }, - { name = "fish", text = "", fg = "#585b70" }, - { name = "ply", text = "󰆧", fg = "#7f849c" }, - { name = "sldprt", text = "󰻫", fg = "#a6e3a1" }, - { name = "gemspec", text = "", fg = "#313244" }, - { name = "mjs", text = "", fg = "#f9e2af" }, - { name = "csh", text = "", fg = "#585b70" }, - { name = "cmake", text = "", fg = "#cdd6f4" }, - { name = "fodp", text = "", fg = "#fab387" }, - { name = "vi", text = "", fg = "#f9e2af" }, - { name = "msf", text = "", fg = "#89b4fa" }, - { name = "blp", text = "󰺾", fg = "#89b4fa" }, - { name = "less", text = "", fg = "#45475a" }, - { name = "sh", text = "", fg = "#585b70" }, - { name = "odg", text = "", fg = "#f9e2af" }, - { name = "mint", text = "󰌪", fg = "#a6e3a1" }, - { name = "dll", text = "", fg = "#11111b" }, - { name = "odf", text = "", fg = "#f38ba8" }, - { name = "sqlite3", text = "", fg = "#f5e0dc" }, - { name = "Dockerfile", text = "󰡨", fg = "#89b4fa" }, - { name = "ksh", text = "", fg = "#585b70" }, - { name = "rmd", text = "", fg = "#74c7ec" }, - { name = "wv", text = "", fg = "#74c7ec" }, - { name = "xml", text = "󰗀", fg = "#fab387" }, - { name = "markdown", text = "", fg = "#cdd6f4" }, - { name = "qml", text = "", fg = "#a6e3a1" }, - { name = "3gp", text = "", fg = "#fab387" }, - { name = "pxi", text = "", fg = "#89b4fa" }, - { name = "flac", text = "", fg = "#6c7086" }, - { name = "gpr", text = "", fg = "#cba6f7" }, - { name = "huff", text = "󰡘", fg = "#585b70" }, - { name = "json", text = "", fg = "#f9e2af" }, - { name = "gv", text = "󱁉", fg = "#585b70" }, - { name = "bmp", text = "", fg = "#7f849c" }, - { name = "lock", text = "", fg = "#bac2de" }, - { name = "sha384", text = "󰕥", fg = "#7f849c" }, - { name = "cobol", text = "⚙", fg = "#585b70" }, - { name = "cob", text = "⚙", fg = "#585b70" }, - { name = "java", text = "", fg = "#f38ba8" }, - { name = "cjs", text = "", fg = "#f9e2af" }, - { name = "qm", text = "", fg = "#74c7ec" }, - { name = "ebuild", text = "", fg = "#45475a" }, - { name = "mustache", text = "", fg = "#fab387" }, - { name = "terminal", text = "", fg = "#a6e3a1" }, - { name = "ejs", text = "", fg = "#f9e2af" }, - { name = "brep", text = "󰻫", fg = "#a6e3a1" }, - { name = "rar", text = "", fg = "#fab387" }, - { name = "gradle", text = "", fg = "#585b70" }, - { name = "gnumakefile", text = "", fg = "#7f849c" }, - { name = "applescript", text = "", fg = "#7f849c" }, - { name = "elm", text = "", fg = "#74c7ec" }, - { name = "ebook", text = "", fg = "#fab387" }, - { name = "kra", text = "", fg = "#cba6f7" }, - { name = "tf", text = "", fg = "#585b70" }, - { name = "xls", text = "󰈛", fg = "#585b70" }, - { name = "fnl", text = "", fg = "#f9e2af" }, - { name = "kdbx", text = "", fg = "#a6e3a1" }, - { name = "kicad_pcb", text = "", fg = "#f5e0dc" }, - { name = "cfg", text = "", fg = "#7f849c" }, - { name = "ape", text = "", fg = "#74c7ec" }, - { name = "org", text = "", fg = "#94e2d5" }, - { name = "yml", text = "", fg = "#7f849c" }, - { name = "swift", text = "", fg = "#fab387" }, - { name = "eln", text = "", fg = "#7f849c" }, - { name = "sol", text = "", fg = "#74c7ec" }, - { name = "awk", text = "", fg = "#585b70" }, - { name = "7z", text = "", fg = "#fab387" }, - { name = "apl", text = "⍝", fg = "#fab387" }, - { name = "epp", text = "", fg = "#fab387" }, - { name = "app", text = "", fg = "#45475a" }, - { name = "dot", text = "󱁉", fg = "#585b70" }, - { name = "kpp", text = "", fg = "#cba6f7" }, - { name = "eot", text = "", fg = "#f5e0dc" }, - { name = "hpp", text = "", fg = "#7f849c" }, - { name = "spec.tsx", text = "", fg = "#585b70" }, - { name = "hurl", text = "", fg = "#f38ba8" }, - { name = "cxxm", text = "", fg = "#74c7ec" }, - { name = "c", text = "", fg = "#89b4fa" }, - { name = "fcmacro", text = "", fg = "#f38ba8" }, - { name = "sass", text = "", fg = "#f38ba8" }, - { name = "yaml", text = "", fg = "#7f849c" }, - { name = "xz", text = "", fg = "#fab387" }, - { name = "material", text = "󰔉", fg = "#f38ba8" }, - { name = "json5", text = "", fg = "#f9e2af" }, - { name = "signature", text = "λ", fg = "#fab387" }, - { name = "3mf", text = "󰆧", fg = "#7f849c" }, - { name = "jpg", text = "", fg = "#7f849c" }, - { name = "xpi", text = "", fg = "#fab387" }, - { name = "fcmat", text = "", fg = "#f38ba8" }, - { name = "pot", text = "", fg = "#74c7ec" }, - { name = "bin", text = "", fg = "#45475a" }, - { name = "xlsx", text = "󰈛", fg = "#585b70" }, - { name = "aac", text = "", fg = "#74c7ec" }, - { name = "kicad_sym", text = "", fg = "#f5e0dc" }, - { name = "xcstrings", text = "", fg = "#74c7ec" }, - { name = "lff", text = "", fg = "#f5e0dc" }, - { name = "xcf", text = "", fg = "#585b70" }, - { name = "azcli", text = "", fg = "#6c7086" }, - { name = "license", text = "", fg = "#f9e2af" }, - { name = "jsonc", text = "", fg = "#f9e2af" }, - { name = "xaml", text = "󰙳", fg = "#585b70" }, - { name = "md5", text = "󰕥", fg = "#7f849c" }, - { name = "xm", text = "", fg = "#74c7ec" }, - { name = "sln", text = "", fg = "#6c7086" }, - { name = "jl", text = "", fg = "#7f849c" }, - { name = "ml", text = "", fg = "#fab387" }, - { name = "http", text = "", fg = "#89b4fa" }, - { name = "x", text = "", fg = "#89b4fa" }, - { name = "wvc", text = "", fg = "#74c7ec" }, - { name = "wrz", text = "󰆧", fg = "#7f849c" }, - { name = "csproj", text = "󰪮", fg = "#585b70" }, - { name = "wrl", text = "󰆧", fg = "#7f849c" }, - { name = "wma", text = "", fg = "#74c7ec" }, - { name = "woff2", text = "", fg = "#f5e0dc" }, - { name = "woff", text = "", fg = "#f5e0dc" }, - { name = "tscn", text = "", fg = "#7f849c" }, - { name = "webmanifest", text = "", fg = "#f9e2af" }, - { name = "webm", text = "", fg = "#fab387" }, - { name = "fcbak", text = "", fg = "#f38ba8" }, - { name = "log", text = "󰌱", fg = "#cdd6f4" }, - { name = "wav", text = "", fg = "#74c7ec" }, - { name = "wasm", text = "", fg = "#585b70" }, - { name = "styl", text = "", fg = "#a6e3a1" }, - { name = "gif", text = "", fg = "#7f849c" }, - { name = "resi", text = "", fg = "#f38ba8" }, - { name = "aiff", text = "", fg = "#74c7ec" }, - { name = "sha256", text = "󰕥", fg = "#7f849c" }, - { name = "igs", text = "󰻫", fg = "#a6e3a1" }, - { name = "vsix", text = "", fg = "#6c7086" }, - { name = "vim", text = "", fg = "#a6e3a1" }, - { name = "diff", text = "", fg = "#45475a" }, - { name = "drl", text = "", fg = "#eba0ac" }, - { name = "erl", text = "", fg = "#f38ba8" }, - { name = "vhdl", text = "󰍛", fg = "#a6e3a1" }, - { name = "🔥", text = "", fg = "#fab387" }, - { name = "hrl", text = "", fg = "#f38ba8" }, - { name = "fsi", text = "", fg = "#74c7ec" }, - { name = "mm", text = "", fg = "#74c7ec" }, - { name = "bz", text = "", fg = "#fab387" }, - { name = "vh", text = "󰍛", fg = "#a6e3a1" }, - { name = "kdb", text = "", fg = "#a6e3a1" }, - { name = "gz", text = "", fg = "#fab387" }, - { name = "cpp", text = "", fg = "#74c7ec" }, - { name = "ui", text = "", fg = "#6c7086" }, - { name = "txt", text = "󰈙", fg = "#a6e3a1" }, - { name = "spec.ts", text = "", fg = "#74c7ec" }, - { name = "ccm", text = "", fg = "#f38ba8" }, - { name = "typoscript", text = "", fg = "#fab387" }, - { name = "typ", text = "", fg = "#89dceb" }, - { name = "txz", text = "", fg = "#fab387" }, - { name = "test.ts", text = "", fg = "#74c7ec" }, - { name = "tsx", text = "", fg = "#585b70" }, - { name = "mk", text = "", fg = "#7f849c" }, - { name = "webp", text = "", fg = "#7f849c" }, - { name = "opus", text = "", fg = "#6c7086" }, - { name = "bicep", text = "", fg = "#74c7ec" }, - { name = "ts", text = "", fg = "#74c7ec" }, - { name = "tres", text = "", fg = "#7f849c" }, - { name = "torrent", text = "", fg = "#94e2d5" }, - { name = "cxx", text = "", fg = "#74c7ec" }, - { name = "iso", text = "", fg = "#f2cdcd" }, - { name = "ixx", text = "", fg = "#74c7ec" }, - { name = "hxx", text = "", fg = "#7f849c" }, - { name = "gql", text = "", fg = "#f38ba8" }, - { name = "tmux", text = "", fg = "#a6e3a1" }, - { name = "ini", text = "", fg = "#7f849c" }, - { name = "m3u8", text = "󰲹", fg = "#f38ba8" }, - { name = "image", text = "", fg = "#f2cdcd" }, - { name = "tfvars", text = "", fg = "#585b70" }, - { name = "tex", text = "", fg = "#45475a" }, - { name = "cbl", text = "⚙", fg = "#585b70" }, - { name = "flc", text = "", fg = "#f5e0dc" }, - { name = "elc", text = "", fg = "#7f849c" }, - { name = "test.tsx", text = "", fg = "#585b70" }, - { name = "twig", text = "", fg = "#a6e3a1" }, - { name = "sql", text = "", fg = "#f5e0dc" }, - { name = "test.jsx", text = "", fg = "#74c7ec" }, - { name = "htm", text = "", fg = "#fab387" }, - { name = "gcode", text = "󰐫", fg = "#6c7086" }, - { name = "test.js", text = "", fg = "#f9e2af" }, - { name = "ino", text = "", fg = "#74c7ec" }, - { name = "tcl", text = "󰛓", fg = "#585b70" }, - { name = "cljs", text = "", fg = "#74c7ec" }, - { name = "tsconfig", text = "", fg = "#fab387" }, - { name = "img", text = "", fg = "#f2cdcd" }, - { name = "t", text = "", fg = "#74c7ec" }, - { name = "fcstd1", text = "", fg = "#f38ba8" }, - { name = "out", text = "", fg = "#45475a" }, - { name = "jsx", text = "", fg = "#74c7ec" }, - { name = "bash", text = "", fg = "#a6e3a1" }, - { name = "edn", text = "", fg = "#74c7ec" }, - { name = "rss", text = "", fg = "#fab387" }, - { name = "flf", text = "", fg = "#f5e0dc" }, - { name = "cache", text = "", fg = "#f5e0dc" }, - { name = "sbt", text = "", fg = "#f38ba8" }, - { name = "cppm", text = "", fg = "#74c7ec" }, - { name = "svelte", text = "", fg = "#fab387" }, - { name = "mo", text = "∞", fg = "#7f849c" }, - { name = "sv", text = "󰍛", fg = "#a6e3a1" }, - { name = "ko", text = "", fg = "#f5e0dc" }, - { name = "suo", text = "", fg = "#6c7086" }, - { name = "sldasm", text = "󰻫", fg = "#a6e3a1" }, - { name = "icalendar", text = "", fg = "#313244" }, - { name = "go", text = "", fg = "#74c7ec" }, - { name = "sublime", text = "", fg = "#fab387" }, - { name = "stl", text = "󰆧", fg = "#7f849c" }, - { name = "mobi", text = "", fg = "#fab387" }, - { name = "graphql", text = "", fg = "#f38ba8" }, - { name = "m3u", text = "󰲹", fg = "#f38ba8" }, - { name = "cpy", text = "⚙", fg = "#585b70" }, - { name = "kdenlive", text = "", fg = "#89b4fa" }, - { name = "pyo", text = "", fg = "#f9e2af" }, - { name = "po", text = "", fg = "#74c7ec" }, - { name = "scala", text = "", fg = "#f38ba8" }, - { name = "exs", text = "", fg = "#7f849c" }, - { name = "odp", text = "", fg = "#fab387" }, - { name = "dump", text = "", fg = "#f5e0dc" }, - { name = "stp", text = "󰻫", fg = "#a6e3a1" }, - { name = "step", text = "󰻫", fg = "#a6e3a1" }, - { name = "ste", text = "󰻫", fg = "#a6e3a1" }, - { name = "aif", text = "", fg = "#74c7ec" }, - { name = "strings", text = "", fg = "#74c7ec" }, - { name = "cp", text = "", fg = "#74c7ec" }, - { name = "fsscript", text = "", fg = "#74c7ec" }, - { name = "mli", text = "", fg = "#fab387" }, - { name = "bak", text = "󰁯", fg = "#7f849c" }, - { name = "ssa", text = "󰨖", fg = "#f9e2af" }, - { name = "toml", text = "", fg = "#585b70" }, - { name = "makefile", text = "", fg = "#7f849c" }, - { name = "php", text = "", fg = "#7f849c" }, - { name = "zst", text = "", fg = "#fab387" }, - { name = "spec.jsx", text = "", fg = "#74c7ec" }, - { name = "kbx", text = "󰯄", fg = "#6c7086" }, - { name = "fbx", text = "󰆧", fg = "#7f849c" }, - { name = "blend", text = "󰂫", fg = "#fab387" }, - { name = "ifc", text = "󰻫", fg = "#a6e3a1" }, - { name = "spec.js", text = "", fg = "#f9e2af" }, - { name = "so", text = "", fg = "#f5e0dc" }, - { name = "desktop", text = "", fg = "#45475a" }, - { name = "sml", text = "λ", fg = "#fab387" }, - { name = "slvs", text = "󰻫", fg = "#a6e3a1" }, - { name = "pp", text = "", fg = "#fab387" }, - { name = "ps1", text = "󰨊", fg = "#6c7086" }, - { name = "dropbox", text = "", fg = "#6c7086" }, - { name = "kicad_mod", text = "", fg = "#f5e0dc" }, - { name = "bat", text = "", fg = "#a6e3a1" }, - { name = "slim", text = "", fg = "#fab387" }, - { name = "skp", text = "󰻫", fg = "#a6e3a1" }, - { name = "css", text = "", fg = "#89b4fa" }, - { name = "xul", text = "", fg = "#fab387" }, - { name = "ige", text = "󰻫", fg = "#a6e3a1" }, - { name = "glb", text = "", fg = "#fab387" }, - { name = "ppt", text = "󰈧", fg = "#f38ba8" }, - { name = "sha512", text = "󰕥", fg = "#7f849c" }, - { name = "ics", text = "", fg = "#313244" }, - { name = "mdx", text = "", fg = "#74c7ec" }, - { name = "sha1", text = "󰕥", fg = "#7f849c" }, - { name = "f3d", text = "󰻫", fg = "#a6e3a1" }, - { name = "ass", text = "󰨖", fg = "#f9e2af" }, - { name = "godot", text = "", fg = "#7f849c" }, - { name = "ifb", text = "", fg = "#313244" }, - { name = "cson", text = "", fg = "#f9e2af" }, - { name = "lib", text = "", fg = "#11111b" }, - { name = "luac", text = "", fg = "#74c7ec" }, - { name = "heex", text = "", fg = "#7f849c" }, - { name = "scm", text = "󰘧", fg = "#f5e0dc" }, - { name = "psd1", text = "󰨊", fg = "#7f849c" }, - { name = "sc", text = "", fg = "#f38ba8" }, - { name = "scad", text = "", fg = "#f9e2af" }, - { name = "kts", text = "", fg = "#6c7086" }, - { name = "svh", text = "󰍛", fg = "#a6e3a1" }, - { name = "mts", text = "", fg = "#74c7ec" }, - { name = "nfo", text = "", fg = "#f9e2af" }, - { name = "pck", text = "", fg = "#7f849c" }, - { name = "rproj", text = "󰗆", fg = "#a6e3a1" }, - { name = "rlib", text = "", fg = "#fab387" }, - { name = "cljd", text = "", fg = "#74c7ec" }, - { name = "ods", text = "", fg = "#a6e3a1" }, - { name = "res", text = "", fg = "#f38ba8" }, - { name = "apk", text = "", fg = "#a6e3a1" }, - { name = "haml", text = "", fg = "#f5e0dc" }, - { name = "d.ts", text = "", fg = "#fab387" }, - { name = "razor", text = "󱦘", fg = "#585b70" }, - { name = "rake", text = "", fg = "#313244" }, - { name = "patch", text = "", fg = "#45475a" }, - { name = "cuh", text = "", fg = "#7f849c" }, - { name = "d", text = "", fg = "#f38ba8" }, - { name = "query", text = "", fg = "#a6e3a1" }, - { name = "psb", text = "", fg = "#74c7ec" }, - { name = "nu", text = ">", fg = "#a6e3a1" }, - { name = "mov", text = "", fg = "#fab387" }, - { name = "lrc", text = "󰨖", fg = "#f9e2af" }, - { name = "pyx", text = "", fg = "#89b4fa" }, - { name = "pyw", text = "", fg = "#89b4fa" }, - { name = "cu", text = "", fg = "#a6e3a1" }, - { name = "bazel", text = "", fg = "#a6e3a1" }, - { name = "obj", text = "󰆧", fg = "#7f849c" }, - { name = "pyi", text = "", fg = "#f9e2af" }, - { name = "pyd", text = "", fg = "#f9e2af" }, - { name = "exe", text = "", fg = "#45475a" }, - { name = "pyc", text = "", fg = "#f9e2af" }, - { name = "fctb", text = "", fg = "#f38ba8" }, - { name = "part", text = "", fg = "#94e2d5" }, - { name = "blade.php", text = "", fg = "#f38ba8" }, - { name = "git", text = "", fg = "#fab387" }, - { name = "psd", text = "", fg = "#74c7ec" }, - { name = "qss", text = "", fg = "#a6e3a1" }, - { name = "csv", text = "", fg = "#a6e3a1" }, - { name = "psm1", text = "󰨊", fg = "#7f849c" }, - { name = "dconf", text = "", fg = "#f5e0dc" }, - { name = "config.ru", text = "", fg = "#313244" }, - { name = "prisma", text = "", fg = "#6c7086" }, - { name = "conf", text = "", fg = "#7f849c" }, - { name = "clj", text = "", fg = "#a6e3a1" }, - { name = "o", text = "", fg = "#45475a" }, - { name = "mp4", text = "", fg = "#fab387" }, - { name = "cc", text = "", fg = "#f38ba8" }, - { name = "kicad_prl", text = "", fg = "#f5e0dc" }, - { name = "bz3", text = "", fg = "#fab387" }, - { name = "asc", text = "󰦝", fg = "#6c7086" }, - { name = "png", text = "", fg = "#7f849c" }, - { name = "android", text = "", fg = "#a6e3a1" }, - { name = "pm", text = "", fg = "#74c7ec" }, - { name = "h", text = "", fg = "#7f849c" }, - { name = "pls", text = "󰲹", fg = "#f38ba8" }, - { name = "ipynb", text = "", fg = "#fab387" }, - { name = "pl", text = "", fg = "#74c7ec" }, - { name = "ads", text = "", fg = "#f5e0dc" }, - { name = "sqlite", text = "", fg = "#f5e0dc" }, - { name = "pdf", text = "", fg = "#585b70" }, - { name = "pcm", text = "", fg = "#6c7086" }, - { name = "ico", text = "", fg = "#f9e2af" }, - { name = "a", text = "", fg = "#f5e0dc" }, - { name = "R", text = "󰟔", fg = "#6c7086" }, - { name = "ogg", text = "", fg = "#6c7086" }, - { name = "pxd", text = "", fg = "#89b4fa" }, - { name = "kdenlivetitle", text = "", fg = "#89b4fa" }, - { name = "jxl", text = "", fg = "#7f849c" }, - { name = "nswag", text = "", fg = "#a6e3a1" }, - { name = "nim", text = "", fg = "#f9e2af" }, - { name = "bqn", text = "⎉", fg = "#6c7086" }, - { name = "cts", text = "", fg = "#74c7ec" }, - { name = "fcparam", text = "", fg = "#f38ba8" }, - { name = "rs", text = "", fg = "#fab387" }, - { name = "mpp", text = "", fg = "#74c7ec" }, - { name = "fdmdownload", text = "", fg = "#94e2d5" }, - { name = "pptx", text = "󰈧", fg = "#f38ba8" }, - { name = "jpeg", text = "", fg = "#7f849c" }, - { name = "bib", text = "󱉟", fg = "#f9e2af" }, - { name = "vhd", text = "󰍛", fg = "#a6e3a1" }, - { name = "m", text = "", fg = "#89b4fa" }, - { name = "js", text = "", fg = "#f9e2af" }, - { name = "eex", text = "", fg = "#7f849c" }, - { name = "tbc", text = "󰛓", fg = "#585b70" }, - { name = "astro", text = "", fg = "#f38ba8" }, - { name = "sha224", text = "󰕥", fg = "#7f849c" }, - { name = "xcplayground", text = "", fg = "#fab387" }, - { name = "el", text = "", fg = "#7f849c" }, - { name = "m4v", text = "", fg = "#fab387" }, - { name = "m4a", text = "", fg = "#74c7ec" }, - { name = "cs", text = "󰌛", fg = "#585b70" }, - { name = "hs", text = "", fg = "#7f849c" }, - { name = "tgz", text = "", fg = "#fab387" }, - { name = "fs", text = "", fg = "#74c7ec" }, - { name = "luau", text = "", fg = "#89b4fa" }, - { name = "dxf", text = "󰻫", fg = "#a6e3a1" }, - { name = "download", text = "", fg = "#94e2d5" }, - { name = "cast", text = "", fg = "#fab387" }, - { name = "qrc", text = "", fg = "#a6e3a1" }, - { name = "lua", text = "", fg = "#74c7ec" }, - { name = "lhs", text = "", fg = "#7f849c" }, - { name = "md", text = "", fg = "#cdd6f4" }, - { name = "leex", text = "", fg = "#7f849c" }, - { name = "ai", text = "", fg = "#f9e2af" }, - { name = "lck", text = "", fg = "#bac2de" }, - { name = "kt", text = "", fg = "#6c7086" }, - { name = "bicepparam", text = "", fg = "#7f849c" }, - { name = "hex", text = "", fg = "#6c7086" }, - { name = "zig", text = "", fg = "#fab387" }, - { name = "bzl", text = "", fg = "#a6e3a1" }, - { name = "cljc", text = "", fg = "#a6e3a1" }, - { name = "kicad_dru", text = "", fg = "#f5e0dc" }, - { name = "fctl", text = "", fg = "#f38ba8" }, - { name = "f#", text = "", fg = "#74c7ec" }, - { name = "odt", text = "", fg = "#74c7ec" }, - { name = "conda", text = "", fg = "#a6e3a1" }, - { name = "vala", text = "", fg = "#585b70" }, - { name = "erb", text = "", fg = "#313244" }, - { name = "mp3", text = "", fg = "#74c7ec" }, - { name = "bz2", text = "", fg = "#fab387" }, - { name = "coffee", text = "", fg = "#f9e2af" }, - { name = "cr", text = "", fg = "#f5e0dc" }, - { name = "f90", text = "󱈚", fg = "#585b70" }, - { name = "jwmrc", text = "", fg = "#6c7086" }, - { name = "c++", text = "", fg = "#f38ba8" }, - { name = "fcscript", text = "", fg = "#f38ba8" }, - { name = "fods", text = "", fg = "#a6e3a1" }, - { name = "cue", text = "󰲹", fg = "#f38ba8" }, - { name = "srt", text = "󰨖", fg = "#f9e2af" }, - { name = "info", text = "", fg = "#f9e2af" }, - { name = "hh", text = "", fg = "#7f849c" }, - { name = "sig", text = "λ", fg = "#fab387" }, - { name = "html", text = "", fg = "#fab387" }, - { name = "iges", text = "󰻫", fg = "#a6e3a1" }, - { name = "kicad_wks", text = "", fg = "#f5e0dc" }, - { name = "hbs", text = "", fg = "#fab387" }, - { name = "fcstd", text = "", fg = "#f38ba8" }, - { name = "gresource", text = "", fg = "#f5e0dc" }, - { name = "sub", text = "󰨖", fg = "#f9e2af" }, - { name = "ical", text = "", fg = "#313244" }, - { name = "crdownload", text = "", fg = "#94e2d5" }, - { name = "pub", text = "󰷖", fg = "#f9e2af" }, - { name = "vue", text = "", fg = "#a6e3a1" }, - { name = "gd", text = "", fg = "#7f849c" }, - { name = "fsx", text = "", fg = "#74c7ec" }, - { name = "mkv", text = "", fg = "#fab387" }, - { name = "py", text = "", fg = "#f9e2af" }, - { name = "kicad_sch", text = "", fg = "#f5e0dc" }, - { name = "epub", text = "", fg = "#fab387" }, - { name = "env", text = "", fg = "#f9e2af" }, - { name = "magnet", text = "", fg = "#45475a" }, - { name = "elf", text = "", fg = "#45475a" }, - { name = "fodg", text = "", fg = "#f9e2af" }, - { name = "svg", text = "󰜡", fg = "#fab387" }, - { name = "dwg", text = "󰻫", fg = "#a6e3a1" }, - { name = "docx", text = "󰈬", fg = "#585b70" }, - { name = "pro", text = "", fg = "#f9e2af" }, - { name = "db", text = "", fg = "#f5e0dc" }, - { name = "rb", text = "", fg = "#313244" }, - { name = "r", text = "󰟔", fg = "#6c7086" }, - { name = "scss", text = "", fg = "#f38ba8" }, - { name = "cow", text = "󰆚", fg = "#fab387" }, - { name = "gleam", text = "", fg = "#f5c2e7" }, - { name = "v", text = "󰍛", fg = "#a6e3a1" }, - { name = "kicad_pro", text = "", fg = "#f5e0dc" }, - { name = "liquid", text = "", fg = "#a6e3a1" }, - { name = "zip", text = "", fg = "#fab387" }, -] diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml deleted file mode 100644 index 004490e..0000000 --- a/.config/yazi/yazi.toml +++ /dev/null @@ -1,215 +0,0 @@ -# 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, 3, 4 ] -sort_by = "alphabetical" -sort_sensitive = false -sort_reverse = false -sort_dir_first = true -sort_translit = false -linemode = "none" -show_hidden = true -show_symlink = true -scrolloff = 5 -mouse_events = [ "click", "scroll" ] -title_format = "Yazi: {cwd}" - -[preview] -wrap = "no" -tab_size = 2 -max_width = 600 -max_height = 900 -cache_dir = "" -image_delay = 30 -image_filter = "triangle" -image_quality = 75 -ueberzug_scale = 1 -ueberzug_offset = [ 0, 0, 0, 0 ] - -[opener] -edit = [ - { run = '${EDITOR:-vi} "$@"', desc = "$EDITOR", block = true, for = "unix" }, -] -open = [ - { run = 'xdg-open "$1"', desc = "Open", for = "linux" }, -] -reveal = [ - { run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" }, - { run = '''clear; exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" }, -] -extract = [ - { run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" }, - { run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" }, -] -play = [ - { run = 'mpv --force-window "$@"', orphan = true, for = "unix" }, - { run = 'mpv --force-window %*', orphan = true, for = "windows" }, - { run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" }, -] - -[open] -rules = [ - # Folder - { name = "*/", use = [ "edit", "open", "reveal" ] }, - # Text - { mime = "text/*", use = [ "edit", "reveal" ] }, - # Image - { mime = "image/*", use = [ "open", "reveal" ] }, - # Media - { mime = "{audio,video}/*", use = [ "play", "reveal" ] }, - # Archive - { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] }, - # JSON - { mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] }, - { mime = "*/javascript", use = [ "edit", "reveal" ] }, - # Empty file - { mime = "inode/empty", use = [ "edit", "reveal" ] }, - # Fallback - { name = "*", use = [ "open", "reveal" ] }, -] - -[tasks] -micro_workers = 10 -macro_workers = 10 -bizarre_retry = 3 -image_alloc = 536870912 # 512MB -image_bound = [ 5000, 5000 ] -suppress_preload = false - -[plugin] -fetchers = [ - # Mimetype - { id = "mime", name = "*", run = "mime", prio = "high" }, -] -spotters = [ - { name = "*/", run = "folder" }, - # Code - { mime = "text/*", run = "code" }, - { mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" }, - # Image - { mime = "image/{avif,hei?,jxl}", run = "magick" }, - { mime = "image/svg+xml", run = "svg" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # Fallback - { name = "*", run = "file" }, -] -preloaders = [ - # Image - { mime = "image/{avif,hei?,jxl}", run = "magick" }, - { mime = "image/svg+xml", run = "svg" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # PDF - { mime = "application/pdf", run = "pdf" }, - # Font - { mime = "font/*", run = "font" }, - { mime = "application/ms-opentype", run = "font" }, -] -previewers = [ - { name = "*/", run = "folder" }, - # Code - { mime = "text/*", run = "code" }, - { mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" }, - # JSON - { mime = "application/{json,ndjson}", run = "json" }, - # Image - { mime = "image/{avif,hei?,jxl}", run = "magick" }, - { mime = "image/svg+xml", run = "svg" }, - { mime = "image/*", run = "image" }, - # Video - { mime = "video/*", run = "video" }, - # PDF - { mime = "application/pdf", run = "pdf" }, - # Archive - { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" }, - { mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" }, - { name = "*.{AppImage,appimage}", run = "archive" }, - # Virtual Disk / Disk Image - { mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" }, - { mime = "application/virtualbox-{vhd,vhdx}", run = "archive" }, - { name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" }, - # Font - { mime = "font/*", run = "font" }, - { mime = "application/ms-opentype", run = "font" }, - # Empty file - { mime = "inode/empty", run = "empty" }, - # Fallback - { name = "*", run = "file" }, -] - -[input] -cursor_blink = false - -# cd -cd_title = "Change directory:" -cd_origin = "top-center" -cd_offset = [ 0, 2, 50, 3 ] - -# create -create_title = [ "Create:", "Create (dir):" ] -create_origin = "top-center" -create_offset = [ 0, 2, 50, 3 ] - -# rename -rename_title = "Rename:" -rename_origin = "hovered" -rename_offset = [ 0, 1, 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 ] - -[confirm] -# trash -trash_title = "Trash {n} selected file{s}?" -trash_origin = "center" -trash_offset = [ 0, 0, 70, 20 ] - -# delete -delete_title = "Permanently delete {n} selected file{s}?" -delete_origin = "center" -delete_offset = [ 0, 0, 70, 20 ] - -# overwrite -overwrite_title = "Overwrite file?" -overwrite_content = "Will overwrite the following file:" -overwrite_origin = "center" -overwrite_offset = [ 0, 0, 50, 15 ] - -# quit -quit_title = "Quit?" -quit_content = "The following tasks are still running, are you sure you want to quit?" -quit_origin = "center" -quit_offset = [ 0, 0, 50, 15 ] - -[pick] -open_title = "Open with:" -open_origin = "hovered" -open_offset = [ 0, 1, 50, 7 ] - -[which] -sort_by = "none" -sort_sensitive = false -sort_reverse = false -sort_translit = false diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 1970fa9..b810854 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -37,15 +37,6 @@ function zle-keymap-select () { esac } -# Yazi shell wrapper -function y() { - local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd - yazi "$@" --cwd-file="$tmp" - IFS= read -r -d '' cwd < "$tmp" - [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" - rm -f -- "$tmp" -} - zle -N zle-keymap-select zle-line-init() { zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) @@ -55,6 +46,19 @@ zle -N zle-line-init echo -ne '\e[5 q' # Use beam shape cursor on startup. preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. +# +# Use lf to switch directories and bind it to ctrl-o +lfcd () { + tmp="$(mktemp -uq)" + trap 'rm -f $tmp >/dev/null 2>&1' HUP INT QUIT TERM PWR EXIT + lf -last-dir-path="$tmp" "$@" + if [ -f "$tmp" ]; then + dir="$(cat "$tmp")" + [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" + fi +} +bindkey -s '^o' '^ulfcd\n' + # Edit line in vim with ctrl-e: autoload edit-command-line; zle -N edit-command-line bindkey '^e' edit-command-line diff --git a/.local/bin/rotdir b/.local/bin/rotdir new file mode 100755 index 0000000..86da6db --- /dev/null +++ b/.local/bin/rotdir @@ -0,0 +1,12 @@ +#!/bin/sh + +# When I open an image from the file manager in sxiv (the image viewer), I want +# to be able to press the next/previous keys to key through the rest of the +# images in the same directory. This script "rotates" the content of a +# directory based on the first chosen file, so that if I open the 15th image, +# if I press next, it will go to the 16th etc. Autistic, I know, but this is +# one of the reasons that sxiv is great for being able to read standard input. + +[ -z "$1" ] && echo "usage: rotdir regex 2>&1" && exit 1 +base="$(basename "$1")" +ls "$PWD" | awk -v BASE="$base" 'BEGIN { lines = ""; m = 0; } { if ($0 == BASE) { m = 1; } } { if (!m) { if (lines) { lines = lines"\n"; } lines = lines""$0; } else { print $0; } } END { print lines; }'