diff options
| author | G'lek Tarssza <glek@glektarssza.com> | 2025-05-24 04:44:24 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-24 12:44:24 +0200 |
| commit | 095ac3ca8f4c3a89a69ff3b45cb67346f76babbd (patch) | |
| tree | 338a3595b4b72397c6f16b694b65e70e6cbde57e /lib | |
| parent | ecdc1e722a9f458b3b5c4900403ee77848e1dba2 (diff) | |
| download | zsh-095ac3ca8f4c3a89a69ff3b45cb67346f76babbd.tar.gz zsh-095ac3ca8f4c3a89a69ff3b45cb67346f76babbd.tar.bz2 zsh-095ac3ca8f4c3a89a69ff3b45cb67346f76babbd.zip | |
feat(cli): add `--enabled` flag to `omz plugin list` (#13128)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/cli.zsh | 23 |
1 files changed, 20 insertions, 3 deletions
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 <plugin> Disable plugin(s) enable <plugin> Enable plugin(s) info <plugin> Get information of a plugin - list List all available Oh My Zsh plugins + list [--enabled] List Oh My Zsh plugins load <plugin> 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 |
