summaryrefslogtreecommitdiff
path: root/plugins/hasura/hasura.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/hasura/hasura.plugin.zsh')
-rw-r--r--plugins/hasura/hasura.plugin.zsh13
1 files changed, 13 insertions, 0 deletions
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