.bash_completion.d/firefox
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 29 Mar 2023 23:42:06 +0300
changeset 1018 831e2c1bf980
parent 734 da0dc50393b6
permissions -rw-r--r--
Completed migration from ~/devel to ~/work.

# -*- mode: sh; sh-shell-file: bash -*-

_firefox()
{
  local _opts="--sync --g-fatal-warnings -h -help -migration -ProfileManager \
     -no-remote -new-instance -safe-mode -jsconsole -browser -new-window -new-tab -preferences -search \
     -recording -recording-output -setDefaultBrowser"
  local cur prev
  cur=${COMP_WORDS[COMP_CWORD]}
  [[ $COMP_CWORD != 0 ]] && prev=${COMP_WORDS[COMP_CWORD-1]}
  case "$prev" in
    -P)
      local profile=~/.mozilla/firefox/profiles.ini
      if [[ ! -f $profile ]]; then
          return;
      fi
      local names=( $(sed -n '/^Name=/{s/^Name=//;p;}' $profile) )
      COMPREPLY=( $(compgen -W '${names[@]}' -- "$cur") )
      return ;;
  esac
  COMPREPLY=( $(compgen -W '$_opts'  -- $cur) )
  return 0
} &&
    complete -F _firefox firefox iceweasel