2
0
mirror of https://github.com/kazhala/dotbare synced 2024-11-10 01:10:25 +00:00
dotbare/helper/search_file.sh

24 lines
871 B
Bash
Raw Normal View History

2020-05-11 01:56:27 +00:00
#!/usr/bin/env bash
2020-04-07 05:29:09 +00:00
#
# search local file or directory taking consideration of optional dependency
2020-04-14 07:17:42 +00:00
#######################################
# search local file
# Arguments:
# $1: stirng, f or d, search file or directory
# Outputs:
# A user selected file path
#######################################
2020-04-07 05:29:09 +00:00
function search_file() {
2020-04-07 06:19:12 +00:00
local search_type="$1"
2020-04-07 05:29:09 +00:00
if [[ "${search_type}" == "f" ]]; then
2020-05-17 13:14:52 +00:00
find . -maxdepth 1 -type f | sed "s|\./||g" | fzf --multi --preview "head -200 {}"
2020-04-07 05:29:09 +00:00
elif [[ "${search_type}" == "d" ]]; then
2020-05-17 13:14:52 +00:00
if tree --version &>/dev/null; then
2020-05-13 00:50:40 +00:00
find . -maxdepth 1 -type d | awk '{if ($0 != "." && $0 != "./.git"){gsub(/^\.\//, "", $0);print $0}}' | fzf --multi --preview "tree -L 1 -C --dirsfirst {}"
2020-04-07 05:29:09 +00:00
else
2020-05-13 00:50:40 +00:00
find . -maxdepth 1 -type d | awk '{if ($0 != "." && $0 != "./.git"){gsub(/^\.\//, "", $0);print $0}}' | fzf --multi
2020-04-07 05:29:09 +00:00
fi
fi
}