#!/usr/bin/env bash

# Find the correct spelling of a word. Uses (and requires) fzf to select the
# correct word. This output can be piped to something like dict to find
# definitions/synonyms.
#
# Requires: aspell, fzf
# Usage: spell mispeling
# Example: dict $(spell mispeling)

result=$(echo "$@" | aspell -a | tail -n-2)
if [[ "$result" == '*' ]]; then
  echo "$@"
else
  words=$(echo "$result" | sed $'s/[:,] /\\\n/g' | tail -n +2)
  if (( $(wc -l <<< "$words") > 1 )) && command -v sk >/dev/null; then
    fzf <<< "$words"
  else
    echo "$words"
  fi
fi
