81 lines
1.7 KiB
Bash
81 lines
1.7 KiB
Bash
# fuzzily-find-file
|
|
function wgff {
|
|
echo $(find . -type f | fzf-tmux)
|
|
}
|
|
|
|
|
|
# fuzzily-find-branch
|
|
function wgfb {
|
|
echo $(git branch -a | fzf-tmux)
|
|
}
|
|
|
|
|
|
# download files to /tmp directory
|
|
function wdownload {
|
|
URL="$1"
|
|
FILENAME="$(basename $URL)"
|
|
|
|
wget -O /tmp/"$FILENAME" $URL >/dev/null && open /tmp && echo "Downloaded to: /tmp/$FILENAME" || echo "Error ..."
|
|
}
|
|
|
|
|
|
# spell checker
|
|
function wspcheck {
|
|
if [ $# -ge 1 -a -f "$1" ] && input="$1" || input="-"
|
|
cat "$input" | tr '[:upper:]' '[:lower:]' | tr -cd '[:alpha:]_ \n' | tr -s ' ' '\n' | sort | comm -23 - ~/english_words.txt
|
|
}
|
|
|
|
|
|
# fuzzily search through dirs stack
|
|
function wfd {
|
|
dir=$(dirname $(fzf-tmux)) && pushd "$dir" >/dev/null
|
|
}
|
|
|
|
|
|
# pushd into a directory on your dirs stack
|
|
function wpushd {
|
|
dir="$(dirs | tr ' ' '\n' | fzf-tmux)" && pushd "$dir"
|
|
}
|
|
|
|
|
|
# trims leading and trailing whitespace
|
|
function trim {
|
|
input="$1"
|
|
|
|
echo "${input//[[:blank:]]/}"
|
|
}
|
|
|
|
|
|
# Extends `codemod` to exclude dirs in .gitignore file
|
|
function cm {
|
|
extensions="$1"
|
|
regex="$2"
|
|
replacement="$3"
|
|
|
|
ignore_dirs=""
|
|
|
|
if [ -f ./.gitignore ]; then
|
|
# Sanitizes .gitignore and converts it to a comma-separated list
|
|
ignore_dirs="$(sed 's/^\//.\//g' <./.gitignore | sed -e 's/#.*$//' -e '/^$/d' | tr '\n' ',' | sed 's/,$//')"
|
|
fi
|
|
|
|
codemod -m -d . --extensions ${extensions} --exclude-paths ${ignore_dirs} ${regex} ${replacement}
|
|
}
|
|
|
|
|
|
function tt() {
|
|
sessionName="${1}"
|
|
if ! tmux has-session -t "${sessionName}" 2> /dev/null; then
|
|
oldTMUX="${TMUX}"
|
|
unset TMUX
|
|
tmux new -d -s "${sessionName}"
|
|
export TMUX="${oldTMUX}"
|
|
unset oldTMUX
|
|
fi
|
|
if [[ -n "${TMUX}" ]]; then
|
|
tmux switch-client -t "${sessionName}"
|
|
else
|
|
tmux attach -t "${sessionName}"
|
|
fi
|
|
}
|
|
|