summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsinrimin <ashen@moesrc.com>2019-12-29 13:04:24 +0800
committerRobby Russell <robby@planetargon.com>2019-12-28 21:04:24 -0800
commitd9e64344aa151f9b8e13a4f8054509a5d78bb718 (patch)
tree095d06ff1a3458fea16b1ef0cd161a230a19b817
parente034030f3974f725ce11360dcdd166c2ae32e2b8 (diff)
downloadzsh-d9e64344aa151f9b8e13a4f8054509a5d78bb718.tar.gz
zsh-d9e64344aa151f9b8e13a4f8054509a5d78bb718.tar.bz2
zsh-d9e64344aa151f9b8e13a4f8054509a5d78bb718.zip
-mAdd hitokoto plugin (#8422)
-rw-r--r--plugins/hitokoto/README.md15
-rw-r--r--plugins/hitokoto/hitokoto.plugin.zsh14
2 files changed, 29 insertions, 0 deletions
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”"
+}