dotfiles/.config/shell/functions/cds

18 lines
337 B
Bash

#!/bin/bash
# Source this and then run `cds`
# cd search: cd to a directory, given part of its name
# Requires: fd, fzy
# Usage: takes `fd` arguments
cds() {
DIR="$(fd -t d $@ | fzy)"
if [ $? -eq 0 ]; then
if [ -f "$DIR" ]; then
cd "$(dirname "$DIR")" && pwd
else
cd "$DIR" && pwd
fi
fi
}