summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSandeep Tailor <s.tailor@insysion.net>2022-11-08 13:45:42 +0000
committerGitHub <noreply@github.com>2022-11-08 14:45:42 +0100
commit1f30c1a079cd10030578e38f8562dc5be53d0fd3 (patch)
tree4615aa973eb55959f5f5186255f6740b7e6521a6 /plugins
parent6dfc9b960f023f30d6c55a22fa8402d91beb8d1f (diff)
downloadzsh-1f30c1a079cd10030578e38f8562dc5be53d0fd3.tar.gz
zsh-1f30c1a079cd10030578e38f8562dc5be53d0fd3.tar.bz2
zsh-1f30c1a079cd10030578e38f8562dc5be53d0fd3.zip
feat(hasura): add completion plugin (#11278)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/hasura/README.md9
-rw-r--r--plugins/hasura/hasura.plugin.zsh13
2 files changed, 22 insertions, 0 deletions
diff --git a/plugins/hasura/README.md b/plugins/hasura/README.md
new file mode 100644
index 000000000..d7db9ed92
--- /dev/null
+++ b/plugins/hasura/README.md
@@ -0,0 +1,9 @@
+# Hasura plugin
+
+This plugin adds completion for [the Hasura CLI](https://hasura.io/docs/latest/hasura-cli/index/).
+
+To use it, add `hasura` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... hasura)
+```
diff --git a/plugins/hasura/hasura.plugin.zsh b/plugins/hasura/hasura.plugin.zsh
new file mode 100644
index 000000000..18254c43b
--- /dev/null
+++ b/plugins/hasura/hasura.plugin.zsh
@@ -0,0 +1,13 @@
+if (( ! $+commands[hasura] )); then
+ return
+fi
+
+# If the completion file does not exist, generate it and then source it
+# Otherwise, source it and regenerate in the background
+if [[ ! -f "$ZSH_CACHE_DIR/completions/_hasura" ]]; then
+ hasura completion zsh --file "$ZSH_CACHE_DIR/completions/_hasura" >/dev/null
+ source "$ZSH_CACHE_DIR/completions/_hasura"
+else
+ source "$ZSH_CACHE_DIR/completions/_hasura"
+ hasura completion zsh --file "$ZSH_CACHE_DIR/completions/_hasura" >/dev/null &|
+fi