hitokoto.plugin.zsh 489 B

12345678910111213141516171819
  1. if ! (( $+commands[curl] )); then
  2. echo "hitokoto plugin needs curl to work" >&2
  3. return
  4. fi
  5. function hitokoto {
  6. setopt localoptions nopromptsubst
  7. # Get hitokoto data
  8. local -a data
  9. data=("${(ps:\n:)"$(command curl -s --connect-timeout 2 "https://v1.hitokoto.cn" | command jq -j '.hitokoto+"\n"+.from')"}")
  10. # Exit if could not fetch hitokoto
  11. [[ -n "$data" ]] || return 0
  12. local quote="${data[1]}" author="${data[2]}"
  13. print -P "%F{3}${author}%f: “%F{5}${quote}%f”"
  14. }