# fpath+=( `pwd`/doc ) # autoload test-id-as # test-id-as # # Introduction of id-as (an ice-mod that allows to nickname # any snippet or plugin) is a set of so many changes that # more tests were needed, thus this file was created, real # tests would took too long. # # Creates PLUGINS_DIR and SNIPPETS_DIR in /tmp. Can obtain # --reuse option, to reuse existing PLUGINS_DIR & SNIPPETS_DIR. autoload colors; colors setopt localtraps typesetsilent typeset -g plg_bkp="${ZPLGM[PLUGINS_DIR]}" snp_bkp="${ZPLGM[SNIPPETS_DIR]}" argv1="$1" argv2="$2" [[ -z "$plg_bkp" || -z "$snp_bkp" ]] && { print "Zplugin not loaded? (the \$ZPLGM hash is missing fields)"; return 1; } [[ "$plg_bkp" != /* || $snp_bkp != /* ]] && { print "PLUGINS_DIR and/or SNIPPETS_DIR isn't an absolute path, aborting"; return 1; } if [[ "$argv1" != "--reuse" && "$argv2" != "--reuse" ]]; then command rm -rf /tmp/zplg_plgs /tmp/zplg_snps command mkdir -p /tmp/zplg_plgs /tmp/zplg_snps ZPLGM[PLUGINS_DIR]=/tmp/zplg_plgs ZPLGM[SNIPPETS_DIR]=/tmp/zplg_snps trap '[[ $argv1 != "--keep" && $argv2 != "--keep" ]] && { ZPLGM[PLUGINS_DIR]=$plg_bkp; ZPLGM[SNIPPETS_DIR]=$snp_bkp; } || { print; print "Kept ${ZPLGM[PLUGINS_DIR]} :: ${ZPLGM[SNIPPETS_DIR]}"; }; return 0;' EXIT INT TERM QUIT fi local INITIAL_CD="$PWD" cd /tmp print; print -- "$fg[green]..........Working dir: $PWD$reset_color.........." print -- "Removing test-plugins & snippets from disk ..." # This removal is in case of --reuse being passed to this script command rm -rf -- ${ZPLGM[PLUGINS_DIR]}/mvdan---sh/ \ ${ZPLGM[PLUGINS_DIR]}/oz---safe-paste \ ${ZPLGM[PLUGINS_DIR]}/junegunn---fzf-bin \ ${ZPLGM[PLUGINS_DIR]}/my---jun---gun \ ${ZPLGM[PLUGINS_DIR]}/myid \ ${ZPLGM[PLUGINS_DIR]}/myid---sub---1 \ ${ZPLGM[PLUGINS_DIR]}/my---pure command rm -rf -- ${ZPLGM[SNIPPETS_DIR]}/https--github.com--robbyrussell--oh-my-zsh--trunk--plugins \ ${ZPLGM[SNIPPETS_DIR]}/MY-UNIQUE \ ${ZPLGM[SNIPPETS_DIR]}/my \ ${ZPLGM[SNIPPETS_DIR]}/myid/sub print -- "Done." print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`github-$fg_bold[magenta]binary$fg_no_bold[red]'< $fg[magenta]mvdan$reset_color/$fg[yellow]sh$fg_bold[red] without$fg_no_bold[red] id-as nickname$reset_color" zplugin ice from"gh-r" as"command" mv"shfmt* -> shfmt"; zplugin load mvdan/sh zplugin cd mvdan/sh; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete mvdan/sh zplugin cd mvdan/sh && ls -lthd .*(N) *(N) sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`single-file plugin' $fg[magenta]oz$reset_color/$fg[yellow]safe-paste$fg_bold[red] without$fg_no_bold[red] id-as nickname$reset_color" zplugin load oz/safe-paste zplugin cd oz/safe-paste; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete oz/safe-paste zplugin cd oz/safe-paste && ls -lthd .*(N) *(N) sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`github-$fg_bold[magenta]binary$fg_no_bold[red]'< $fg[magenta]junegunn$reset_color/$fg[yellow]fzf-bin$fg_bold[red] without$fg_no_bold[red] id-as nickname$reset_color" zplugin ice from"gh-r" as"command" mv"fzf* -> fzf1" atpull'!rm -f fzf2; touch fzf.txt'; zplugin light junegunn/fzf-bin zplugin cd junegunn/fzf-bin; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete junegunn/fzf-bin zplugin cd junegunn/fzf-bin && ls -lthd .*(N) *(N) sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`github-$fg_bold[magenta]binary$fg_no_bold[red]'< $fg[magenta]junegunn$reset_color/$fg[yellow]fzf-bin$fg_bold[green] AS ::\`$fg[red]my/jun/gun$fg_bold[green]'::$reset_color" zplugin ice from"gh-r" as"command" mv"fzf* -> fzf2" id-as"my/jun/gun"; zplugin load junegunn/fzf-bin zplugin cd my/jun/gun; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete my/jun/gun zplugin cd my/jun/gun && ls -lthd .*(N) *(N) sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`theme'< $fg[magenta]agkozak$reset_color/$fg[yellow]agkozak-zsh-theme$fg_bold[green] AS ::\`$fg[red]myid$fg_bold[green]'::$reset_color" zplugin ice id-as"myid"; zplugin load agkozak/agkozak-zsh-theme zplugin cd myid; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete myid zplugin cd myid && ls -lthd .*(N) *(N) sleep 3 print; print -- "$fg[green]Unloading $fg[red]::\`myid'::$fg[green] (agkozak/agkozak-zsh-theme)$reset_color" zplugin unload myid > /tmp/myid.unload.txt head -n 4 /tmp/myid.unload.txt head -n 17 /tmp/myid.unload.txt | tail -n 4 sleep 5 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`theme'< $fg[magenta]agkozak$reset_color/$fg[yellow]agkozak-zsh-theme$fg_bold[green] AS ::\`$fg[red]myid/sub/1$fg_bold[green]'::$reset_color" zplugin ice id-as"myid/sub/1"; zplugin load agkozak/agkozak-zsh-theme zplugin cd myid/sub/1; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete myid/sub/1 zplugin cd myid/sub/1 && ls -lthd .*(N) *(N) sleep 3 print; print -- "$green[green]Report of $fg[red]::\`myid/sub/1'::$fg[green] (agkozak/agkozak-zsh-theme)$reset_color" zplugin report myid/sub/1 > /tmp/myid--sub--1.report.txt head -n 10 /tmp/myid--sub--1.report.txt | tail -n 8 sleep 5 print; print -- "$fg[green]Unloading $fg[red]::\`myid/sub/1'::$fg[green] (agkozak/agkozak-zsh-theme)$reset_color" zplugin unload myid/sub/1 > /tmp/myid--sub--1.unload.txt head -n 4 /tmp/myid--sub--1.unload.txt head -n 17 /tmp/myid--sub--1.unload.txt | tail -n 4 sleep 5 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`theme'< $fg[magenta]sindresorhus$reset_color/$fg[yellow]pure$fg_bold[green] AS ::\`$fg[red]my/pure$fg_bold[green]'::$reset_color" zplugin ice multisrc"{async,pure}.zsh" pick"/dev/null" id-as"my/pure"; zplugin load sindresorhus/pure zplugin cd my/pure; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete my/pure zplugin cd my/pure && ls -lthd .*(N) *(N) sleep 3 print print -- "\n\n\n"$fg_bold[red]SNIPPETS START NOW$reset_color print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`OMZ plugin (svn)'< $fg[magenta]OMZ::plugins$reset_color/$fg[yellow]pip$fg_bold[red] without$fg_no_bold[red] id-as nickname$reset_color" zplugin ice svn; zplugin snippet OMZ::plugins/pip zplugin cd OMZ::plugins/pip; ls -lthd .*(N) *(N) sleep 3 zplugin creinstall %SNIPPETS/OMZ::plugins/pip sleep 3 cd $OLDPWD zplugin delete OMZ::plugins/pip zplugin cd OMZ::plugins/pip && ls -lthd .*(N) *(N) zplugin cclear sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`single-file command-snippet' $fg[magenta]GH::Osse/git-scripts/blob/master/git-unique$fg_bold[green] AS ::\`$fg[red]MY-UNIQUE$fg_bold[green]'::$reset_color" zplugin ice as"program" id-as"MY-UNIQUE"; zplugin snippet https://github.com/Osse/git-scripts/blob/master/git-unique zplugin cd MY-UNIQUE; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete MY-UNIQUE zplugin cd MY-UNIQUE && ls -lthd .*(N) *(N) sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`OMZ plugin (svn)'< $fg[magenta]OMZ::plugins$reset_color/$fg[yellow]git$fg_bold[green] AS ::\`$fg[red]my$fg_bold[green]'::$reset_color" zplugin ice svn id-as"my"; zplugin snippet OMZ::plugins/git zplugin cd my; ls -lthd .*(N) *(N) cd $OLDPWD zplugin delete my zplugin cd my && ls -lthd .*(N) *(N) sleep 3 print; print -- "\n\n\n$fg[green]----------\nInstalling $fg[red]>\`OMZ plugin (svn)'< $fg[magenta]OMZ::plugins$reset_color/$fg[yellow]gradle$fg_bold[green] AS ::\`$fg[red]myid/sub$fg_bold[green]'::$reset_color" zplugin ice svn id-as"myid/sub"; zplugin snippet OMZ::plugins/gradle zplugin cd myid/sub; ls -lthd .*(N) *(N) sleep 3 zplugin creinstall %SNIPPETS/myid/sub sleep 3 cd $OLDPWD zplugin delete myid/sub zplugin cd myid/sub && ls -lthd .*(N) *(N) zplugin cclear cd $INITIAL_CD # vim:ft=zsh:sts=4:sw=4:et