summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/hitokoto
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/hitokoto')
-rw-r--r--oh-my-zsh/plugins/hitokoto/README.md15
-rw-r--r--oh-my-zsh/plugins/hitokoto/hitokoto.plugin.zsh18
2 files changed, 33 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/hitokoto/README.md b/oh-my-zsh/plugins/hitokoto/README.md
new file mode 100644
index 0000000..3a8758f
--- /dev/null
+++ b/oh-my-zsh/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/oh-my-zsh/plugins/hitokoto/hitokoto.plugin.zsh b/oh-my-zsh/plugins/hitokoto/hitokoto.plugin.zsh
new file mode 100644
index 0000000..e346d18
--- /dev/null
+++ b/oh-my-zsh/plugins/hitokoto/hitokoto.plugin.zsh
@@ -0,0 +1,18 @@
+if ! (( $+commands[curl] )); then
+ echo "hitokoto plugin needs curl to work" >&2
+ return
+fi
+
+function hitokoto {
+ setopt localoptions nopromptsubst
+
+ # Get hitokoto data
+ local -a data
+ data=("${(ps:\n:)"$(command curl -s --connect-timeout 2 "https://v1.hitokoto.cn" | command jq -j '.hitokoto+"\n"+.from')"}")
+
+ # Exit if could not fetch hitokoto
+ [[ -n "$data" ]] || return 0
+
+ local quote="${data[1]}" author="${data[2]}"
+ print -P "%F{3}${author}%f: “%F{5}${quote}%f”"
+}