From c8ba08581dff43c18c1b0d9e7312ca32e6d97124 Mon Sep 17 00:00:00 2001 From: shuangcui Date: Fri, 15 Mar 2024 00:07:39 +0800 Subject: docs: fix typos (#12284) --- lib/cli.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index 561c1b98b..aa36a6ab5 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -448,7 +448,7 @@ function _omz::plugin::load { if [[ ! -f "$base/_$plugin" && ! -f "$base/$plugin.plugin.zsh" ]]; then _omz::log warn "'$plugin' is not a valid plugin" continue - # It it is a valid plugin, add its directory to $fpath unless it is already there + # It is a valid plugin, add its directory to $fpath unless it is already there elif (( ! ${fpath[(Ie)$base]} )); then fpath=("$base" $fpath) fi -- cgit v1.2.3-70-g09d2 From 56cfcb44e7ff730c10c5a00b58f38c33c984c52e Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Thu, 18 Apr 2024 07:33:13 +0200 Subject: fix(updater): abort update if `$ZSH` is not a git repository Fixes #12298 --- lib/cli.zsh | 12 +++++++++++- tools/check_for_upgrade.sh | 10 ++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index aa36a6ab5..4a8d4d127 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -773,7 +773,17 @@ function _omz::theme::use { } function _omz::update { - local last_commit=$(builtin cd -q "$ZSH"; git rev-parse HEAD) + # Check if git command is available + (( $+commands[git] )) || { + _omz::log error "git is not installed. Aborting..." + return 1 + } + + local last_commit=$(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null) + [[ $? -eq 0 ]] || { + _omz::log error "\`$ZSH\` is not a git directory. Aborting..." + return 1 + } # Run update script zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 1cc193bde..a5d2112f6 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -20,14 +20,16 @@ zstyle -s ':omz:update' mode update_mode || { } # Cancel update if: -# - the automatic update is disabled. -# - the current user doesn't have write permissions nor owns the $ZSH directory. +# - the automatic update is disabled +# - the current user doesn't have write permissions nor owns the $ZSH directory # - is not run from a tty -# - git is unavailable on the system. +# - git is unavailable on the system +# - $ZSH is not a git repository if [[ "$update_mode" = disabled ]] \ || [[ ! -w "$ZSH" || ! -O "$ZSH" ]] \ || [[ ! -t 1 ]] \ - || ! command git --version 2>&1 >/dev/null; then + || ! command git --version 2>&1 >/dev/null + || (builtin cd -q "$ZSH"; ! command git rev-parse --is-inside-work-tree &>/dev/null); then unset update_mode return fi -- cgit v1.2.3-70-g09d2 From b0561d28b5a3efbbcca4700626fa32e62c23959b Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Wed, 8 May 2024 22:20:42 +0200 Subject: fix(cli): fix edge cases in `omz plugin disable` command (#12401) Also introduces tests, which will be refactored into the proper place when a test system is finally designed. Fixes #12400 --- lib/cli.zsh | 14 +++- lib/tests/cli.test.zsh | 169 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+), 3 deletions(-) create mode 100644 lib/tests/cli.test.zsh (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index 4a8d4d127..383b0cfb0 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -241,10 +241,18 @@ function _omz::plugin::disable { # Remove plugins substitution awk script local awk_subst_plugins="\ - gsub(/[ \t]+(${(j:|:)dis_plugins})/, \"\") # with spaces before - gsub(/(${(j:|:)dis_plugins})[ \t]+/, \"\") # with spaces after - gsub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin) + gsub(/[ \t]+(${(j:|:)dis_plugins})[ \t]+/, \" \") # with spaces before or after + gsub(/[ \t]+(${(j:|:)dis_plugins})$/, \"\") # with spaces before and EOL + gsub(/^(${(j:|:)dis_plugins})[ \t]+/, \"\") # with BOL and spaces after + + gsub(/\((${(j:|:)dis_plugins})[ \t]+/, \"(\") # with parenthesis before and spaces after + gsub(/[ \t]+(${(j:|:)dis_plugins})\)/, \")\") # with spaces before or parenthesis after + gsub(/\((${(j:|:)dis_plugins})\)/, \"()\") # with only parentheses + + gsub(/^(${(j:|:)dis_plugins})\)/, \")\") # with BOL and closing parenthesis + gsub(/\((${(j:|:)dis_plugins})$/, \"(\") # with opening parenthesis and EOL " + # Disable plugins awk script local awk_script=" # if plugins=() is in oneline form, substitute disabled plugins and go to next line diff --git a/lib/tests/cli.test.zsh b/lib/tests/cli.test.zsh new file mode 100644 index 000000000..9ee5cd219 --- /dev/null +++ b/lib/tests/cli.test.zsh @@ -0,0 +1,169 @@ +#!/usr/bin/zsh -df + +run_awk() { + local -a dis_plugins=(${=1}) + local input_text="$2" + + (( ! DEBUG )) || set -xv + + local awk_subst_plugins="\ + gsub(/[ \t]+(${(j:|:)dis_plugins})[ \t]+/, \" \") # with spaces before or after + gsub(/[ \t]+(${(j:|:)dis_plugins})$/, \"\") # with spaces before and EOL + gsub(/^(${(j:|:)dis_plugins})[ \t]+/, \"\") # with BOL and spaces after + + gsub(/\((${(j:|:)dis_plugins})[ \t]+/, \"(\") # with parenthesis before and spaces after + gsub(/[ \t]+(${(j:|:)dis_plugins})\)/, \")\") # with spaces before or parenthesis after + gsub(/\((${(j:|:)dis_plugins})\)/, \"()\") # with only parentheses + + gsub(/^(${(j:|:)dis_plugins})\)/, \")\") # with BOL and closing parenthesis + gsub(/\((${(j:|:)dis_plugins})$/, \"(\") # with opening parenthesis and EOL + " + # Disable plugins awk script + local awk_script=" + # if plugins=() is in oneline form, substitute disabled plugins and go to next line + /^[ \t]*plugins=\([^#]+\).*\$/ { + $awk_subst_plugins + print \$0 + next + } + + # if plugins=() is in multiline form, enable multi flag and disable plugins if they're there + /^[ \t]*plugins=\(/ { + multi=1 + $awk_subst_plugins + print \$0 + next + } + + # if multi flag is enabled and we find a valid closing parenthesis, remove plugins and disable multi flag + multi == 1 && /^[^#]*\)/ { + multi=0 + $awk_subst_plugins + print \$0 + next + } + + multi == 1 && length(\$0) > 0 { + $awk_subst_plugins + if (length(\$0) > 0) print \$0 + next + } + + { print \$0 } + " + + command awk "$awk_script" <<< "$input_text" + + (( ! DEBUG )) || set +xv +} + +# runs awk against stdin, checks if the resulting file is not empty and then checks if the file has valid zsh syntax +run_awk_and_test() { + local description="$1" + local plugins_to_disable="$2" + local input_text="$3" + local expected_output="$4" + + local tmpfile==(:) + + { + print -u2 "Test: $description" + DEBUG=0 run_awk "$plugins_to_disable" "$input_text" >| $tmpfile + + if [[ ! -s "$tmpfile" ]]; then + print -u2 "\e[31mError\e[0m: output file empty" + return 1 + fi + + if ! zsh -n $tmpfile; then + print -u2 "\e[31mError\e[0m: zsh syntax error" + diff -u $tmpfile <(echo "$expected_output") + return 1 + fi + + if ! diff -u --color=always $tmpfile <(echo "$expected_output"); then + if (( DEBUG )); then + print -u2 "" + DEBUG=1 run_awk "$plugins_to_disable" "$input_text" + print -u2 "" + fi + print -u2 "\e[31mError\e[0m: output file does not match expected output" + return 1 + fi + + print -u2 "\e[32mSuccess\e[0m" + } always { + print -u2 "" + command rm -f "$tmpfile" + } +} + +# These tests are for the `omz plugin disable` command +run_awk_and_test \ + "it should delete a single plugin in oneline format" \ + "git" \ + "plugins=(git)" \ + "plugins=()" + +run_awk_and_test \ + "it should delete a single plugin in multiline format" \ + "github" \ +"plugins=( + github +)" \ +"plugins=( +)" + +run_awk_and_test \ + "it should delete multiple plugins in oneline format" \ + "github git z" \ + "plugins=(github git z)" \ + "plugins=()" + +run_awk_and_test \ + "it should delete multiple plugins in multiline format" \ + "github git z" \ +"plugins=( + github + git + z +)" \ +"plugins=( +)" + +run_awk_and_test \ + "it should delete a single plugin among multiple in oneline format" \ + "git" \ + "plugins=(github git z)" \ + "plugins=(github z)" + +run_awk_and_test \ + "it should delete a single plugin among multiple in multiline format" \ + "git" \ +"plugins=( + github + git + z +)" \ +"plugins=( + github + z +)" + +run_awk_and_test \ + "it should delete multiple plugins in mixed format" \ + "git z" \ +"plugins=(github +git z)" \ +"plugins=(github +)" + +run_awk_and_test \ + "it should delete multiple plugins in mixed format 2" \ + "github z" \ +"plugins=(github + git +z)" \ +"plugins=( + git +)" -- cgit v1.2.3-70-g09d2 From f4423ebd09fbc7670815c3c20cc86c81b7319e5f Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Thu, 26 Sep 2024 13:12:53 +0200 Subject: feat(cli): style plugin README in `omz plugin info` --- lib/cli.zsh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index 383b0cfb0..d1896f18d 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -397,8 +397,23 @@ function _omz::plugin::info { local readme for readme in "$ZSH_CUSTOM/plugins/$1/README.md" "$ZSH/plugins/$1/README.md"; do if [[ -f "$readme" ]]; then - (( ${+commands[less]} )) && less "$readme" || cat "$readme" - return 0 + # If being piped, just cat the README + if [[ ! -t 1 ]]; then + cat "$readme" + return $? + fi + + # Enrich the README display depending on the tools we have + # - glow: https://github.com/charmbracelet/glow + # - bat: https://github.com/sharkdp/bat + # - less: typical pager command + case 1 in + ${+commands[glow]}) glow -p "$readme" ;; + ${+commands[bat]}) bat -l md --style plain "$readme" ;; + ${+commands[less]}) less "$readme" ;; + *) cat "$readme" ;; + esac + return $? fi done -- cgit v1.2.3-70-g09d2 From 767c927a6dd2853439696a0ca229c5d78be249a1 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Tue, 8 Oct 2024 19:32:04 +0200 Subject: fix(cli): add plugins with indentation in `omz plugin enable` --- lib/cli.zsh | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index d1896f18d..38a84840c 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -344,20 +344,40 @@ function _omz::plugin::enable { next } -# if plugins=() is in multiline form, enable multi flag +# if plugins=() is in multiline form, enable multi flag and indent by default with 2 spaces /^[ \t]*plugins=\(/ { multi=1 + indent=\" \" + print \$0 + next } # if multi flag is enabled and we find a valid closing parenthesis, -# add new plugins and disable multi flag +# add new plugins with proper indent and disable multi flag multi == 1 && /^[^#]*\)/ { multi=0 - sub(/\)/, \" $add_plugins&\") + split(\"$add_plugins\",p,\" \") + for (i in p) { + print indent p[i] + } print \$0 next } +# if multi flag is enabled and we didnt find a closing parenthesis, +# get the indentation level to match when adding plugins +multi == 1 && /^[^#]*/ { + indent=\"\" + for (i = 1; i <= length(\$0); i++) { + char=substr(\$0, i, 1) + if (char == \" \" || char == \"\t\") { + indent = indent char + } else { + break + } + } +} + { print \$0 } " -- cgit v1.2.3-70-g09d2 From 276e540eed9c47d11539dfcd056cd9d162e1c732 Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Fri, 10 Jan 2025 14:11:33 +0100 Subject: fix(cli): ensure `ksharrays` is unset Closes #12900 --- lib/cli.zsh | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index 38a84840c..c63185a3d 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -1,6 +1,7 @@ #!/usr/bin/env zsh function omz { + setopt localoptions noksharrays [[ $# -gt 0 ]] || { _omz::help return 1 -- cgit v1.2.3-70-g09d2 From 85c49414926ad86f76d7bad3635f948bb5f883cb Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Thu, 23 Jan 2025 21:06:00 +0100 Subject: fix(cli)!: remove harmful `--unattended` flag for `omz update` (#12935) Co-authored-by: Carlo Sala --- README.md | 11 +++++++++++ lib/cli.zsh | 15 +++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'lib/cli.zsh') diff --git a/README.md b/README.md index 58828cf7f..f7455228a 100644 --- a/README.md +++ b/README.md @@ -487,6 +487,17 @@ wait a week?) you just need to run: omz update ``` +> [!NOTE] +> If you want to automate this process in a script, you should call directly the `upgrade` script, like this: +> +> ```sh +> $ZSH/tools/upgrade.sh +> ``` +> +> See more options in the [FAQ: How do I update Oh My Zsh?](https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ#how-do-i-update-oh-my-zsh). +> +> **USE OF `omz update --unattended` HAS BEEN REMOVED, AS IT HAS SIDE EFFECTS**. + Magic! 🎉 ## Uninstalling Oh My Zsh diff --git a/lib/cli.zsh b/lib/cli.zsh index c63185a3d..aed86e758 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -823,6 +823,13 @@ function _omz::update { return 1 } + # Check if --unattended was passed + [[ "$1" != --unattended ]] || { + _omz::log error "the \`\e[2m--unattended\e[0m\` flag is no longer supported, use the \`\e[2mupgrade.sh\e[0m\` script instead." + _omz::log error "for more information see https://github.com/ohmyzsh/ohmyzsh/wiki/FAQ#how-do-i-update-oh-my-zsh" + return 1 + } + local last_commit=$(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null) [[ $? -eq 0 ]] || { _omz::log error "\`$ZSH\` is not a git directory. Aborting..." @@ -831,11 +838,7 @@ function _omz::update { # Run update script zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default - if [[ "$1" != --unattended ]]; then - ZSH="$ZSH" command zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode || return $? - else - ZSH="$ZSH" command zsh -f "$ZSH/tools/upgrade.sh" -v $verbose_mode || return $? - fi + ZSH="$ZSH" command zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode || return $? # Update last updated file zmodload zsh/datetime @@ -844,7 +847,7 @@ function _omz::update { command rm -rf "$ZSH/log/update.lock" # Restart the zsh session if there were changes - if [[ "$1" != --unattended && "$(builtin cd -q "$ZSH"; git rev-parse HEAD)" != "$last_commit" ]]; then + if [[ "$(builtin cd -q "$ZSH"; git rev-parse HEAD)" != "$last_commit" ]]; then # Old zsh versions don't have ZSH_ARGZERO local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}" # Check whether to run a login shell -- cgit v1.2.3-70-g09d2 From f81259fb344685e2dc8b67f8ad8764ccd4e8502e Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Sat, 29 Mar 2025 12:55:20 +0100 Subject: fix(cli): support `noexec` environments (#13042) Closes #13032 --- lib/cli.zsh | 2 +- tools/upgrade.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index aed86e758..3b6308313 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -193,7 +193,7 @@ EOF return 1 fi - "$ZSH/tools/changelog.sh" "$version" "${2:-}" "$format" + ZSH="$ZSH" command zsh -f "$ZSH/tools/changelog.sh" "$version" "${2:-}" "$format" } function _omz::plugin { diff --git a/tools/upgrade.sh b/tools/upgrade.sh index c586610c4..1aa3d8af4 100755 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -254,7 +254,7 @@ if LANG= git pull --quiet --rebase $remote $branch; then # Print changelog to the terminal if [[ $interactive == true && $verbose_mode == default ]]; then - "$ZSH/tools/changelog.sh" HEAD "$last_commit" + ZSH="$ZSH" command zsh -f "$ZSH/tools/changelog.sh" HEAD "$last_commit" fi if [[ $verbose_mode != silent ]]; then -- cgit v1.2.3-70-g09d2 From 095ac3ca8f4c3a89a69ff3b45cb67346f76babbd Mon Sep 17 00:00:00 2001 From: G'lek Tarssza Date: Sat, 24 May 2025 04:44:24 -0600 Subject: feat(cli): add `--enabled` flag to `omz plugin list` (#13128) --- lib/cli.zsh | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index 3b6308313..0b144e4e7 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -72,6 +72,10 @@ function _omz { local -aU plugins plugins=("$ZSH"/plugins/*/{_*,*.plugin.zsh}(-.N:h:t) "$ZSH_CUSTOM"/plugins/*/{_*,*.plugin.zsh}(-.N:h:t)) _describe 'plugin' plugins ;; + plugin::list) + local -a opts + opts=('--enabled:List enabled plugins only') + _describe -o 'options' opts ;; theme::(set|use)) local -aU themes themes=("$ZSH"/themes/*.zsh-theme(-.N:t:r) "$ZSH_CUSTOM"/**/*.zsh-theme(-.N:r:gs:"$ZSH_CUSTOM"/themes/:::gs:"$ZSH_CUSTOM"/:::)) @@ -206,7 +210,7 @@ Available commands: disable Disable plugin(s) enable Enable plugin(s) info Get information of a plugin - list List all available Oh My Zsh plugins + list [--enabled] List Oh My Zsh plugins load Load plugin(s) EOF @@ -449,8 +453,21 @@ function _omz::plugin::info { function _omz::plugin::list { local -a custom_plugins builtin_plugins - custom_plugins=("$ZSH_CUSTOM"/plugins/*(-/N:t)) - builtin_plugins=("$ZSH"/plugins/*(-/N:t)) + + # If --enabled is provided, only list what's enabled + if [[ "$1" == "--enabled" ]]; then + local plugin + for plugin in "${plugins[@]}"; do + if [[ -d "${ZSH_CUSTOM}/plugins/${plugin}" ]]; then + custom_plugins+=("${plugin}") + elif [[ -d "${ZSH}/plugins/${plugin}" ]]; then + builtin_plugins+=("${plugin}") + fi + done + else + custom_plugins=("$ZSH_CUSTOM"/plugins/*(-/N:t)) + builtin_plugins=("$ZSH"/plugins/*(-/N:t)) + fi # If the command is being piped, print all found line by line if [[ ! -t 1 ]]; then -- cgit v1.2.3-70-g09d2 From c87eb79140ac359cf4f71604ddbf7209e1282939 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Fri, 19 Sep 2025 15:58:21 +0200 Subject: feat(cli): only allow `omz pr test` on PRs with `testers needed` label (#13238) --- lib/cli.zsh | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'lib/cli.zsh') diff --git a/lib/cli.zsh b/lib/cli.zsh index 0b144e4e7..a002a5073 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -621,10 +621,48 @@ function _omz::pr::test { done (( $found )) || { - _omz::log error "could not found the ohmyzsh git remote. Aborting..." + _omz::log error "could not find the ohmyzsh git remote. Aborting..." return 1 } + # Check if Pull Request has the "testers needed" label + _omz::log info "checking if PR #$1 has the 'testers needed' label..." + local pr_json label label_id="MDU6TGFiZWw4NzY1NTkwNA==" + pr_json=$( + curl -fsSL \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/repos/ohmyzsh/ohmyzsh/pulls/$1" + ) + + if [[ $? -gt 0 || -z "$pr_json" ]]; then + _omz::log error "error when trying to fetch PR #$1 from GitHub." + return 1 + fi + + # Check if the label is present with jq or grep + if (( $+commands[jq] )); then + label="$(command jq ".labels.[] | select(.node_id == \"$label_id\")" <<< "$pr_json")" + else + label="$(command grep "\"$label_id\"" <<< "$pr_json" 2>/dev/null)" + fi + + # If a maintainer hasn't labeled the PR to test, explain the security risk + if [[ -z "$label" ]]; then + _omz::log warn "PR #$1 does not have the 'testers needed' label. This means that the PR" + _omz::log warn "has not been reviewed by a maintainer and may contain malicious code." + + # Ask for explicit confirmation: user needs to type "yes" to continue + _omz::log prompt "Do you want to continue testing it? [yes/N] " + builtin read -r + if [[ "${REPLY:l}" != yes ]]; then + _omz::log error "PR test canceled. Please ask a maintainer to review and label the PR." + return 1 + else + _omz::log warn "Continuing to check out and test PR #$1. Be careful!" + fi + fi + # Fetch pull request head _omz::log info "fetching PR #$1 to ohmyzsh/pull-$1..." command git fetch -f "$remote" refs/pull/$1/head:ohmyzsh/pull-$1 || { -- cgit v1.2.3-70-g09d2 From 8c5a60644a2a93fb6b7d76ec7a5598f99b426cf0 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Sat, 15 Nov 2025 21:00:26 +0100 Subject: feat: announce OpenSwag and `omz shop` command (#13428) * Update shop URLs from Planet Argon to OpenSwag and add omz shop command Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: robbyrussell <257+robbyrussell@users.noreply.github.com> Co-authored-by: mcornella <1441704+mcornella@users.noreply.github.com> --- README.md | 2 +- lib/cli.zsh | 11 +++++++++++ tools/install.sh | 2 +- tools/upgrade.sh | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) (limited to 'lib/cli.zsh') diff --git a/README.md b/README.md index 55bfa0c5a..eaa3fb29e 100644 --- a/README.md +++ b/README.md @@ -547,7 +547,7 @@ We're on social media: ## Merchandise We have -[stickers, shirts, and coffee mugs available](https://shop.planetargon.com/collections/oh-my-zsh?utm_source=github) +[stickers, shirts, and coffee mugs available](https://openswag.shop/collections/oh-my-zsh?utm_source=github) for you to show off your love of Oh My Zsh. Again, you will become the talk of the town! ## License diff --git a/lib/cli.zsh b/lib/cli.zsh index a002a5073..c62da36af 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -28,6 +28,7 @@ function _omz { 'plugin:Manage plugins' 'pr:Manage Oh My Zsh Pull Requests' 'reload:Reload the current zsh session' + 'shop:Open the Oh My Zsh shop' 'theme:Manage themes' 'update:Update Oh My Zsh' 'version:Show the version' @@ -173,6 +174,7 @@ Available commands: plugin Manage plugins pr Manage Oh My Zsh Pull Requests reload Reload the current zsh session + shop Open the Oh My Zsh shop theme Manage themes update Update Oh My Zsh version Show the version @@ -721,6 +723,15 @@ function _omz::pr::test { ) } +function _omz::shop { + local shop_url="https://openswag.shop/collections/oh-my-zsh" + + _omz::log info "Opening Oh My Zsh shop in your browser..." + _omz::log info "$shop_url" + + open_command "$shop_url" +} + function _omz::reload { # Delete current completion cache command rm -f $_comp_dumpfile $ZSH_COMPDUMP diff --git a/tools/install.sh b/tools/install.sh index 8cf62a76e..d86550cdd 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -505,7 +505,7 @@ print_success() { printf '\n' printf '%s\n' "• Follow us on X: $(fmt_link @ohmyzsh https://x.com/ohmyzsh)" printf '%s\n' "• Join our Discord community: $(fmt_link "Discord server" https://discord.gg/ohmyzsh)" - printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "Planet Argon Shop" https://shop.planetargon.com/collections/oh-my-zsh)" + printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "OpenSwag Shop" https://openswag.shop/collections/oh-my-zsh)" printf '%s\n' $FMT_RESET } diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 1aa3d8af4..82c0624bc 100755 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -273,7 +273,7 @@ if LANG= git pull --quiet --rebase $remote $branch; then printf "${BLUE}%s${RESET}\n\n" "$message" printf "${BLUE}${BOLD}%s %s${RESET}\n" "To keep up with the latest news and updates, follow us on X:" "$(fmt_link @ohmyzsh https://x.com/ohmyzsh)" printf "${BLUE}${BOLD}%s %s${RESET}\n" "Want to get involved in the community? Join our Discord:" "$(fmt_link "Discord server" https://discord.gg/ohmyzsh)" - printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "Planet Argon Shop" https://shop.planetargon.com/collections/oh-my-zsh)" + printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "OpenSwag Shop" https://openswag.shop/collections/oh-my-zsh)" elif [[ $verbose_mode == minimal ]]; then printf "${BLUE}%s${RESET}\n" "$message" fi -- cgit v1.2.3-70-g09d2 From b52dd1a425e9ed9f844ba46cd27ff94a3b4949dc Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 19 Nov 2025 17:44:11 -0800 Subject: feat: Update OpenSwag domain references to CommitGoods (#13434) * Initial plan * Update all OpenSwag domain references to CommitGoods Co-authored-by: robbyrussell <257+robbyrussell@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: robbyrussell <257+robbyrussell@users.noreply.github.com> --- README.md | 2 +- lib/cli.zsh | 2 +- tools/install.sh | 2 +- tools/upgrade.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/cli.zsh') diff --git a/README.md b/README.md index eaa3fb29e..2ccb63b69 100644 --- a/README.md +++ b/README.md @@ -547,7 +547,7 @@ We're on social media: ## Merchandise We have -[stickers, shirts, and coffee mugs available](https://openswag.shop/collections/oh-my-zsh?utm_source=github) +[stickers, shirts, and coffee mugs available](https://commitgoods.com/collections/oh-my-zsh?utm_source=github) for you to show off your love of Oh My Zsh. Again, you will become the talk of the town! ## License diff --git a/lib/cli.zsh b/lib/cli.zsh index c62da36af..55938ba8a 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -724,7 +724,7 @@ function _omz::pr::test { } function _omz::shop { - local shop_url="https://openswag.shop/collections/oh-my-zsh" + local shop_url="https://commitgoods.com/collections/oh-my-zsh" _omz::log info "Opening Oh My Zsh shop in your browser..." _omz::log info "$shop_url" diff --git a/tools/install.sh b/tools/install.sh index d86550cdd..c31ce2d55 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -505,7 +505,7 @@ print_success() { printf '\n' printf '%s\n' "• Follow us on X: $(fmt_link @ohmyzsh https://x.com/ohmyzsh)" printf '%s\n' "• Join our Discord community: $(fmt_link "Discord server" https://discord.gg/ohmyzsh)" - printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "OpenSwag Shop" https://openswag.shop/collections/oh-my-zsh)" + printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "CommitGoods Shop" https://commitgoods.com/collections/oh-my-zsh)" printf '%s\n' $FMT_RESET } diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 82c0624bc..01719d217 100755 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -273,7 +273,7 @@ if LANG= git pull --quiet --rebase $remote $branch; then printf "${BLUE}%s${RESET}\n\n" "$message" printf "${BLUE}${BOLD}%s %s${RESET}\n" "To keep up with the latest news and updates, follow us on X:" "$(fmt_link @ohmyzsh https://x.com/ohmyzsh)" printf "${BLUE}${BOLD}%s %s${RESET}\n" "Want to get involved in the community? Join our Discord:" "$(fmt_link "Discord server" https://discord.gg/ohmyzsh)" - printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "OpenSwag Shop" https://openswag.shop/collections/oh-my-zsh)" + printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "CommitGoods Shop" https://commitgoods.com/collections/oh-my-zsh)" elif [[ $verbose_mode == minimal ]]; then printf "${BLUE}%s${RESET}\n" "$message" fi -- cgit v1.2.3-70-g09d2