1
0
mirror of https://github.com/wting/autojump synced 2024-10-27 20:34:07 +00:00
This commit is contained in:
GitHub Merge Button 2012-01-13 13:05:58 -08:00
commit 1bc91823aa
2 changed files with 112 additions and 68 deletions

View File

@ -16,62 +16,87 @@
#along with autojump. If not, see <http://www.gnu.org/licenses/>. #along with autojump. If not, see <http://www.gnu.org/licenses/>.
function show_help { function show_help {
echo "sudo ./install.sh [--prefix /usr/local]" echo "sudo ./install.zsh [--local] [--prefix /usr/local]"
} }
prefix=/usr prefix=/usr
local=false
#command line parsing #command line parsing
while true; do while true; do
case "$1" in case "$1" in
-h|--help|-\?) show_help; exit 0;; -h|--help|-\?)
-p|--prefix) if [ $# -gt 1 ]; then show_help
exit 0
;;
-l|--local)
local=true
prefix=~/.autojump
shift
;;
-p|--prefix)
if [ $# -gt 1 ]; then
prefix=$2; shift 2 prefix=$2; shift 2
else else
echo "--prefix or -p require an argument" 1>&2 echo "--prefix or -p require an argument" 1>&2
exit 1 exit 1
fi ;; fi
--) shift; break;; ;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;; --)
*) break;; shift
break
;;
-*)
echo "invalid option: $1" 1>&2
show_help
exit 1
;;
*)
break
;;
esac esac
done done
if [[ ${UID} != 0 ]] && ! ${local}; then
echo "Please rerun as root or use the --local option."
exit 1
fi
echo "Installing main files to ${prefix} ..." echo "Installing main files to ${prefix} ..."
# add git revision to autojump # add git revision to autojump
./git-version.sh ./git-version.sh
sudo mkdir -p ${prefix}/share/autojump/ mkdir -p ${prefix}/share/autojump/
sudo mkdir -p ${prefix}/bin/ mkdir -p ${prefix}/bin/
sudo mkdir -p ${prefix}/share/man/man1/ mkdir -p ${prefix}/share/man/man1/
sudo cp icon.png ${prefix}/share/autojump/ cp icon.png ${prefix}/share/autojump/
sudo cp jumpapplet ${prefix}/bin/ cp jumpapplet ${prefix}/bin/
sudo cp autojump ${prefix}/bin/ cp autojump ${prefix}/bin/
sudo cp autojump.1 ${prefix}/share/man/man1/ cp autojump.1 ${prefix}/share/man/man1/
# autocompletion file in the first directory of the FPATH variable # autocompletion file in the first directory of the FPATH variable
if ( ! ${local} ); then
fail=true fail=true
for f in $fpath for f in $fpath
do do
sudo cp _j $f && fail=false && break cp _j $f && fail=false && break
done done
if $fail if $fail
then then
echo "Couldn't find a place to put the autocompletion file :-(" echo "Couldn't find a place to put the autocompletion file, please copy _j into your \$fpath"
echo "Still trying to install the rest of autojump..." echo "Still trying to install the rest of autojump..."
else else
echo "Installed autocompletion file to $f" echo "Installed autocompletion file to $f"
fi fi
if [ -d "/etc/profile.d" ]; then if [ -d "/etc/profile.d" ]; then
sudo cp autojump.zsh /etc/profile.d/ cp -v autojump.zsh /etc/profile.d/
sudo cp autojump.sh /etc/profile.d/ cp -v autojump.sh /etc/profile.d/
echo "Remember to add the line" echo
echo " source /etc/profile.d/autojump.zsh" echo "Add the following line to your ~/.zshrc:"
echo "or" echo
echo " source /etc/profile" echo -e "\tsource /etc/profile.d/autojump.zsh"
echo "to your ~/.zshrc if it's not there already"
echo echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump." echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
else else
@ -92,3 +117,22 @@ else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!" echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!"
fi fi
fi fi
else
mkdir -p ${prefix}/functions/
cp _j ${prefix}/functions/
mkdir -p ${prefix}/etc/profile.d/
cp autojump.zsh ${prefix}/etc/profile.d/
cp autojump.sh ${prefix}/etc/profile.d/
echo
echo "Add the following lines to your ~/.zshrc:"
echo
echo -e "\tpath=(${prefix}/bin \${path})"
echo -e "\tfpath=(${prefix}/functions \${fpath})"
echo -e "\tsource ${prefix}/etc/profile.d/autojump.zsh"
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
echo
echo "To remove autojump, delete the ${prefix} directory and relevant lines from ~/.zshrc."
fi