function __fish_print_apt_packages
    argparse --name=__fish_print_packages i/installed -- $argv
    or return

    switch (commandline -ct)
        case '-**'
            return
    end

    set -l search_term (commandline -ct | string replace -ar '[\'"\\\\]' '' | string lower)

    if ! test -f /var/lib/dpkg/status
        return 1
    end

    # Do not not use `apt-cache` as it is sometimes inexplicably slow (by multiple orders of magnitude).
    if not set -q _flag_installed
        awk -e '
BEGIN {
  FS=": "
}

/^Package/ {
  pkg=$2
}

/^Description(-[a-zA-Z]+)?:/ {
  desc=$2
  if (index(pkg, "'$search_term'") > 0) {
    print pkg "\t" desc
  }
  pkg="" # Prevent multiple description translations from being printed
}' < /var/lib/dpkg/status
    else
        awk -e '
BEGIN {
  FS=": "
}

/^Package/ {
  pkg=$2
}

/^Status/ {
  installed=0
  if ($2 ~ /(^|\s)installed/) {
    installed=1
  }
}

/^Description(-[a-zA-Z]+)?:/ {
  desc=$2
  if (installed == 1 && index(pkg, "'$search_term'") > 0) {
    print pkg "\t" desc
    installed=0 # Prevent multiple description translations from being printed
  }
}' < /var/lib/dpkg/status
    end
end
