#!/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 branch|commit|commit] [--name custom-plugin-name], Optionally download git-url (and pin to the specified branch/commit/tag) & 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 [branch|commit|tag]], Optionally update named plugin from git (and pin to the specified branch/commit/tag) & run update trigger for active plugins
help_content
}
