From d9e64344aa151f9b8e13a4f8054509a5d78bb718 Mon Sep 17 00:00:00 2001 From: sinrimin Date: Sun, 29 Dec 2019 13:04:24 +0800 Subject: [PATCH] -mAdd hitokoto plugin (#8422) --- plugins/hitokoto/README.md | 15 +++++++++++++++ plugins/hitokoto/hitokoto.plugin.zsh | 14 ++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 plugins/hitokoto/README.md create mode 100644 plugins/hitokoto/hitokoto.plugin.zsh diff --git a/plugins/hitokoto/README.md b/plugins/hitokoto/README.md new file mode 100644 index 000000000..3a8758f56 --- /dev/null +++ b/plugins/hitokoto/README.md @@ -0,0 +1,15 @@ +# hitokoto plugin + +Displays a random quote taken from [hitokoto.cn](https://v1.hitokoto.cn/) + +Created by [Sinrimin](https://github.com/sinrimin) + +## Usage + +Add the plugin to the plugins array in your zshrc file and restart zsh: + +```zsh +plugins=(... hitokoto) +``` + +Then, run `hitokoto` to get a new random quote. diff --git a/plugins/hitokoto/hitokoto.plugin.zsh b/plugins/hitokoto/hitokoto.plugin.zsh new file mode 100644 index 000000000..8646ebf3b --- /dev/null +++ b/plugins/hitokoto/hitokoto.plugin.zsh @@ -0,0 +1,14 @@ +if ! (( $+commands[curl] )); then + echo "hitokoto plugin needs curl to work" >&2 + return +fi + +function hitokoto { + emulate -L zsh + Q=$(curl -s --connect-timeout 2 "https://v1.hitokoto.cn" | jq -j '.hitokoto+"\t"+.from') + + TXT=$(echo "$Q" | awk -F '\t' '{print $1}') + WHO=$(echo "$Q" | awk -F '\t' '{print $2}') + + [[ -n "$WHO" && -n "$TXT" ]] && print -P "%F{3}${WHO}%f: “%F{5}${TXT}%f”" +}