run 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/bash
  2. cd $(dirname $BASH_SOURCE)
  3. cd ..
  4. PLUG_SRC=$(pwd)/plug.vim
  5. cd - > /dev/null
  6. export PLUG_FIXTURES=$(pwd)/fixtures
  7. clone() {
  8. if [ ! -d $2 ]; then
  9. git clone $1 $2
  10. fi
  11. }
  12. # Clone
  13. cd /tmp
  14. mkdir -p junegunn vim-scripts jg
  15. for repo in vader.vim goyo.vim rust.vim seoul256.vim vim-easy-align vim-fnr \
  16. vim-oblique vim-pseudocl vim-redis vim-emoji; do
  17. clone https://github.com/junegunn/${repo}.git junegunn/$repo &
  18. done
  19. clone https://github.com/vim-scripts/beauty256.git vim-scripts/beauty256 &
  20. rm -rf $PLUG_FIXTURES/fzf
  21. clone https://github.com/junegunn/fzf.git $PLUG_FIXTURES/fzf-staged &
  22. wait
  23. (cd junegunn/seoul256.vim &&
  24. git checkout no-t_co && git checkout master) > /dev/null 2>&1
  25. clone junegunn/vim-emoji jg/vim-emoji
  26. cd - > /dev/null
  27. make_dirs() {
  28. mkdir -p "$PLUG_FIXTURES/$1"
  29. cd "$PLUG_FIXTURES/$1"
  30. mkdir -p autoload colors ftdetect ftplugin indent plugin syntax
  31. for d in *; do
  32. [ -d $d ] || continue
  33. cat > $d/xxx.vim << EOF
  34. " echom expand('<sfile>')
  35. let g:total_order = get(g:, 'total_order', [])
  36. let g:$2 = get(g:, '$2', [])
  37. let s:name = join(filter(['$2', '${1:4}', '$d'], '!empty(v:val)'), '/')
  38. call add(g:$2, s:name)
  39. call add(g:total_order, s:name)
  40. EOF
  41. done
  42. cd - > /dev/null
  43. }
  44. init() {
  45. rm -rf $PLUG_FIXTURES/{xxx,yyy,z1,z2}
  46. rm -rf $TMPDIR/new-branch
  47. make_dirs xxx/ xxx
  48. make_dirs xxx/after xxx
  49. mkdir -p $PLUG_FIXTURES/xxx/doc
  50. cat > $PLUG_FIXTURES/xxx/doc/xxx.txt << DOC
  51. hello *xxx*
  52. DOC
  53. make_dirs yyy/ yyy
  54. make_dirs yyy/after yyy
  55. make_dirs z1/ z1
  56. make_dirs z2/ z2
  57. (
  58. cd $TMPDIR
  59. git init new-branch
  60. cd new-branch
  61. mkdir plugin
  62. echo 'let g:foo = 1' > plugin/foo.vim
  63. git add plugin/foo.vim
  64. git commit -m initial
  65. )
  66. }
  67. cat > /tmp/mini-vimrc << VIMRC
  68. set rtp+=/tmp/junegunn/vader.vim
  69. set shell=/bin/bash
  70. source $PLUG_SRC
  71. VIMRC
  72. [ -z "$TMPDIR" ] && export TMPDIR=/tmp/
  73. init
  74. if [ "$1" = '!' ]; then
  75. /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader! test.vader' > /dev/null &&
  76. init &&
  77. /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'let g:plug_threads = 1 | Vader! test.vader' > /dev/null
  78. else
  79. /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader test.vader'
  80. fi