mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-26 09:43:47 +01:00
fix(cli): fix multiple errors in plugin disable/enable
This commit is contained in:
parent
4455c13e06
commit
708bbe12c5
43
lib/cli.zsh
43
lib/cli.zsh
@ -230,9 +230,9 @@ function _omz::plugin::disable {
|
|||||||
local awk_script="
|
local awk_script="
|
||||||
# if plugins=() is in oneline form, substitute disabled plugins and go to next line
|
# if plugins=() is in oneline form, substitute disabled plugins and go to next line
|
||||||
/^\s*plugins=\([^#]+\).*\$/ {
|
/^\s*plugins=\([^#]+\).*\$/ {
|
||||||
sub(/\s+(${(j:|:)dis_plugins})/, \"\") # with spaces before
|
gsub(/\s+(${(j:|:)dis_plugins})/, \"\") # with spaces before
|
||||||
sub(/(${(j:|:)dis_plugins})\s+/, \"\") # with spaces after
|
gsub(/(${(j:|:)dis_plugins})\s+/, \"\") # with spaces after
|
||||||
sub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin)
|
gsub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin)
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
@ -240,9 +240,9 @@ function _omz::plugin::disable {
|
|||||||
# if plugins=() is in multiline form, enable multi flag and disable plugins if they're there
|
# if plugins=() is in multiline form, enable multi flag and disable plugins if they're there
|
||||||
/^\s*plugins=\(/ {
|
/^\s*plugins=\(/ {
|
||||||
multi=1
|
multi=1
|
||||||
sub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
||||||
sub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
||||||
sub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
@ -251,17 +251,17 @@ function _omz::plugin::disable {
|
|||||||
# add new plugins and disable multi flag
|
# add new plugins and disable multi flag
|
||||||
multi == 1 && /^[^#]*\)/ {
|
multi == 1 && /^[^#]*\)/ {
|
||||||
multi=0
|
multi=0
|
||||||
sub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
||||||
sub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
||||||
sub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
multi == 1 {
|
multi == 1 {
|
||||||
sub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
||||||
sub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
||||||
sub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
@ -283,13 +283,13 @@ multi == 1 {
|
|||||||
# Exit if the new .zshrc file has syntax errors
|
# Exit if the new .zshrc file has syntax errors
|
||||||
if ! zsh -n ~/.zshrc; then
|
if ! zsh -n ~/.zshrc; then
|
||||||
_omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
|
_omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
|
||||||
mv ~/.zshrc ~/.zshrc.disabled
|
command mv -f ~/.zshrc ~/.zshrc.disabled
|
||||||
mv ~/.zshrc.swp ~/.zshrc
|
command mv -f ~/.zshrc.swp ~/.zshrc
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Restart the zsh session if there were no errors
|
# Restart the zsh session if there were no errors
|
||||||
_omz::log info ""
|
_omz::log info "plugins disabled: ${(j:, :)dis_plugins}."
|
||||||
|
|
||||||
# Old zsh versions don't have ZSH_ARGZERO
|
# Old zsh versions don't have ZSH_ARGZERO
|
||||||
local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}"
|
local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}"
|
||||||
@ -344,26 +344,27 @@ multi == 1 && /^[^#]*\)/ {
|
|||||||
{ print \$0 }
|
{ print \$0 }
|
||||||
"
|
"
|
||||||
|
|
||||||
awk "$awk_script" ~/.zshrc > ~/.zshrc.disabled \
|
awk "$awk_script" ~/.zshrc > ~/.zshrc.enabled \
|
||||||
&& mv ~/.zshrc ~/.zshrc.swp \
|
&& command mv -f ~/.zshrc ~/.zshrc.swp \
|
||||||
&& mv ~/.zshrc.disabled ~/.zshrc
|
&& command mv -f ~/.zshrc.enabled ~/.zshrc
|
||||||
|
|
||||||
# Exit if the new .zshrc file wasn't created correctly
|
# Exit if the new .zshrc file wasn't created correctly
|
||||||
[[ $? -eq 0 ]] || {
|
[[ $? -eq 0 ]] || {
|
||||||
local ret=$?
|
local ret=$?
|
||||||
_omz::log error "error disabling plugins."
|
_omz::log error "error enabling plugins."
|
||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
# Exit if the new .zshrc file has syntax errors
|
# Exit if the new .zshrc file has syntax errors
|
||||||
if ! zsh -n ~/.zshrc; then
|
if ! zsh -n ~/.zshrc; then
|
||||||
_omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
|
_omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
|
||||||
mv ~/.zshrc ~/.zshrc.disabled
|
command mv -f ~/.zshrc ~/.zshrc.enabled
|
||||||
mv ~/.zshrc.swp ~/.zshrc
|
command mv -f ~/.zshrc.swp ~/.zshrc
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Restart the zsh session if there were no errors
|
# Restart the zsh session if there were no errors
|
||||||
|
_omz::log info "plugins enabled: ${(j:, :)add_plugins}."
|
||||||
|
|
||||||
# Old zsh versions don't have ZSH_ARGZERO
|
# Old zsh versions don't have ZSH_ARGZERO
|
||||||
local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}"
|
local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}"
|
||||||
|
Loading…
Reference in New Issue
Block a user