708bbe12c5817e380c83d0c49bf684b0fc5d0024

Author
Marc Cornellà <hello@mcornella.com>
Committer
Marc Cornellà <hello@mcornella.com>
Date

Message

fix(cli): fix multiple errors in `plugin disable/enable`

Diff

This diff is truncated to protect this page.

  1diff --git a/lib/cli.zsh b/lib/cli.zsh
  2index 1289df7309d2682a491d98461b308b50d3fbcac3..e490149e0e669df41b46b1310f9af8d1645b5b57 100644
  3--- a/lib/cli.zsh
  4+++ b/lib/cli.zsh
  5@@ -230,9 +230,9 @@ function _omz::plugin::disable {
  6   local awk_script="
  7 # if plugins=() is in oneline form, substitute disabled plugins and go to next line
  8 /^\s*plugins=\([^#]+\).*\$/ {
  9-  sub(/\s+(${(j:|:)dis_plugins})/, \"\") # with spaces before
 10-  sub(/(${(j:|:)dis_plugins})\s+/, \"\") # with spaces after
 11-  sub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin)
 12+  gsub(/\s+(${(j:|:)dis_plugins})/, \"\") # with spaces before
 13+  gsub(/(${(j:|:)dis_plugins})\s+/, \"\") # with spaces after
 14+  gsub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin)
 15   print \$0
 16   next
 17 }
 18@@ -240,9 +240,9 @@ function _omz::plugin::disable {
 19 # if plugins=() is in multiline form, enable multi flag and disable plugins if they're there
 20 /^\s*plugins=\(/ {
 21   multi=1
 22-  sub(/\s+(${(j:|:)dis_plugins})/, \"\")
 23-  sub(/(${(j:|:)dis_plugins})\s+/, \"\")
 24-  sub(/\((${(j:|:)dis_plugins})\)/, \"\")
 25+  gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
 26+  gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
 27+  gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
 28   print \$0
 29   next
 30 }
 31@@ -251,17 +251,17 @@ function _omz::plugin::disable {
 32 # add new plugins and disable multi flag
 33 multi == 1 && /^[^#]*\)/ {
 34   multi=0
 35-  sub(/\s+(${(j:|:)dis_plugins})/, \"\")
 36-  sub(/(${(j:|:)dis_plugins})\s+/, \"\")
 37-  sub(/\((${(j:|:)dis_plugins})\)/, \"\")
 38+  gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
 39+  gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
 40+  gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
 41   print \$0
 42   next
 43 }
 44 
 45 multi == 1 {
 46-  sub(/\s+(${(j:|:)dis_plugins})/, \"\")
 47-  sub(/(${(j:|:)dis_plugins})\s+/, \"\")
 48-  sub(/\((${(j:|:)dis_plugins})\)/, \"\")
 49+  gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
 50+  gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
 51+  gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
 52   print \$0
 53   next
 54 }
 55@@ -283,13 +283,13 @@ multi == 1 {
 56   # Exit if the new .zshrc file has syntax errors
 57   if ! zsh -n ~/.zshrc; then
 58     _omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
 59-    mv ~/.zshrc ~/.zshrc.disabled
 60-    mv ~/.zshrc.swp ~/.zshrc
 61+    command mv -f ~/.zshrc ~/.zshrc.disabled
 62+    command mv -f ~/.zshrc.swp ~/.zshrc
 63     return 1
 64   fi
 65 
 66   # Restart the zsh session if there were no errors
 67-  _omz::log info ""
 68+  _omz::log info "plugins disabled: ${(j:, :)dis_plugins}."
 69 
 70   # Old zsh versions don't have ZSH_ARGZERO
 71   local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}"
 72@@ -344,26 +344,27 @@ multi == 1 && /^[^#]*\)/ {
 73 { print \$0 }
 74 "
 75 
 76-  awk "$awk_script" ~/.zshrc > ~/.zshrc.disabled \
 77-  && mv ~/.zshrc ~/.zshrc.swp \
 78-  && mv ~/.zshrc.disabled ~/.zshrc
 79+  awk "$awk_script" ~/.zshrc > ~/.zshrc.enabled \
 80+  && command mv -f ~/.zshrc ~/.zshrc.swp \
 81+  && command mv -f ~/.zshrc.enabled ~/.zshrc
 82 
 83   # Exit if the new .zshrc file wasn't created correctly
 84   [[ $? -eq 0 ]] || {
 85     local ret=$?
 86-    _omz::log error "error disabling plugins."
 87+    _omz::log error "error enabling plugins."
 88     return $ret
 89   }
 90 
 91   # Exit if the new .zshrc file has syntax errors
 92   if ! zsh -n ~/.zshrc; then
 93     _omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
 94-    mv ~/.zshrc ~/.zshrc.disabled
 95-    mv ~/.zshrc.swp ~/.zshrc
 96+    command mv -f ~/.zshrc ~/.zshrc.enabled
 97+    command mv -f ~/.zshrc.swp ~/.zshrc
 98     return 1
 99   fi
100 
101   # Restart the zsh session if there were no errors
102+  _omz::log info "plugins enabled: ${(j:, :)add_plugins}."
103 
104   # Old zsh versions don't have ZSH_ARGZERO