Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 43 lines (37 sloc) 919 Bytes
#!/usr/bin/env bash
# Usage: a commands
# Summary: List all a commands
# Help: This command is mostly used for autocompletion in various shells, and for `a help`.
# Also, this command helps find commands that are named the same as potentially builtin shell commands (which, cd, etc)
set -e
# Provide a completions
if [ "$1" = "--complete" ]; then
echo --sh
echo --no-sh
exit
fi
if [ "$1" = "--sh" ]; then
sh=1
shift
elif [ "$1" = "--no-sh" ]; then
nosh=1
shift
fi
shopt -s nullglob
{ for path in ${PATH//:/$'\n'}; do
for command in "${path}/a-"*; do
command="${command##*a-}"
if [ -n "$sh" ]; then
if [ ${command:0:3} = "sh-" ]; then
echo ${command##sh-}
fi
elif [ -n "$nosh" ]; then
if [ ${command:0:3} != "sh-" ]; then
echo ${command##sh-}
fi
else
echo ${command##sh-}
fi
done
done
} | sort | uniq