96 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| cd $(dirname $BASH_SOURCE)
 | |
| cd ..
 | |
| PLUG_SRC=$(pwd)/plug.vim
 | |
| cd - > /dev/null
 | |
| 
 | |
| export PLUG_FIXTURES=$(pwd)/fixtures
 | |
| 
 | |
| clone() {
 | |
|   if [ ! -d $2 ]; then
 | |
|     git clone $1 $2
 | |
|   fi
 | |
| }
 | |
| 
 | |
| # Clone
 | |
| cd /tmp
 | |
| mkdir -p junegunn vim-scripts jg
 | |
| for repo in vader.vim goyo.vim rust.vim seoul256.vim vim-easy-align vim-fnr \
 | |
|             vim-oblique vim-pseudocl vim-redis vim-emoji; do
 | |
|   clone https://github.com/junegunn/${repo}.git junegunn/$repo &
 | |
| done
 | |
| clone https://github.com/vim-scripts/beauty256.git vim-scripts/beauty256 &
 | |
| 
 | |
| rm -rf $PLUG_FIXTURES/fzf
 | |
| clone https://github.com/junegunn/fzf.git $PLUG_FIXTURES/fzf-staged &
 | |
| wait
 | |
| 
 | |
| (cd junegunn/seoul256.vim &&
 | |
|   git checkout no-t_co && git checkout master) > /dev/null 2>&1
 | |
| clone junegunn/vim-emoji jg/vim-emoji
 | |
| cd - > /dev/null
 | |
| 
 | |
| make_dirs() {
 | |
|   mkdir -p "$PLUG_FIXTURES/$1"
 | |
|   cd "$PLUG_FIXTURES/$1"
 | |
|   mkdir -p autoload colors ftdetect ftplugin indent plugin syntax
 | |
|   for d in *; do
 | |
|     [ -d $d ] || continue
 | |
|     cat > $d/xxx.vim << EOF
 | |
|     " echom expand('<sfile>')
 | |
|     let g:total_order = get(g:, 'total_order', [])
 | |
|     let g:$2 = get(g:, '$2', [])
 | |
|     let s:name = join(filter(['$2', '${1:4}', '$d'], '!empty(v:val)'), '/')
 | |
|     call add(g:$2, s:name)
 | |
|     call add(g:total_order, s:name)
 | |
| EOF
 | |
|   done
 | |
|   cd - > /dev/null
 | |
| }
 | |
| 
 | |
| init() {
 | |
|   rm -rf $PLUG_FIXTURES/{xxx,yyy,z1,z2}
 | |
|   rm -rf $TMPDIR/new-branch
 | |
| 
 | |
|   make_dirs xxx/ xxx
 | |
|   make_dirs xxx/after xxx
 | |
|   mkdir -p $PLUG_FIXTURES/xxx/doc
 | |
|   cat > $PLUG_FIXTURES/xxx/doc/xxx.txt << DOC
 | |
| hello *xxx*
 | |
| DOC
 | |
| 
 | |
|   make_dirs yyy/ yyy
 | |
|   make_dirs yyy/after yyy
 | |
| 
 | |
|   make_dirs z1/ z1
 | |
|   make_dirs z2/ z2
 | |
| 
 | |
|   (
 | |
|     cd $TMPDIR
 | |
|     git init new-branch
 | |
|     cd new-branch
 | |
|     mkdir plugin
 | |
|     echo 'let g:foo = 1' > plugin/foo.vim
 | |
|     git add plugin/foo.vim
 | |
|     git commit -m initial
 | |
|   )
 | |
| }
 | |
| 
 | |
| cat > /tmp/mini-vimrc << VIMRC
 | |
| set rtp+=/tmp/junegunn/vader.vim
 | |
| set shell=/bin/bash
 | |
| source $PLUG_SRC
 | |
| VIMRC
 | |
| 
 | |
| [ -z "$TMPDIR" ] && export TMPDIR=/tmp/
 | |
| init
 | |
| if [ "$1" = '!' ]; then
 | |
|   /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader! test.vader' > /dev/null &&
 | |
|   init &&
 | |
|   /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'let g:plug_threads = 1 | Vader! test.vader' > /dev/null
 | |
| else
 | |
|   /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader test.vader'
 | |
| fi
 | |
| 
 |