mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-21 03:41:57 +00:00
refactor(cli): extract substitution awk script in plugin disable
This commit is contained in:
parent
708bbe12c5
commit
bf888680ea
1 changed files with 13 additions and 16 deletions
29
lib/cli.zsh
29
lib/cli.zsh
|
@ -226,13 +226,17 @@ function _omz::plugin::disable {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Remove plugins substitution awk script
|
||||||
|
local awk_subst_plugins="\
|
||||||
|
gsub(/\s+(${(j:|:)dis_plugins})/, \"\") # with spaces before
|
||||||
|
gsub(/(${(j:|:)dis_plugins})\s+/, \"\") # with spaces after
|
||||||
|
gsub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin)
|
||||||
|
"
|
||||||
# Disable plugins awk script
|
# Disable plugins awk script
|
||||||
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=\([^#]+\).*\$/ {
|
||||||
gsub(/\s+(${(j:|:)dis_plugins})/, \"\") # with spaces before
|
$awk_subst_plugins
|
||||||
gsub(/(${(j:|:)dis_plugins})\s+/, \"\") # with spaces after
|
|
||||||
gsub(/\((${(j:|:)dis_plugins})\)/, \"\") # without spaces (only plugin)
|
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
@ -240,29 +244,22 @@ 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
|
||||||
gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
$awk_subst_plugins
|
||||||
gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
|
||||||
gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
# if multi flag is enabled and we find a valid closing parenthesis,
|
# if multi flag is enabled and we find a valid closing parenthesis, remove plugins and disable multi flag
|
||||||
# add new plugins and disable multi flag
|
|
||||||
multi == 1 && /^[^#]*\)/ {
|
multi == 1 && /^[^#]*\)/ {
|
||||||
multi=0
|
multi=0
|
||||||
gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
$awk_subst_plugins
|
||||||
gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
|
||||||
gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
|
||||||
print \$0
|
print \$0
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
multi == 1 {
|
multi == 1 && length(\$0) > 0 {
|
||||||
gsub(/\s+(${(j:|:)dis_plugins})/, \"\")
|
$awk_subst_plugins
|
||||||
gsub(/(${(j:|:)dis_plugins})\s+/, \"\")
|
if (length(\$0) > 0) print \$0
|
||||||
gsub(/\((${(j:|:)dis_plugins})\)/, \"\")
|
|
||||||
print \$0
|
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue