diff options
Diffstat (limited to 'oh-my-zsh/plugins/hitokoto')
-rw-r--r-- | oh-my-zsh/plugins/hitokoto/README.md | 15 | ||||
-rw-r--r-- | oh-my-zsh/plugins/hitokoto/hitokoto.plugin.zsh | 18 |
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â" +} |