Commit Graph
3 Commits
Author SHA1 Message Date
Robby RussellandCopilot Autofix powered by AI e2be8df511 Replace command with direct shopify call for theme list
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-09-05 15:35:50 -07:00
Robby RussellandClaude Opus 5 419fc5e9b5 fix(shopify): parse every theme and keep match variables local
The dynamic theme completion split the `theme list --json` payload on
"${json//\{/$'\n'}", which substitutes a literal $'\n' rather than a newline.
Only the first theme was ever offered. Split on a newline held in a variable
instead.

Both completion helpers used =~ and (#b) backreferences without declaring
$match, leaving match, MATCH, mbegin and mend set in the user's shell.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LNDR8NjvPSgHbjcQurMHW9
2026-09-04 14:51:22 -07:00
Robby RussellandClaude Opus 5 338a1131c8 feat(shopify): add plugin
The Shopify CLI ships no completion generator of its own: there is no
`shopify completion` or `shopify autocomplete` command, and the published
package does not use @oclif/plugin-autocomplete. So the completion is
generated from `shopify commands --json` and checked in, as plugins/cdk and
plugins/terraform already do.

Targets Shopify CLI 4.x. Covers all 102 commands with descriptions, and their
flags, short forms and allowed values. `--environment` completes from the
local shopify.theme.toml or shopify.app.toml, offline.

The plugin also confirms before three irreversible operations: `theme push`
with --live/--publish, `theme delete`, and `app deploy --allow-deletes`.
The prompt is skipped when --force is present or stdin is not a terminal, so
scripts and CI are unaffected, and it can be disabled entirely with
`zstyle ':omz:plugins:shopify' confirm-destructive no`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LNDR8NjvPSgHbjcQurMHW9
2026-09-04 14:45:00 -07:00