#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x

cmd-plugin-help() {
  declare desc="help command"
  declare CMD="$1"
  local plugin_name="plugin"
  local plugin_description="Manage installed plugins"

  if [[ "$CMD" == "${plugin_name}:help" ]]; then
    echo -e "Usage: dokku ${plugin_name}[:COMMAND]"
    echo ''
    echo "$plugin_description"
    echo ''
    echo 'Additional commands:'
    fn-help-content | sort | column -c2 -t -s,
  elif [[ $(ps -o command= $PPID) == *"--all"* ]]; then
    fn-help-content
  else
    cat <<help_desc
    $plugin_name, $plugin_description
help_desc
  fi
}

fn-help-content() {
  declare desc="return help content"
  cat <<help_content
    plugin:disable <name>, Disable an installed plugin (third-party only)
    plugin:enable <name>, Enable a previously disabled plugin
    plugin:install [--core|git-url [--committish tag|branch|commit|--name custom-plugin-name]], Optionally download git-url (with custom tag/committish) & run install trigger for active plugins (or only core ones)
    plugin:install-dependencies [--core], Run install-dependencies trigger for active plugins (or only core ones)
    plugin:list, Print active plugins
    plugin:trigger <args...>, Trigger an arbitrary plugin hook
    plugin:uninstall <name>, Uninstall a plugin (third-party only)
    plugin:update [name [committish]], Optionally update named plugin from git (with custom tag/committish) & run update trigger for active plugins
help_content
}
