#!/bin/sh
set -eu

DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
. "$DIR/lib/common.sh"

usage() {
  echo "Usage: DockerPs [--all] [--name SUBSTR] [--status STATUS] [--label key|key=value]" >&2
}

_ac_handle_help usage "$@"
_ac_require docker

all=0
name=""
status=""
label=""

_ac_parse_args \
  all:bool \
  name:str \
  status:str \
  label:str \
  -- "$@"

set -- docker ps
[ "$all" -eq 1 ] && set -- "$@" -a
[ -n "$status" ] && set -- "$@" --filter "status=$status"
[ -n "$label" ] && set -- "$@" --filter "label=$label"
[ -n "$name" ] && set -- "$@" --filter "name=$name"

exec "$@" --format '{{json .}}'
