# This file is part of the jump project
#
# Copyright (C) 2010 Flavio Castelli <flavio@castelli.name>
# Copyright (C) 2010 Giuseppe Capizzi <gcapizzi@gmail.com>
#
# jump is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# jump is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Keep; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

_jump()
{
  local cur prev opts
  COMPREPLY=()
  cur="${COMP_WORDS[COMP_CWORD]}"
  prev="${COMP_WORDS[COMP_CWORD-1]}"
  opts="--help -h --add -a --del -d --list -l"

  if [[ ${prev} == "-d" || ${prev} == "--del" || ${prev} == "-p" || ${prev} == "--path" ]] ; then
    # complete the del command with a list of the available bookmarks
    local bookmarks=$(jump --complete)
    COMPREPLY=( $(compgen -W "${bookmarks}" -- ${cur}) )
    return 0
  fi

  if [[ ${cur:0:1} == "-" ]]; then
    COMPREPLY="$(compgen -W "${opts}" -- ${cur}) "
    return 0
  else
    local bookmarks=$(jump --complete ${cur})
    COMPREPLY=( $(compgen -W "${bookmarks}" -- ${cur}) )
    return 0
  fi 
}

function jump {
  #echo "jump called with $*"
  if [ $# -lt 1 ]; then
    jump-bin --help
  elif [ ${1:0:1} == "-" ]; then
    jump-bin $*
  else
    cd "$(jump-bin $*)"
  fi
}

complete -o nospace -F _jump jump
