#!/usr/bin/env bash

source $IMPROMPTU_INTERNAL_BIN/utils

impromptu_ensure_constants
impromptu_env_args="$@"

generate_prompt() {
  impromptu_env "$impromptu_env_args" | impromptu_server_connection
}

# Record the result of the generated prompt.
generated_prompt=$(generate_prompt)

# If the prompt errored or returned nothing, the server is no longer running.
if [[ $? != 0 || -z $generated_prompt ]]; then
  echo "Attempting to start Impromptu server..."
  impromptu_ensure_server

  if [[ "$?" -eq 0 ]]; then
    generate_prompt
  fi
elif [[ -n $generated_prompt ]]; then
  echo -n "$generated_prompt"
fi
