diff --git a/README.md b/README.md index b0438cd5..2ada429e 100644 --- a/README.md +++ b/README.md @@ -816,7 +816,7 @@ ### Loading and Unloading ### Completions | Command | Description | -| :------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | `cclear` | Clear stray and improper completions. | | `cdclear [-q]` | Clear compdef replay list. `-q` – quiet. | | `cdisable {cname}` | Disable completion `cname`. | @@ -832,7 +832,7 @@ ### Completions ### Tracking of the Active Session | Command | Description | -| :--------------- | ------------------------------------------------- | +| ---------------- | ------------------------------------------------- | | `dclear` | Clear report of what was going on in session. | | `dstop` | Stop investigating what's going on in session. | | `dreport` | Report what was going on in session. | @@ -841,21 +841,21 @@ ### Tracking of the Active Session ### Reports and Statistics -| Command | Description | -| :--------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ls` | List snippets in formatted and colorized manner. Requires `tree` program. | -| `bindkeys` | Lists bindkeys set up by each plugin. | -| `zstatus` | Overall Zinit status. | -| `report {plg-spec}` | Show plugin report. `--all` – do it for all plugins. | -| `status {plg-spec}` | Git status for plugin or svn status for snippet. `--all` – do it for all plugins and snippets. | -| `recently [time-spec]` | Show plugins that changed recently, argument is e.g. 1 month 2 days. | -| `times [-s] [-m] [-a]` | Statistics on plugin load times, sorted in order of loading. `-s` – use seconds instead of milliseconds. `-m` – show plugin loading moments. `-a` - show both plugin load times and loading moments | -| `loaded [keyword], list [keyword]` | Show what plugins are loaded (filter with 'keyword'). | +| Command | Description | +| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `bindkeys` | Lists bindkeys set up by each plugin. | +| `list-plugins [keyword]` | Show what plugins are loaded (filter with 'keyword'). | +| `list-snippets` | List snippets in formatted and colorized manner. Requires `tree` program. | +| `recently [time-spec]` | Show plugins that changed recently, argument is e.g. 1 month 2 days. | +| `report {plg-spec}` | Show plugin report. `--all` – do it for all plugins. | +| `status {plg-spec}` | Git status for plugin or svn status for snippet. `--all` – do it for all plugins and snippets. | +| `zstatus` | Display brief statistics for your Zinit installation. | +| `times [-a] [-m] [-s]` | Print load times for each plugin. `-s` – Times are printed in seconds. `-m` – Show plugin loading moments. `-a` - Times and loading moments are printed. | ### Compiling | Command | Description | -| :--------------------- | ------------------------------------------------------------------- | +| ---------------------- | ------------------------------------------------------------------- | | `compiled` | List plugins that are compiled. | | `compile {plg-spec}` | Compile plugin. `--all` – compile all plugins. | | `uncompile {plg-spec}` | Remove compiled version of plugin. `--all` – do it for all plugins. | @@ -863,7 +863,7 @@ ### Compiling ### Other | Command | Description | -| :--------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `module` | Manage binary Zsh module shipped with Zinit, see `zinit module help`. | | `self-update` | Updates and compiles Zinit. | | `cd {plg-spec}` | Cd into plugin's directory. Also support snippets if fed with URL. | diff --git a/_zinit b/_zinit index 9dabf4d3..bfa3e27b 100644 --- a/_zinit +++ b/_zinit @@ -41,10 +41,9 @@ __zinit_commands(){ 'env-whitelist:Specify names (also patterns) of parameters to be left unchanged during an unload' 'glance:Look at plugins source' 'help:Usage information' - 'list:Show what plugins are loaded' + 'list-plugins:List status of all installed plugins' + 'list-snippets:List status of all installed snippets' 'load:Load plugin' - 'loaded:Show what plugins are loaded' - 'ls:List snippets in formatted and colorized manner' 'man:Display Zinit'\''s manpage' 'module:Manage binary Zsh module shipped with Zinit' 'recall:Fetch saved ice modifiers and construct ' diff --git a/doc/zsdoc/zinit-autoload.zsh.adoc b/doc/zsdoc/zinit-autoload.zsh.adoc index 0daa9950..431147fc 100644 --- a/doc/zsdoc/zinit-autoload.zsh.adoc +++ b/doc/zsdoc/zinit-autoload.zsh.adoc @@ -445,7 +445,7 @@ ____ ____ -Has 107 line(s). Calls functions: +Has 111 line(s). Calls functions: .zinit-delete |-- .zinit-prompt @@ -1161,10 +1161,10 @@ ____ ____ -Has 22 line(s). Calls functions: +Has 21 line(s). Calls functions: .zinit-show-registered-plugins - `-- zinit-side.zsh/.zinit-any-colorify-as-uspl2 + `-- zinit.zsh/+zinit-message Uses feature(s): _setopt_ diff --git a/doc/zsdoc/zinit-side.zsh.adoc b/doc/zsdoc/zinit-side.zsh.adoc index f87a81b8..a9b3378c 100644 --- a/doc/zsdoc/zinit-side.zsh.adoc +++ b/doc/zsdoc/zinit-side.zsh.adoc @@ -54,7 +54,6 @@ Called by: zinit-autoload.zsh/.zinit-recently zinit-autoload.zsh/.zinit-search-completions zinit-autoload.zsh/.zinit-show-completions - zinit-autoload.zsh/.zinit-show-registered-plugins zinit-autoload.zsh/.zinit-show-times zinit-autoload.zsh/.zinit-uncompile-plugin zinit-autoload.zsh/.zinit-unload diff --git a/doc/zsdoc/zinit.zsh.adoc b/doc/zsdoc/zinit.zsh.adoc index df8f16c8..3d662c6f 100644 --- a/doc/zsdoc/zinit.zsh.adoc +++ b/doc/zsdoc/zinit.zsh.adoc @@ -257,6 +257,7 @@ Called by: zinit-autoload.zsh/.zinit-delete zinit-autoload.zsh/.zinit-glance zinit-autoload.zsh/.zinit-self-update + zinit-autoload.zsh/.zinit-show-registered-plugins zinit-autoload.zsh/.zinit-show-zstatus zinit-autoload.zsh/.zinit-uninstall-completions zinit-autoload.zsh/.zinit-update-all-parallel diff --git a/zinit-autoload.zsh b/zinit-autoload.zsh index 75dd843d..bafe0650 100644 --- a/zinit-autoload.zsh +++ b/zinit-autoload.zsh @@ -770,27 +770,25 @@ ZINIT[EXTENDED_GLOB]="" .zinit-show-registered-plugins() { builtin emulate -LR zsh ${=${options[xtrace]:#off}:+-o xtrace} setopt extendedglob warncreateglobal typesetsilent noshortloops - typeset -a filtered local keyword="$1" - - keyword="${keyword## ##}" - keyword="${keyword%% ##}" - if [[ -n "$keyword" ]]; then - builtin print "Installed plugins matching ${ZINIT[col-info]}$keyword${ZINIT[col-rst]}:" - filtered=( "${(M)ZINIT_REGISTERED_PLUGINS[@]:#*$keyword*}" ) - else - filtered=( "${ZINIT_REGISTERED_PLUGINS[@]}" ) - fi - - local i - for i in "${filtered[@]}"; do - [[ "$i" = "_local/zinit" ]] && continue - .zinit-any-colorify-as-uspl2 "$i" - # Mark light loads - [[ "${ZINIT[STATES__$i]}" = "1" ]] && REPLY="$REPLY ${ZINIT[col-info]}*${ZINIT[col-rst]}" - builtin print -r -- "$REPLY" - done + keyword="${keyword## ##}" + keyword="${keyword%% ##}" + if [[ -n "$keyword" ]]; then + +zinit-message "{i} Installed plugins matching {info}$keyword{rst}:" + filtered=( "${(M)ZINIT[@]:#STATES__*$keyword*}" ) + else + filtered=(${${(M)${(k)ZINIT[@]}:##STATES__*}//[A-Z]*__/}) + fi + local i + +zinit-message '{u}{info}Registered plugins{rst}' + for i in "${(o)filtered[@]}"; do + [[ "$i" = "local/zinit" ]] && continue + local is_loaded='{error}U' + (( "ZINIT[STATES__$i]" )) && is_loaded="{happy}L" + +zinit-message -C2 -- $is_loaded{rst} $i + done + +zinit-message -- '{nl}{note}Note:{rst} Loaded plugins are denoted by a {num}*' } # ]]] # FUNCTION: .zinit-unload [[[ # 1. call the zsh plugin's standard *_plugin_unload function @@ -2766,6 +2764,9 @@ ZINIT[EXTENDED_GLOB]="" if (( $#o_yes )) || ( .zinit-prompt "Delete all plugins and snippets (${#all_installed} total)"); then command rm -rf -- ${(@)all_installed} command rm -f -- $ZINIT[HOME_DIR]/**/*(-@N) + for f in ${(M)${(k)ZINIT[@]}:##STATES__*~*local/zinit*}; do + builtin unset "ZINIT[$f]" + done local rc=$? +zinit-message "{m} Deleted all completed with return code {num}${rc}{rst}" return $rc @@ -2801,6 +2802,7 @@ ZINIT[EXTENDED_GLOB]="" } command rm -rf -- ${(q)${${local_dir:#[/[:space:]]##}:-${TMPDIR:-${TMPDIR:-/tmp}}/abcYZX321}}(N) # delete files command rm -f -- $ZINIT[HOME_DIR]/**/*(-@N) # delete broken symlins + builtin unset "ZINIT[STATES__${ICE2[id-as]}]" || builtin unset "ZINIT[STATES__${ICE2[teleid]}]" +zinit-message "{m} Uninstalled $i" else +zinit-message "{w} No available plugin or snippet with the name '$i'" diff --git a/zinit.zsh b/zinit.zsh index 5d2125a1..003de923 100644 --- a/zinit.zsh +++ b/zinit.zsh @@ -121,7 +121,7 @@ fpath|\ glance|\ help|\ ice|\ -light|list|load|loaded|ls|\ +light|list-plugins|list-snippets|load|\ man|module|\ recall|recently|report|run|\ self-update|snippet|srv|status|stress|\ @@ -2981,10 +2981,10 @@ You can try to prepend {apo}${___q}{lhi}@{apo}'{error} to the ID if the last ice .zinit-show-report "${2%%(///|//|/)}" "${3%%(///|//|/)}"; ___retval=$? fi ;; - (loaded|list) + (list-plugins) # Show list of loaded plugins. .zinit-show-registered-plugins "$2" - ;; + ;; (clist|completions) # Show installed, enabled or disabled, completions. # Detect stray and improper ones. @@ -3106,7 +3106,7 @@ You can try to prepend {apo}${___q}{lhi}@{apo}'{error} to the ID if the last ice (version) zi::version ;; - (ls) + (list-snippets) shift .zinit-ls "$@" ;;