# shellcheck shell=bash disable=SC2148
# File auto-generated by completionFinder.py, do not modify manually

function_exists() {
    declare -f -F "$1" > /dev/null
    return $?
}

# Checks that bash-completion is recent enough
function_exists _get_comp_words_by_ref || return 0

_gdal()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  choices=$(gdal completion ${COMP_LINE})
  if [[ "$cur" == "=" ]]; then
    mapfile -t COMPREPLY < <(compgen -W "$choices" --)
  elif [[ "$cur" == ":" ]]; then
    mapfile -t COMPREPLY < <(compgen -W "$choices" --)
  elif [[ "$cur" == "!" ]]; then
    mapfile -t COMPREPLY < <(compgen -W "$choices" -P "! " --)
  else
    mapfile -t COMPREPLY < <(compgen -W "$choices" -- "$cur")
  fi
  for element in "${COMPREPLY[@]}"; do
    if [[ $element == */ ]]; then
      # Do not add a space if one of the suggestion ends with slash
      compopt -o nospace
      break
    elif [[ $element == *= ]]; then
      # Do not add a space if one of the suggestion ends with equal
      compopt -o nospace
      break
    elif [[ $element == *: ]]; then
      # Do not add a space if one of the suggestion ends with colon
      compopt -o nospace
      break
    fi
  done
}
complete -o default -F _gdal gdal

_gdal2tiles.py()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list=""
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  return 0
}
complete -o default -F _gdal2tiles.py gdal2tiles.py
_gdal2xyz.py()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --help-general -skip -srcwin -b -allbands -csv -skipnodata -srcnodata -dstnodata --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdal2xyz.py gdal2xyz.py
_gdaladdo()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --long-usage --help-general -r -ro --quiet -b -oo -minsize -clean --partial-refresh-from-source-timestamp --partial-refresh-from-projwin --partial-refresh-from-source-extent --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdaladdo gdaladdo
_gdalbuildvrt()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --long-usage --help-general --quiet -strict -non_strict -tile_index -resolution -tr -input_file_list -separate -allow_projection_difference -sd -tap -te -addalpha -b -hidenodata -overwrite -srcnodata -vrtnodata -a_srs -r -oo -co -ignore_srcmaskband -nodata_max_mask_threshold --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdalbuildvrt gdalbuildvrt
_gdal_calc.py()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --help-general -a --a_band -b --b_band -c --c_band -d --d_band -e --e_band -f --f_band -g --g_band -h --h_band -i --i_band -j --j_band -k --k_band -l --l_band -m --m_band -n --n_band -o --o_band -p --p_band -q --q_band -r --r_band -s --s_band -t --t_band -u --u_band -v --v_band -w --w_band -x --x_band -y --y_band -z --z_band -A --A_band -B --B_band -C --C_band -D --D_band -E --E_band -F --F_band -G --G_band -H --H_band -I --I_band -J --J_band -K --K_band -L --L_band -M --M_band -N --N_band -O --O_band -P --P_band -Q --Q_band -R --R_band -S --S_band -T --T_band -U --U_band -V --V_band -W --W_band -X --X_band -Y --Y_band -Z --Z_band --NoDataValue --hideNoData --type --format --creation-option --allBands --overwrite --debug --quiet --color-table --extent --projectionCheck --version --build --license --formats --optfile --config --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    -f)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdal_calc.py gdal_calc.py
_gdalcompare.py()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --help-general -dumpdiffs -skip_binary -skip_overviews -skip_geolocation -skip_geotransform -skip_metadata -skip_rpc -skip_srs -sds --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdalcompare.py gdalcompare.py
_gdal-config()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--prefix --libs --dep-libs --cflags --datadir --version --ogr-enabled --gnm-enabled --formats --plugindir "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  return 0
}
complete -o default -F _gdal-config gdal-config
_gdal_contour()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --long-usage --help-general -b -a -amin -amax -3d -inodata -snodata -of -dsco -lco -i -e -fl -off -nln -p -gt --quiet --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    -of)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdal_contour gdal_contour
_gdaldem()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --long-usage --help-general --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdaldem gdaldem
_gdal_edit.py()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --help-general -ro -a_srs -a_ullr -a_ulurll -tr -unsetgt -unsetrpc -a_nodata -unsetnodata -offset -scale -units -colorinterp_<X> -a_coord_epoch -unsetepoch -unsetstats -stats -approx_stats -setstats -gcp -unsetmd -oo -mo --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdal_edit.py gdal_edit.py
_gdalenhance()
{
  local cur prev
  COMPREPLY=()
  _get_comp_words_by_ref cur prev
  case "$cur" in
    -*)
      key_list="--help --help-general -of -co -ot -equalize -config --version --build --license --formats --format --optfile --config --debug --pause --locale "
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      return 0
      ;;
  esac
  tool=${COMP_WORDS[0]}
  case "$prev" in
    -ot)
      key_list="Byte Int16 UInt16 UInt32 Int32 Float32 Float64 CInt16 CInt32 CFloat32 CFloat64"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
    -of)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
    --format)
      key_list="$( $tool --formats | tail -n +2 | cut -f 3 -d ' ')"
      mapfile -t COMPREPLY < <(compgen -W "$key_list" -- "$cur")
      ;;
  esac
  return 0
}
complete -o default -F _gdalenhance gdalenhance
