mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 07:26:17 -04:00
44 lines
759 B
Bash
Executable file
44 lines
759 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
git version
|
|
echo "git-extras version ""$(git-extras -v)"
|
|
echo "type 'ls' to ls files below current directory, '!command' to execute any command or just 'subcommand' to execute any git subcommand"
|
|
|
|
while true; do
|
|
# Current branch
|
|
cur=`git symbolic-ref HEAD 2> /dev/null | cut -d/ -f3-`
|
|
|
|
# Prompt
|
|
if test -n "$cur"; then
|
|
prompt="git ($cur)> "
|
|
else
|
|
prompt="git> "
|
|
fi
|
|
|
|
# Readline
|
|
read -e -r -p "$prompt" cmd
|
|
|
|
# EOF
|
|
test $? -ne 0 && break
|
|
|
|
# History
|
|
history -s "$cmd"
|
|
|
|
# Built-in commands
|
|
case $cmd in
|
|
ls) cmd=ls-files;;
|
|
"") continue;;
|
|
quit) break;;
|
|
esac
|
|
|
|
if [[ $cmd == !* ]]; then
|
|
eval ${cmd:1}
|
|
elif [[ $cmd == git* ]]; then
|
|
eval $cmd
|
|
else
|
|
eval git "$cmd"
|
|
fi
|
|
done
|
|
|
|
echo
|