#!/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|exit) break;; esac if [[ $cmd == !* ]]; then eval ${cmd:1} elif [[ $cmd == git* ]]; then eval $cmd else eval git "$cmd" fi done echo