# mksh functions # search repo names in ~/src/ fs() { [ -z "$1" ] && { echo "usage: fs "; return 1; } pattern=$(echo "$*" | tr '[:upper:]' '[:lower:]') matches="" count=0 for d in "$HOME"/src/*/; do name=${d%/} name=${name##*/} lower=$(echo "$name" | tr '[:upper:]' '[:lower:]') case "$lower" in *"$pattern"*) matches="$matches$name "; count=$((count + 1)) ;; esac done if [ "$count" -eq 0 ]; then printf '\n \033[2mno matches for\033[0m \033[1m%s\033[0m\n\n' "$*" return 1 fi printf '\n \033[2m%d match(es) for\033[0m \033[1m%s\033[0m\n\n' "$count" "$*" echo "$matches" | while IFS= read -r m; do [ -n "$m" ] && printf ' \033[36m>\033[0m %s\n' "$m" done printf '\n' } lp() { cd "$HOME/edu/craft/learn"; } fcc() { cd "$HOME/edu/craft/freecodecamp"; }