Browse Source

-mAdd hitokoto plugin (#8422)

sinrimin 4 years ago
parent
commit
d9e64344aa
2 changed files with 29 additions and 0 deletions
  1. 15 0
      plugins/hitokoto/README.md
  2. 14 0
      plugins/hitokoto/hitokoto.plugin.zsh

+ 15 - 0
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.

+ 14 - 0
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”"
+}