diff options
author | tdro <tdro@users.noreply.github.com> | 2020-12-04 03:45:03 -0500 |
---|---|---|
committer | tdro <tdro@users.noreply.github.com> | 2020-12-04 04:59:34 -0500 |
commit | f2eb4b2d98e857b09e807ff07d238512a0d602e7 (patch) | |
tree | d47b0c3390464235b7123a2e8874ac9e7c1a4249 /.local | |
parent | 3de9b02566580b0e23471271399ced5894c853eb (diff) | |
download | dotfiles-f2eb4b2d98e857b09e807ff07d238512a0d602e7.tar.gz dotfiles-f2eb4b2d98e857b09e807ff07d238512a0d602e7.tar.bz2 dotfiles-f2eb4b2d98e857b09e807ff07d238512a0d602e7.zip |
.local/bin/scripts/file-search: Increase reach and speed
Diffstat (limited to '.local')
-rwxr-xr-x | .local/bin/scripts/file-search | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/.local/bin/scripts/file-search b/.local/bin/scripts/file-search index 339c7d5..bb744e5 100755 --- a/.local/bin/scripts/file-search +++ b/.local/bin/scripts/file-search @@ -1,18 +1,28 @@ #!/bin/sh -eu -xdg-open "$(locate -ie \ - \ -"$HOME"/.vim \ -"$HOME"/Music \ -"$HOME"/Books \ -"$HOME"/Videos \ -"$HOME"/Documents \ -"$HOME"/Downloads \ -"$HOME"/Pictures \ -"$HOME"/.local/bin \ -"$HOME"/.config/awesome \ -"$HOME"/.config/systemd \ -"$HOME"/.local/share/Trash \ -"$HOME"/.local/share/applications \ - \ -| rofi -font "ubuntu 12" -padding 20 -dmenu -i -p 'Files')" +cache=/tmp/file_search_results.cache +append() { find "$1" -maxdepth 1 -printf "%p\n"; } +appendRecursive() { find "$1" -printf "%p\n"; } +removeDuplicates() { awk '!visited[$0]++' "$1" | sponge "$1"; } + +{ [ ! -f "$cache" ] \ + || [ "${1:-}" = "update" ]; } \ + && locate -ie \ + "$HOME"/.vim \ + "$HOME"/Music \ + "$HOME"/Books \ + "$HOME"/Videos \ + "$HOME"/Documents \ + "$HOME"/Downloads \ + "$HOME"/Pictures \ + "$HOME"/.local/bin \ + "$HOME"/.config/awesome \ + "$HOME"/.config/systemd \ + "$HOME"/.local/share/Trash \ + "$HOME"/.local/share/applications \ + > "$cache" \ + && { append "$HOME"; } >> "$cache" + +[ "${1:-}" = "update" ] && removeDuplicates "$cache" && exit; + +xdg-open "$(rofi -font "ubuntu 12" -matching regex -padding 20 -dmenu -i -p 'Files' < "$cache")" |