| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #!/bin/bash
- cd $(dirname "${BASH_SOURCE[0]}")
- export BASE="$PWD"
- export PLUG_SRC="$PWD/../plug.vim"
- export PLUG_FIXTURES="$PWD/fixtures"
- mkdir -p "$PLUG_FIXTURES"
- cat > /tmp/mini-vimrc << VIMRC
- set rtp+=/tmp/junegunn/vader.vim
- set shell=/bin/bash
- VIMRC
- clone() {
- if [ ! -d $2 ]; then
- git clone $1 $2
- fi
- }
- clone_repos() {
- 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 &
- clone https://github.com/junegunn/fzf.git fzf &
- wait
- clone junegunn/vim-emoji jg/vim-emoji
- cd junegunn/seoul256.vim && git checkout no-t_co && git checkout master
- cd "$BASE"
- }
- make_dirs() {
- rm -rf "$PLUG_FIXTURES/$1"
- 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 "$BASE"
- }
- prepare() {
- 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
- rm -rf "$PLUG_FIXTURES/ftplugin-msg"
- mkdir -p "$PLUG_FIXTURES/ftplugin-msg/ftplugin"
- echo "echomsg 'ftplugin'" > "$PLUG_FIXTURES/ftplugin-msg/ftplugin/c.vim"
- rm -rf /tmp/new-branch
- cd /tmp
- 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
- cd "$BASE"
- }
- clone_repos
- prepare
- if [ "$1" = '!' ]; then
- /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader! test.vader' > /dev/null &&
- prepare &&
- /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
|