mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-10-07 12:06:22 +00:00
2046 lines
85 KiB
Plaintext
2046 lines
85 KiB
Plaintext
#compdef shopify
|
||
|
||
# Completion for the Shopify CLI. https://shopify.dev/docs/api/shopify-cli
|
||
#
|
||
# Targets Shopify CLI 4.x. The CLI has no `completion`/`autocomplete` command,
|
||
# so this is generated from `shopify commands --json` and kept here. Nothing
|
||
# runs the CLI at completion time unless theme completion is enabled below.
|
||
|
||
# Environment names from the project's TOML config. Offline, always enabled.
|
||
_shopify_environments() {
|
||
setopt localoptions extendedglob
|
||
local -a envs
|
||
local file line
|
||
# (#b) backreferences set $match, which would otherwise be left global.
|
||
local MATCH MBEGIN MEND
|
||
local -a match mbegin mend
|
||
for file in shopify.theme.toml shopify.app.toml; do
|
||
[[ -r "$file" ]] || continue
|
||
for line in ${(f)"$(< $file)"}; do
|
||
[[ $line == (#b)[[:space:]]#\[environments\.([^]]##)\]* ]] && envs+=("$match[1]")
|
||
done
|
||
done
|
||
(( $#envs )) || return 1
|
||
_describe -t environments 'environment' envs
|
||
}
|
||
|
||
# Theme IDs, described by name and role. Off by default: needs auth and makes a
|
||
# network call on TAB. Enable with:
|
||
# zstyle ':omz:plugins:shopify' dynamic-theme-completion yes
|
||
_shopify_themes() {
|
||
zstyle -t ':omz:plugins:shopify' dynamic-theme-completion || return 1
|
||
|
||
local key="${${PWD:A}//\//-}"
|
||
local cache_file="$ZSH_CACHE_DIR/shopify-themes${key: -100}"
|
||
local -a themes fresh
|
||
local json split entry id name role
|
||
# $match and friends are set by =~ and would otherwise be left global.
|
||
local MATCH MBEGIN MEND
|
||
local -a match mbegin mend
|
||
local nl=$'\n'
|
||
|
||
# Reuse the cached list for five minutes.
|
||
fresh=(${cache_file}(Nms-300))
|
||
if (( $#fresh )); then
|
||
themes=("${(@f)$(< "$cache_file")}")
|
||
else
|
||
json="$(shopify theme list --json 2>/dev/null)" || return 1
|
||
split="${json//\{/$nl}"
|
||
for entry in ${(f)split}; do
|
||
id="" name="" role=""
|
||
[[ $entry =~ '"id":[[:space:]]*([0-9]+)' ]] && id=$match[1]
|
||
[[ $entry =~ '"name":[[:space:]]*"([^"]*)"' ]] && name=$match[1]
|
||
[[ $entry =~ '"role":[[:space:]]*"([^"]*)"' ]] && role=$match[1]
|
||
[[ -n $id ]] || continue
|
||
themes+=("${id}:${name}${role:+ (${role})}")
|
||
done
|
||
(( $#themes )) || return 1
|
||
print -rl -- $themes > "$cache_file"
|
||
fi
|
||
|
||
_describe -t shopify-themes 'theme' themes
|
||
}
|
||
|
||
_shopify__app__build() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--skip-dependencies-installation[Skips the installation of dependencies]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__bulk__cancel() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--id=[The bulk operation ID to cancel (numeric ID or full GID)]:id:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[The store domain]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__bulk__execute() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--output-file=[The file path where results should be written if --watch is specified]:output-file:' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(-q --query)'{-q,--query}'=[The GraphQL query or mutation to run as a bulk operation]:query:' \
|
||
'--query-file=[Path to a file containing the GraphQL query or mutation]:query-file:' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[The store domain]:store:' \
|
||
'(--variable-file -v --variables)--variable-file=[Path to a file containing GraphQL variables in JSONL format (one JSON...]:variable-file:' \
|
||
*''{-v,--variables}'=[The values for any GraphQL variables in your mutation, in JSON format]:variables:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The API version to use for the bulk operation]:version:' \
|
||
'--watch[Wait for bulk operation results before exiting]'
|
||
}
|
||
|
||
_shopify__app__bulk__status() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--id=[The bulk operation ID (numeric ID or full GID)]:id:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[The store domain]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__bulk() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'cancel:Cancel a bulk operation'
|
||
'execute:Execute bulk operations'
|
||
'status:Check the status of bulk operations'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app bulk command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
cancel) _shopify__app__bulk__cancel && ret=0 ;;
|
||
execute) _shopify__app__bulk__execute && ret=0 ;;
|
||
status) _shopify__app__bulk__status && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__config__link() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(--file-name -c --config)--file-name=[The name of the app configuration file to create or overwrite]:file-name:' \
|
||
'--force[Overwrite an existing configuration file without prompting]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__config__pull() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__config__use() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'--client-id=[The Client ID of your app]:client-id:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__app__config__validate() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__config() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'link:Fetch your app configuration from the Developer Dashboard'
|
||
'pull:Refresh an already-linked app configuration without prompts'
|
||
'use:Activate an app configuration'
|
||
'validate:Validate your app configuration and extensions'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app config command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
link) _shopify__app__config__link && ret=0 ;;
|
||
pull) _shopify__app__config__pull && ret=0 ;;
|
||
use) _shopify__app__config__use && ret=0 ;;
|
||
validate) _shopify__app__config__validate && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__deploy() {
|
||
_arguments -s -S \
|
||
'--allow-deletes[Allows removing extensions and configuration without requiring user...]' \
|
||
'--allow-updates[Allows adding and updating extensions and configuration without requiring...]' \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--message=[Optional message that will be associated with this version]:message:' \
|
||
'--no-build[Use with caution\: Skips building any elements of the app that require...]' \
|
||
'--no-color[Disable color output]' \
|
||
'(--no-release --allow-updates --allow-deletes)--no-release[Creates a version but doesn'\''t release it - it'\''s not made available to...]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--source-control-url=[URL associated with the new app version]:source-control-url:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[Optional version tag that will be associated with this app version]:version:'
|
||
}
|
||
|
||
_shopify__app__dev__clean() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__dev() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'clean:Cleans up the dev preview from the selected store'
|
||
)
|
||
|
||
_arguments -s -C \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'--checkout-cart-url=[Resource URL for checkout UI extension]:checkout-cart-url:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--install-mkcert[Install and use mkcert to generate localhost certificates when...]' \
|
||
'--localhost-port=[Port to use for localhost]:localhost-port:' \
|
||
'--no-color[Disable color output]' \
|
||
'--no-update[Uses the app URL from the toml file instead an autogenerated URL for dev]' \
|
||
'--notify=[The file path or URL]:notify:_files' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--skip-dependencies-installation[Skips the installation of dependencies]' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--store-password=[The password for storefronts with password protection]:store-password:' \
|
||
'--subscription-product-url=[Resource URL for subscription UI extension]:subscription-product-url:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the theme app extension host theme]:theme:' \
|
||
'--theme-app-extension-port=[Local port of the theme app extension development server]:theme-app-extension-port:' \
|
||
'--tunnel-url=[Use a custom tunnel, it must be running before executing dev]:tunnel-url:' \
|
||
'(--use-localhost --tunnel-url)--use-localhost[Service entry point will listen to localhost]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app dev command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
clean) _shopify__app__dev__clean && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__env__pull() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--env-file=[Specify an environment file to update if the update flag is set]:env-file:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__env__show() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__env() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'pull:Pull app and extensions environment variables'
|
||
'show:Display app and extensions environment variables'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app env command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
pull) _shopify__app__env__pull && ret=0 ;;
|
||
show) _shopify__app__env__show && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__execute() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--output-file=[The file name where results should be written, instead of STDOUT]:output-file:' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(-q --query)'{-q,--query}'=[The GraphQL query or mutation, as a string]:query:' \
|
||
'--query-file=[Path to a file containing the GraphQL query or mutation]:query-file:' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store to execute against]:store:' \
|
||
'(--variable-file -v --variables)--variable-file=[Path to a file containing GraphQL variables in JSON format]:variable-file:' \
|
||
'(-v --variables --variable-file)'{-v,--variables}'=[The values for any GraphQL variables in your query or mutation, in JSON...]:variables:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The API version to use for the query or mutation]:version:'
|
||
}
|
||
|
||
_shopify__app__function__build() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your function directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__function__info() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your function directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__function__replay() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'(-l --log)'{-l,--log}'=[Specifies a log identifier to replay instead of selecting from a list]:log:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your function directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'(-w --watch)'{-w,--watch}'[Re-run the function when the source code changes]'
|
||
}
|
||
|
||
_shopify__app__function__run() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-e --export)'{-e,--export}'=[Name of the WebAssembly export to invoke]:export:' \
|
||
'(-i --input)'{-i,--input}'=[The input JSON to pass to the function]:input:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your function directory]:path:_files -/' \
|
||
'--profile[Generate a WebAssembly performance profile for the function run]' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__function__schema() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your function directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--stdout[Output the schema to stdout instead of writing to a file]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__function__typegen() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your function directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__function() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'build:Compile a function to wasm'
|
||
'info:Print basic information about your function'
|
||
'replay:Replays a function run from an app log'
|
||
'run:Run a function locally for testing'
|
||
'schema:Fetch the latest GraphQL schema for a function'
|
||
'typegen:Generate GraphQL types for a function'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app function command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
build) _shopify__app__function__build && ret=0 ;;
|
||
info) _shopify__app__function__info && ret=0 ;;
|
||
replay) _shopify__app__function__replay && ret=0 ;;
|
||
run) _shopify__app__function__run && ret=0 ;;
|
||
schema) _shopify__app__function__schema && ret=0 ;;
|
||
typegen) _shopify__app__function__typegen && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__generate__extension() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--flavor=[Choose a starting template for your extension, where applicable]:flavor:(vanilla-js react typescript typescript-react wasm rust)' \
|
||
'(-n --name)'{-n,--name}'=[name of your Extension]:name:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-t --template)'{-t,--template}'=[Extension template]:template:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__generate() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'extension:Generate a new app Extension'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app generate command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
extension) _shopify__app__generate__extension && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__graphiql() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'--port=[Local port for the GraphiQL server]:port:' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store to open GraphiQL against]:store:' \
|
||
'(-v --variables)'{-v,--variables}'=[The values for any GraphQL variables in your query or mutation, in JSON...]:variables:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The API version to use in GraphiQL]:version:'
|
||
}
|
||
|
||
_shopify__app__import_custom_data_definitions() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--include-existing[Include existing declared definitions in the output]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__import_extensions() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__info() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--web-env[Outputs environment variables necessary for running and deploying web/]'
|
||
}
|
||
|
||
_shopify__app__init() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'--client-id=[The Client ID of your app]:client-id:' \
|
||
'--flavor=[Which flavor of the given template to use]:flavor:' \
|
||
'(-n --name)'{-n,--name}'=[The name for the new app]:name:' \
|
||
'--no-color[Disable color output]' \
|
||
'(--organization-id --client-id)--organization-id=[The organization ID]:organization-id:' \
|
||
'(-d --package-manager)'{-d,--package-manager}'=[]:package-manager:(npm yarn pnpm bun)' \
|
||
'(-p --path)'{-p,--path}'=[]:path:_files -/' \
|
||
'--template=[The app template]:template:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__logs__sources() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__logs() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'sources:Print out a list of sources that may be used with the logs command'
|
||
)
|
||
|
||
_arguments -s -C \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
*'--source=[Filters output to the specified log source]:source:' \
|
||
'--status=[Filters output to the specified status (success or failure)]:status:(success failure)' \
|
||
*''{-s,--store}'=[Store URL]:store:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app logs command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
sources) _shopify__app__logs__sources && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__release() {
|
||
_arguments -s -S \
|
||
'--allow-deletes[Allows removing extensions and configuration without requiring user...]' \
|
||
'--allow-updates[Allows adding and updating extensions and configuration without requiring...]' \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The name of the app version to release]:version:'
|
||
}
|
||
|
||
_shopify__app__versions__list() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__app__versions() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'list:List deployed versions of your app'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app versions command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
list) _shopify__app__versions__list && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app__webhook__trigger() {
|
||
_arguments -s -S \
|
||
'--address=[The URL where the webhook payload should be sent]:address:' \
|
||
'--api-version=[The API Version of the webhook topic]:api-version:' \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(--client-id -c --config)--client-id=[The Client ID of your app]:client-id:' \
|
||
'--client-secret=[Your app'\''s client secret]:client-secret:' \
|
||
'(-c --config)'{-c,--config}'=[The name of the app configuration]:config:' \
|
||
'--delivery-method=[Method chosen to deliver the topic payload]:delivery-method:(http google-pub-sub event-bridge)' \
|
||
'--help[This help]' \
|
||
'--path=[The path to your app directory]:path:_files -/' \
|
||
'(--reset -c --config)--reset[Reset all your settings]' \
|
||
'--topic=[The requested webhook topic]:topic:'
|
||
}
|
||
|
||
_shopify__app__webhook() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'trigger:Trigger delivery of a sample webhook topic payload to a designated address'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app webhook command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
trigger) _shopify__app__webhook__trigger && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__app() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'build:Build the app, including extensions'
|
||
'bulk:Run bulk operations'
|
||
'config:Manage app configuration files'
|
||
'deploy:Deploy your Shopify app'
|
||
'dev:Run the app'
|
||
'env:Manage app environment variables'
|
||
'execute:Execute GraphQL queries and mutations'
|
||
'function:Work with Shopify Functions'
|
||
'generate:Scaffold app extensions'
|
||
'graphiql:Open a local GraphiQL UI for your app and store'
|
||
'import-custom-data-definitions:Import metafield and metaobject definitions'
|
||
'import-extensions:Import dashboard-managed extensions into your app'
|
||
'info:Print basic information about your app and extensions'
|
||
'init:Create a new app project'
|
||
'logs:Stream detailed logs for your Shopify app'
|
||
'release:Release an app version'
|
||
'versions:Work with deployed app versions'
|
||
'webhook:Trigger sample webhooks'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'app command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
build) _shopify__app__build && ret=0 ;;
|
||
bulk) _shopify__app__bulk && ret=0 ;;
|
||
config) _shopify__app__config && ret=0 ;;
|
||
deploy) _shopify__app__deploy && ret=0 ;;
|
||
dev) _shopify__app__dev && ret=0 ;;
|
||
env) _shopify__app__env && ret=0 ;;
|
||
execute) _shopify__app__execute && ret=0 ;;
|
||
function) _shopify__app__function && ret=0 ;;
|
||
generate) _shopify__app__generate && ret=0 ;;
|
||
graphiql) _shopify__app__graphiql && ret=0 ;;
|
||
import-custom-data-definitions) _shopify__app__import_custom_data_definitions && ret=0 ;;
|
||
import-extensions) _shopify__app__import_extensions && ret=0 ;;
|
||
info) _shopify__app__info && ret=0 ;;
|
||
init) _shopify__app__init && ret=0 ;;
|
||
logs) _shopify__app__logs && ret=0 ;;
|
||
release) _shopify__app__release && ret=0 ;;
|
||
versions) _shopify__app__versions && ret=0 ;;
|
||
webhook) _shopify__app__webhook && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__auth__login() {
|
||
_arguments -s -S \
|
||
'--alias=[Alias of an existing session you want to use]:alias:'
|
||
}
|
||
|
||
_shopify__auth__logout() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__auth() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'login:Logs you in to your Shopify account'
|
||
'logout:Logs you out of the Shopify account or Partner account and store'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'auth command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
login) _shopify__auth__login && ret=0 ;;
|
||
logout) _shopify__auth__logout && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__commands() {
|
||
_arguments -s -S \
|
||
*''{-c,--columns}'=[Only show provided columns (comma-separated)]:columns:(id plugin summary type)' \
|
||
'--deprecated[Show deprecated commands]' \
|
||
'(-x --extended --tree)'{-x,--extended}'[Show extra columns]' \
|
||
'--hidden[Show hidden commands]' \
|
||
'--json[Format output as json]' \
|
||
'(--no-truncate --tree)--no-truncate[Do not truncate output]' \
|
||
'(--sort --tree)--sort=[Property to sort by]:sort:(id plugin summary type)' \
|
||
'--tree[Show tree of commands]'
|
||
}
|
||
|
||
_shopify__config__autocorrect__off() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__config__autocorrect__on() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__config__autocorrect__status() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__config__autocorrect() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'off:Disable autocorrect'
|
||
'on:Enable autocorrect'
|
||
'status:Check whether autocorrect is enabled or disabled'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'config autocorrect command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
off) _shopify__config__autocorrect__off && ret=0 ;;
|
||
on) _shopify__config__autocorrect__on && ret=0 ;;
|
||
status) _shopify__config__autocorrect__status && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__config__autoupgrade__off() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__config__autoupgrade__on() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__config__autoupgrade__status() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__config__autoupgrade() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'off:Disable automatic upgrades for Shopify CLI'
|
||
'on:Enable automatic upgrades for Shopify CLI'
|
||
'status:Check whether auto-upgrade is enabled, disabled, or not yet configured'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'config autoupgrade command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
off) _shopify__config__autoupgrade__off && ret=0 ;;
|
||
on) _shopify__config__autoupgrade__on && ret=0 ;;
|
||
status) _shopify__config__autoupgrade__status && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__config() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'autocorrect:Enable or disable command autocorrect'
|
||
'autoupgrade:Enable or disable automatic upgrades'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'config command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
autocorrect) _shopify__config__autocorrect && ret=0 ;;
|
||
autoupgrade) _shopify__config__autoupgrade && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__doc__fetch() {
|
||
_arguments -s -S \
|
||
'--no-color[Disable color output]' \
|
||
'--output=[Write the document to this file path instead of printing it to stdout]:output:' \
|
||
'--url=[The shopify.dev URL to fetch]:url:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__doc__search() {
|
||
_arguments -s -S \
|
||
'--api-name=[Limit results to a specific API (for example\: admin, storefront, hydrogen,...]:api-name:' \
|
||
'--api-version=[Limit results to a specific API version (for example\: 2025-10, latest,...]:api-version:' \
|
||
'--no-color[Disable color output]' \
|
||
'--query=[The search query]:query:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__doc() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'fetch:Download a complete document from shopify.dev'
|
||
'search:Query the shopify.dev vector store and print the most relevant...'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'doc command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
fetch) _shopify__doc__fetch && ret=0 ;;
|
||
search) _shopify__doc__search && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__help() {
|
||
_arguments -s -S \
|
||
'(-n --nested-commands)'{-n,--nested-commands}'[Include all nested commands in the output]' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__hydrogen__build() {
|
||
_arguments -s -S \
|
||
'--bundle-stats[Show a bundle size summary after building]' \
|
||
'--codegen[Automatically generates GraphQL types for your project’s Storefront API...]' \
|
||
'--codegen-config-path=[Specifies a path to a codegen configuration file]:codegen-config-path:' \
|
||
'--disable-route-warning[Disables any warnings about missing standard routes]' \
|
||
'--entry=[Entry file for the worker]:entry:_files' \
|
||
'--force-client-sourcemap[Client sourcemapping is avoided by default because it makes backend code...]' \
|
||
'--lockfile-check[Checks that there is exactly one valid lockfile in the project]' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--sourcemap[Controls whether server sourcemaps are generated]' \
|
||
'--watch[Watches for changes and rebuilds the project writing output to disk]'
|
||
}
|
||
|
||
_shopify__hydrogen__check() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__hydrogen__codegen() {
|
||
_arguments -s -S \
|
||
'--codegen-config-path=[Specify a path to a codegen configuration file]:codegen-config-path:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--watch[Watch the project for changes to update types on file save]'
|
||
}
|
||
|
||
_shopify__hydrogen__customer_account_push() {
|
||
_arguments -s -S \
|
||
'--dev-origin=[The development domain of your application]:dev-origin:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--relative-logout-uri=[The relative url of allowed url that will be redirected to post-logout for...]:relative-logout-uri:' \
|
||
'--relative-redirect-uri=[The relative url of allowed callback url for Customer Account API OAuth flow]:relative-redirect-uri:' \
|
||
'--storefront-id=[The id of the storefront the configuration should be pushed to]:storefront-id:'
|
||
}
|
||
|
||
_shopify__hydrogen__debug__cpu() {
|
||
_arguments -s -S \
|
||
'--entry=[Entry file for the worker]:entry:_files' \
|
||
'--output=[Specify a path to generate the profile file]:output:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__debug() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'cpu:Builds and profiles the server startup time the app'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'hydrogen debug command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
cpu) _shopify__hydrogen__debug__cpu && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__hydrogen__deploy() {
|
||
_arguments -s -S \
|
||
'--assets-dir=[Directory containing the client assets to deploy, relative to the project...]:assets-dir:' \
|
||
'--auth-bypass-token[Generate an authentication bypass token, which can be used to perform...]' \
|
||
'--auth-bypass-token-duration=[Specify the duration (in hours) up to 12 hours for the authentication...]:auth-bypass-token-duration:' \
|
||
'--build-command=[Specify a build command to run before deploying]:build-command:' \
|
||
'--entry=[Entry file for the worker]:entry:_files' \
|
||
'(--env --env-branch)--env=[Specifies the environment to perform the operation using its handle]:env:' \
|
||
'--env-branch=[Specifies the environment to perform the operation using its Git branch name]:env-branch:' \
|
||
'--env-file=[Path to an environment file to override existing environment variables for...]:env-file:' \
|
||
'(-f --force)'{-f,--force}'[Forces a deployment to proceed if there are uncommitted changes in its Git...]' \
|
||
'--force-client-sourcemap[Client sourcemapping is avoided by default because it makes backend code...]' \
|
||
'--json-output[Create a JSON file containing the deployment details in CI environments]' \
|
||
'--lockfile-check[Checks that there is exactly one valid lockfile in the project]' \
|
||
'--metadata-description=[Description of the changes in the deployment]:metadata-description:' \
|
||
'--metadata-user=[User that initiated the deployment]:metadata-user:' \
|
||
'--no-verify[Skip the routability verification step after deployment]' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--preview[Deploys to the Preview environment]' \
|
||
'(-s --shop)'{-s,--shop}'=[Shop URL]:shop:' \
|
||
'(-t --token)'{-t,--token}'=[Oxygen deployment token]:token:' \
|
||
'--worker-dir=[Directory containing the Oxygen worker entry point (`index.js` or...]:worker-dir:'
|
||
}
|
||
|
||
_shopify__hydrogen__dev() {
|
||
_arguments -s -S \
|
||
'--codegen[Automatically generates GraphQL types for your project’s Storefront API...]' \
|
||
'--codegen-config-path=[Specifies a path to a codegen configuration file]:codegen-config-path:' \
|
||
'--customer-account-push[Use tunneling for local development and push the tunneling domain to admin]' \
|
||
'--debug[Enables inspector connections to the server with a debugger such as Visual...]' \
|
||
'--disable-deps-optimizer[Disable adding dependencies to Vite'\''s `ssr.optimizeDeps.include`...]' \
|
||
'--disable-version-check[Skip the version check when running `hydrogen dev`]' \
|
||
'--disable-virtual-routes[Disable rendering fallback routes when a route file doesn'\''t exist]' \
|
||
'--entry=[Entry file for the worker]:entry:_files' \
|
||
'(--env --env-branch)--env=[Specifies the environment to perform the operation using its handle]:env:' \
|
||
'--env-branch=[Specifies the environment to perform the operation using its Git branch name]:env-branch:' \
|
||
'--env-file=[Path to an environment file to override existing environment variables]:env-file:' \
|
||
'--host[Expose the server to the local network]' \
|
||
'--inspector-port=[The port where the inspector is available]:inspector-port:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--port=[The port to run the server on]:port:' \
|
||
'--verbose[Outputs more information about the command'\''s execution]'
|
||
}
|
||
|
||
_shopify__hydrogen__env__list() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__env__pull() {
|
||
_arguments -s -S \
|
||
'(--env --env-branch)--env=[Specifies the environment to perform the operation using its handle]:env:' \
|
||
'--env-branch=[Specifies the environment to perform the operation using its Git branch name]:env-branch:' \
|
||
'--env-file=[Path to an environment file to override existing environment variables]:env-file:' \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__env__push() {
|
||
_arguments -s -S \
|
||
'(--dry-run -f --force)--dry-run[Preview environment variable changes without pushing them]' \
|
||
'--env=[Specifies the environment to perform the operation using its handle]:env:' \
|
||
'--env-file=[Path to an environment file to override existing environment variables]:env-file:' \
|
||
'(-f --force)'{-f,--force}'[Push environment variable changes without confirmation]' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__env() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'list:List the environments on your linked Hydrogen storefront'
|
||
'pull:Populate your .env with variables from your Hydrogen storefront'
|
||
'push:Push environment variables from the local .env file to your linked Hydrogen...'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'hydrogen env command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
list) _shopify__hydrogen__env__list && ret=0 ;;
|
||
pull) _shopify__hydrogen__env__pull && ret=0 ;;
|
||
push) _shopify__hydrogen__env__push && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__hydrogen__generate__route() {
|
||
_arguments -s -S \
|
||
'--adapter=[React Router adapter used in the route]:adapter:' \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'--locale-param=[The param name in Remix routes for the i18n locale, if any]:locale-param:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--typescript[Generate TypeScript files]' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__hydrogen__generate__routes() {
|
||
_arguments -s -S \
|
||
'--adapter=[React Router adapter used in the route]:adapter:' \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'--locale-param=[The param name in Remix routes for the i18n locale, if any]:locale-param:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--typescript[Generate TypeScript files]'
|
||
}
|
||
|
||
_shopify__hydrogen__generate() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'route:Generates a standard Shopify route'
|
||
'routes:Generates all supported standard shopify routes'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'hydrogen generate command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
route) _shopify__hydrogen__generate__route && ret=0 ;;
|
||
routes) _shopify__hydrogen__generate__routes && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__hydrogen__init() {
|
||
_arguments -s -S \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'--git[Init Git and create initial commits]' \
|
||
'--install-deps[Auto installs dependencies using the active package manager]' \
|
||
'--language=[Sets the template language to use]:language:' \
|
||
'--markets=[Sets the URL structure to support multiple markets]:markets:' \
|
||
'--mock-shop[Use mock.shop as the data source for the storefront]' \
|
||
'--path=[The path to the directory of the new Hydrogen storefront]:path:_files -/' \
|
||
'--quickstart[Scaffolds a new Hydrogen project with a set of sensible defaults]' \
|
||
'--shortcut[Creates a global h2 shortcut for Shopify CLI using shell aliases]' \
|
||
'--styling=[Sets the styling strategy to use]:styling:' \
|
||
'--template=[Scaffolds project based on an existing template or example from the...]:template:'
|
||
}
|
||
|
||
_shopify__hydrogen__link() {
|
||
_arguments -s -S \
|
||
'(--create-storefront --storefront)--create-storefront[Create a new Hydrogen storefront]' \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'(--name --storefront)--name=[The name to use when creating a new Hydrogen storefront]:name:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'(-s --shop)'{-s,--shop}'=[Shop URL]:shop:' \
|
||
'(--storefront --create-storefront --name)--storefront=[The name of a Hydrogen Storefront (e.g]:storefront:'
|
||
}
|
||
|
||
_shopify__hydrogen__list() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__login() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'(-s --shop)'{-s,--shop}'=[Shop URL]:shop:'
|
||
}
|
||
|
||
_shopify__hydrogen__logout() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__preview() {
|
||
_arguments -s -S \
|
||
'--build[Builds the app before starting the preview server]' \
|
||
'--codegen[Automatically generates GraphQL types for your project’s Storefront API...]' \
|
||
'--codegen-config-path=[Specifies a path to a codegen configuration file]:codegen-config-path:' \
|
||
'--debug[Enables inspector connections to the server with a debugger such as Visual...]' \
|
||
'--entry=[Entry file for the worker]:entry:_files' \
|
||
'(--env --env-branch)--env=[Specifies the environment to perform the operation using its handle]:env:' \
|
||
'--env-branch=[Specifies the environment to perform the operation using its Git branch name]:env-branch:' \
|
||
'--env-file=[Path to an environment file to override existing environment variables]:env-file:' \
|
||
'--inspector-port=[The port where the inspector is available]:inspector-port:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--port=[The port to run the server on]:port:' \
|
||
'--verbose[Outputs more information about the command'\''s execution]' \
|
||
'--watch[Watches for changes and rebuilds the project]'
|
||
}
|
||
|
||
_shopify__hydrogen__setup__css() {
|
||
_arguments -s -S \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'--install-deps[Auto installs dependencies using the active package manager]' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__hydrogen__setup__markets() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__hydrogen__setup__vite() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__setup() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'css:Setup CSS strategies for your project'
|
||
'markets:Setup support for multiple markets in your project'
|
||
'vite:EXPERIMENTAL\: Upgrades the project to use Vite'
|
||
)
|
||
|
||
_arguments -s -C \
|
||
'(-f --force)'{-f,--force}'[Overwrites the destination directory and files if they already exist]' \
|
||
'--install-deps[Auto installs dependencies using the active package manager]' \
|
||
'--markets=[Sets the URL structure to support multiple markets]:markets:' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'--shortcut[Creates a global h2 shortcut for Shopify CLI using shell aliases]' \
|
||
'1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'hydrogen setup command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
css) _shopify__hydrogen__setup__css && ret=0 ;;
|
||
markets) _shopify__hydrogen__setup__markets && ret=0 ;;
|
||
vite) _shopify__hydrogen__setup__vite && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__hydrogen__shortcut() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__hydrogen__unlink() {
|
||
_arguments -s -S \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/'
|
||
}
|
||
|
||
_shopify__hydrogen__upgrade() {
|
||
_arguments -s -S \
|
||
'(-f --force)'{-f,--force}'[Ignore warnings and force the upgrade to the target version]' \
|
||
'--path=[The path to the directory of the Hydrogen storefront]:path:_files -/' \
|
||
'(-v --version)'{-v,--version}'=[A target hydrogen version to update to]:version:'
|
||
}
|
||
|
||
_shopify__hydrogen() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'build:Builds a Hydrogen storefront for production'
|
||
'check:Returns diagnostic information about a Hydrogen storefront'
|
||
'codegen:Generate types for the Storefront API queries found in your project'
|
||
'customer-account-push:Push project configuration to admin'
|
||
'debug:Profile the storefront'
|
||
'deploy:Builds and deploys a Hydrogen storefront to Oxygen'
|
||
'dev:Runs Hydrogen storefront in an Oxygen worker for development'
|
||
'env:Manage storefront environment variables'
|
||
'generate:Generate standard Shopify routes'
|
||
'init:Creates a new Hydrogen storefront'
|
||
'link:Link a local project to one of your shop'\''s Hydrogen storefronts'
|
||
'list:Returns a list of Hydrogen storefronts available on a given shop'
|
||
'login:Login to your Shopify account'
|
||
'logout:Logout of your local session'
|
||
'preview:Runs a Hydrogen storefront in an Oxygen worker for production'
|
||
'setup:Scaffold routes and core functionality'
|
||
'shortcut:Creates a global `h2` shortcut for the Hydrogen CLI'
|
||
'unlink:Unlink a local project from a Hydrogen storefront'
|
||
'upgrade:Upgrade Remix and Hydrogen npm dependencies'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'hydrogen command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
build) _shopify__hydrogen__build && ret=0 ;;
|
||
check) _shopify__hydrogen__check && ret=0 ;;
|
||
codegen) _shopify__hydrogen__codegen && ret=0 ;;
|
||
customer-account-push) _shopify__hydrogen__customer_account_push && ret=0 ;;
|
||
debug) _shopify__hydrogen__debug && ret=0 ;;
|
||
deploy) _shopify__hydrogen__deploy && ret=0 ;;
|
||
dev) _shopify__hydrogen__dev && ret=0 ;;
|
||
env) _shopify__hydrogen__env && ret=0 ;;
|
||
generate) _shopify__hydrogen__generate && ret=0 ;;
|
||
init) _shopify__hydrogen__init && ret=0 ;;
|
||
link) _shopify__hydrogen__link && ret=0 ;;
|
||
list) _shopify__hydrogen__list && ret=0 ;;
|
||
login) _shopify__hydrogen__login && ret=0 ;;
|
||
logout) _shopify__hydrogen__logout && ret=0 ;;
|
||
preview) _shopify__hydrogen__preview && ret=0 ;;
|
||
setup) _shopify__hydrogen__setup && ret=0 ;;
|
||
shortcut) _shopify__hydrogen__shortcut && ret=0 ;;
|
||
unlink) _shopify__hydrogen__unlink && ret=0 ;;
|
||
upgrade) _shopify__hydrogen__upgrade && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__organization__list() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__organization() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'list:List Shopify organizations you have access to'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'organization command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
list) _shopify__organization__list && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__search() {
|
||
_arguments -s -S \
|
||
'--no-color[Disable color output]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__store__auth__list() {
|
||
_arguments -s -S \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store__auth() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'list:List stores authenticated directly with store auth'
|
||
)
|
||
|
||
_arguments -s -C \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--scopes=[Comma-separated Admin API scopes to request for the app]:scopes:' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'store auth command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
list) _shopify__store__auth__list && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__store__bulk__cancel() {
|
||
_arguments -s -S \
|
||
'--id=[The bulk operation ID to cancel (numeric ID or full GID)]:id:' \
|
||
'--no-color[Disable color output]' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store__bulk__execute() {
|
||
_arguments -s -S \
|
||
'--allow-mutations[Allow GraphQL mutations to run against the target store]' \
|
||
'--no-color[Disable color output]' \
|
||
'--output-file=[The file path where results should be written if --watch is specified]:output-file:' \
|
||
'(-q --query)'{-q,--query}'=[The GraphQL query or mutation to run as a bulk operation]:query:' \
|
||
'--query-file=[Path to a file containing the GraphQL query or mutation]:query-file:' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'(--variable-file -v --variables)--variable-file=[Path to a file containing GraphQL variables in JSONL format (one JSON...]:variable-file:' \
|
||
*''{-v,--variables}'=[The values for any GraphQL variables in your mutation, in JSON format]:variables:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The API version to use for the bulk operation]:version:' \
|
||
'--watch[Wait for bulk operation results before exiting]'
|
||
}
|
||
|
||
_shopify__store__bulk__status() {
|
||
_arguments -s -S \
|
||
'--id=[The bulk operation ID (numeric ID or full GID)]:id:' \
|
||
'--no-color[Disable color output]' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store__bulk() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'cancel:Cancel a bulk operation on a store'
|
||
'execute:Execute bulk operations on a store'
|
||
'status:Check the status of bulk operations on a store'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'store bulk command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
cancel) _shopify__store__bulk__cancel && ret=0 ;;
|
||
execute) _shopify__store__bulk__execute && ret=0 ;;
|
||
status) _shopify__store__bulk__status && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__store__create__preview() {
|
||
_arguments -s -S \
|
||
'--country=[Two-letter country code for the store, such as US, CA, or GB]:country:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--name=[The name of the store]:name:' \
|
||
'--no-color[Disable color output]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store__create() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'preview:Create a preview Shopify store'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'store create command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
preview) _shopify__store__create__preview && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__store__execute() {
|
||
_arguments -s -S \
|
||
'--allow-mutations[Allow GraphQL mutations to run against the target store]' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--output-file=[The file name where results should be written, instead of STDOUT]:output-file:' \
|
||
'(-q --query)'{-q,--query}'=[The GraphQL query or mutation, as a string]:query:' \
|
||
'--query-file=[Path to a file containing the GraphQL query or mutation]:query-file:' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'(--variable-file -v --variables)--variable-file=[Path to a file containing GraphQL variables in JSON format]:variable-file:' \
|
||
'(-v --variables --variable-file)'{-v,--variables}'=[The values for any GraphQL variables in your query or mutation, in JSON...]:variables:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The API version to use for the query or mutation]:version:'
|
||
}
|
||
|
||
_shopify__store__graphiql() {
|
||
_arguments -s -S \
|
||
'--allow-mutations[Allow GraphQL mutations to run against the target store]' \
|
||
'--no-color[Disable color output]' \
|
||
'--port=[Local port for the GraphiQL server]:port:' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'(-v --variables)'{-v,--variables}'=[The values for any GraphQL variables in your query or mutation, in JSON...]:variables:' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'--version=[The API version to use in GraphiQL]:version:'
|
||
}
|
||
|
||
_shopify__store__info() {
|
||
_arguments -s -S \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store__list() {
|
||
_arguments -s -S \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--organization-id=[The numeric organization ID]:organization-id:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store__open() {
|
||
_arguments -s -S \
|
||
'--no-color[Disable color output]' \
|
||
'(-s --store)'{-s,--store}'=[The myshopify.com domain of the store]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__store() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'auth:Authenticate an app against a store for store commands'
|
||
'bulk:Run bulk store operations'
|
||
'create:Create a store'
|
||
'execute:Execute GraphQL queries and mutations on a store'
|
||
'graphiql:Open a local GraphiQL UI for a store'
|
||
'info:Surface metadata about a Shopify store'
|
||
'list:List stores in a Shopify organization'
|
||
'open:Open your Shopify store in the default web browser'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'store command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
auth) _shopify__store__auth && ret=0 ;;
|
||
bulk) _shopify__store__bulk && ret=0 ;;
|
||
create) _shopify__store__create && ret=0 ;;
|
||
execute) _shopify__store__execute && ret=0 ;;
|
||
graphiql) _shopify__store__graphiql && ret=0 ;;
|
||
info) _shopify__store__info && ret=0 ;;
|
||
list) _shopify__store__list && ret=0 ;;
|
||
open) _shopify__store__open && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__theme__check() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-a --auto-correct)'{-a,--auto-correct}'[Automatically fix offenses]' \
|
||
'(-C --config)'{-C,--config}'=[Use the config provided, overriding .theme-check.yml if present]:config:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--fail-level=[Minimum severity for exit with error code]:fail-level:(crash error suggestion style warning info)' \
|
||
'--init[Generate a .theme-check.yml file]' \
|
||
'--list[List enabled checks]' \
|
||
'--no-color[Disable color output]' \
|
||
'(-o --output)'{-o,--output}'=[The output format to use]:output:(text json)' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'--print[Output active config to STDOUT]' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'(-v --version)'{-v,--version}'[Print Theme Check version]'
|
||
}
|
||
|
||
_shopify__theme__console() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--store-password=[The password for storefronts with password protection]:store-password:' \
|
||
'--url=[The url to be used as context]:url:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__delete() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-d --development)'{-d,--development}'[Delete your development theme]' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-f --force)'{-f,--force}'[Skip confirmation]' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-a --show-all)'{-a,--show-all}'[Include other development themes in the theme list]' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
*''{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__dev() {
|
||
_arguments -s -S \
|
||
'(-a --allow-live)'{-a,--allow-live}'[Allow development on a live theme]' \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--error-overlay=[Controls the visibility of the error overlay when an theme asset upload...]:error-overlay:(silent default)' \
|
||
'--host=[Set which network interface the web server listens on]:host:_hosts' \
|
||
*''{-x,--ignore}'=[Skip hot reloading any files that match the specified pattern]:ignore:_files' \
|
||
'--listing=[The listing preset to use for multi-preset themes]:listing:' \
|
||
'--live-reload=[The live reload mode switches the server behavior when a file is modified\:]:live-reload:(hot-reload full-page off)' \
|
||
'--no-color[Disable color output]' \
|
||
'(-n --nodelete)'{-n,--nodelete}'[Prevents files from being deleted in the remote theme when a file has been...]' \
|
||
'--notify=[The file path or URL]:notify:_files' \
|
||
*''{-o,--only}'=[Hot reload only files that match the specified pattern]:only:_files' \
|
||
'--open[Automatically launch the theme preview in your default web browser]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'--port=[Local port to serve theme preview from]:port:' \
|
||
'--reconciliation-strategy=[How to resolve JSON conflicts when --theme-editor-sync is enabled]:reconciliation-strategy:(keep-local keep-remote abort)' \
|
||
'--standard-events-inspector[Inject the standard events inspector into storefront HTML]' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--store-password=[The password for storefronts with password protection]:store-password:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--theme-editor-sync[Synchronize Theme Editor updates in the local theme files]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__duplicate() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-f --force)'{-f,--force}'[Force the duplicate operation to run without prompts or confirmations]' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'(-n --name)'{-n,--name}'=[Name of the newly duplicated theme]:name:' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__info() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-d --development)'{-d,--development}'[Retrieve info from your development theme]' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__init() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-u --clone-url)'{-u,--clone-url}'=[The Git URL to clone from]:clone-url:' \
|
||
'(-l --latest)'{-l,--latest}'[Downloads the latest release of the `clone-url`]' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'--verbose[Increase the verbosity of the output]' \
|
||
'*:file:_files'
|
||
}
|
||
|
||
_shopify__theme__language_server() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'--no-color[Disable color output]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__list() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--id=[Only list theme with the given ID]:id:' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--name=[Only list themes that contain the given name]:name:' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'--role=[Only list themes with the given role]:role:(live unpublished development)' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__metafields__pull() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__metafields() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'pull:Download metafields definitions from your shop into a local file'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'theme metafields command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
pull) _shopify__theme__metafields__pull && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__theme__open() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-d --development)'{-d,--development}'[Open your development theme]' \
|
||
'(-E --editor)'{-E,--editor}'[Open the theme editor for the specified theme in the browser]' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-l --live)'{-l,--live}'[Open your live (published) theme]' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__package() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'--no-color[Disable color output]' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__preview() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--json[Output the preview URL and identifier as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--open[Automatically launch the theme preview in your default web browser]' \
|
||
'--overrides=[Path to a JSON overrides file]:overrides:' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'--preview-id=[An existing preview identifier to update instead of creating a new preview]:preview-id:' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__profile() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--store-password=[The password for storefronts with password protection]:store-password:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--url=[The url to be used as context]:url:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__publish() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-f --force)'{-f,--force}'[Skip confirmation]' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__pull() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-d --development)'{-d,--development}'[Pull theme files from your remote development theme]' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
*''{-x,--ignore}'=[Skip downloading the specified files (Multiple flags allowed)]:ignore:_files' \
|
||
'(-l --live)'{-l,--live}'[Pull theme files from your remote live theme]' \
|
||
'--no-color[Disable color output]' \
|
||
'(-n --nodelete)'{-n,--nodelete}'[Prevent deleting local files that don'\''t exist remotely]' \
|
||
*''{-o,--only}'=[Download only the specified files (Multiple flags allowed)]:only:_files' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__push() {
|
||
_arguments -s -S \
|
||
'(-a --allow-live)'{-a,--allow-live}'[Allow push to a live theme]' \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-d --development)'{-d,--development}'[Push theme files from your remote development theme]' \
|
||
'(-c --development-context -t --theme)'{-c,--development-context}'=[Unique identifier for a development theme context (e.g., PR number, branch...]:development-context:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
*''{-x,--ignore}'=[Skip uploading the specified files (Multiple flags allowed)]:ignore:_files' \
|
||
'(-j --json)'{-j,--json}'[Output the result as JSON]' \
|
||
'--listing=[The listing preset to use for multi-preset themes]:listing:' \
|
||
'(-l --live)'{-l,--live}'[Push theme files from your remote live theme]' \
|
||
'--no-color[Disable color output]' \
|
||
'(-n --nodelete)'{-n,--nodelete}'[Prevent deleting remote files that don'\''t exist locally]' \
|
||
*''{-o,--only}'=[Upload only the specified files (Multiple flags allowed)]:only:_files' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-p --publish)'{-p,--publish}'[Publish as the live theme after uploading]' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--strict[Require theme check to pass without errors before pushing]' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'(-u --unpublished)'{-u,--unpublished}'[Create a new unpublished theme and push to it]' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__rename() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
'(-d --development)'{-d,--development}'[Rename your development theme]' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'(-l --live)'{-l,--live}'[Rename your remote live theme]' \
|
||
'(-n --name)'{-n,--name}'=[The new name for the theme]:name:' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'(-t --theme)'{-t,--theme}'=[Theme ID or name of the remote theme]:theme:_shopify_themes' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme__share() {
|
||
_arguments -s -S \
|
||
'--auth-alias=[Alias of the Shopify account to use for authentication]:auth-alias:' \
|
||
*''{-e,--environment}'=[The environment to apply to the current command]:environment:_shopify_environments' \
|
||
'--listing=[The listing preset to use for multi-preset themes]:listing:' \
|
||
'--no-color[Disable color output]' \
|
||
'--password=[Password generated from the Theme Access app or an Admin API token]:password:' \
|
||
'--path=[The path where you want to run the command]:path:_files -/' \
|
||
'(-s --store)'{-s,--store}'=[Store URL]:store:' \
|
||
'--verbose[Increase the verbosity of the output]'
|
||
}
|
||
|
||
_shopify__theme() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'check:Validate the theme'
|
||
'console:Shopify Liquid REPL (read-eval-print loop) tool'
|
||
'delete:Delete remote themes from the connected store'
|
||
'dev:Uploads the current theme as a development theme to the connected store,...'
|
||
'duplicate:Duplicates a theme from your theme library'
|
||
'info:Displays information about your theme environment, including your current...'
|
||
'init:Clones a Git repository to use as a starting point for building a new theme'
|
||
'language-server:Start a Language Server Protocol server'
|
||
'list:Lists the themes in your store, along with their IDs and statuses'
|
||
'metafields:Theme metafield operations'
|
||
'open:Opens the preview of your remote theme'
|
||
'package:Package your theme into a .zip file, ready to upload to the Online Store'
|
||
'preview:Applies JSON overrides to a theme and returns a preview URL'
|
||
'profile:Profile the Liquid rendering of a theme page'
|
||
'publish:Set a remote theme as the live theme'
|
||
'pull:Download your remote theme files locally'
|
||
'push:Uploads your local theme files to the connected store, overwriting the...'
|
||
'rename:Renames an existing theme'
|
||
'share:Creates a shareable, unpublished, and new theme on your theme library with...'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'theme command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
check) _shopify__theme__check && ret=0 ;;
|
||
console) _shopify__theme__console && ret=0 ;;
|
||
delete) _shopify__theme__delete && ret=0 ;;
|
||
dev) _shopify__theme__dev && ret=0 ;;
|
||
duplicate) _shopify__theme__duplicate && ret=0 ;;
|
||
info) _shopify__theme__info && ret=0 ;;
|
||
init) _shopify__theme__init && ret=0 ;;
|
||
language-server) _shopify__theme__language_server && ret=0 ;;
|
||
list) _shopify__theme__list && ret=0 ;;
|
||
metafields) _shopify__theme__metafields && ret=0 ;;
|
||
open) _shopify__theme__open && ret=0 ;;
|
||
package) _shopify__theme__package && ret=0 ;;
|
||
preview) _shopify__theme__preview && ret=0 ;;
|
||
profile) _shopify__theme__profile && ret=0 ;;
|
||
publish) _shopify__theme__publish && ret=0 ;;
|
||
pull) _shopify__theme__pull && ret=0 ;;
|
||
push) _shopify__theme__push && ret=0 ;;
|
||
rename) _shopify__theme__rename && ret=0 ;;
|
||
share) _shopify__theme__share && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify__upgrade() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify__version() {
|
||
_arguments -s -S '*:file:_files'
|
||
}
|
||
|
||
_shopify() {
|
||
local curcontext="$curcontext" state line ret=1
|
||
local -a commands
|
||
commands=(
|
||
'app:Build Shopify apps'
|
||
'auth:Authentication operations'
|
||
'commands:List all shopify commands'
|
||
'config:CLI configuration options'
|
||
'doc:Search the Shopify documentation'
|
||
'help:Display help for Shopify CLI'
|
||
'hydrogen:Build Hydrogen storefronts'
|
||
'organization:Work with your organizations'
|
||
'search:Search shopify.dev for the most relevant content matching a query'
|
||
'store:Work with a store'
|
||
'theme:Build Liquid themes'
|
||
'upgrade:Upgrades Shopify CLI'
|
||
'version:Shopify CLI version currently installed'
|
||
)
|
||
|
||
_arguments -C '1: :->cmd' '*:: :->args' && ret=0
|
||
|
||
case $state in
|
||
cmd)
|
||
_describe -t commands 'shopify command' commands && ret=0
|
||
;;
|
||
args)
|
||
case $words[1] in
|
||
app) _shopify__app && ret=0 ;;
|
||
auth) _shopify__auth && ret=0 ;;
|
||
commands) _shopify__commands && ret=0 ;;
|
||
config) _shopify__config && ret=0 ;;
|
||
doc) _shopify__doc && ret=0 ;;
|
||
help) _shopify__help && ret=0 ;;
|
||
hydrogen) _shopify__hydrogen && ret=0 ;;
|
||
organization) _shopify__organization && ret=0 ;;
|
||
search) _shopify__search && ret=0 ;;
|
||
store) _shopify__store && ret=0 ;;
|
||
theme) _shopify__theme && ret=0 ;;
|
||
upgrade) _shopify__upgrade && ret=0 ;;
|
||
version) _shopify__version && ret=0 ;;
|
||
*) _files && ret=0 ;;
|
||
esac
|
||
;;
|
||
esac
|
||
|
||
return ret
|
||
}
|
||
|
||
_shopify "$@"
|