run 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/bash
  2. cd $(dirname $BASH_SOURCE)
  3. cd ..
  4. PLUG_SRC=$(pwd)/plug.vim
  5. cd - > /dev/null
  6. if [ ! -d vader.vim ]; then
  7. git clone https://github.com/junegunn/vader.vim.git
  8. fi
  9. rm -rf fzf
  10. if [ ! -d fzf-staged ]; then
  11. git clone https://github.com/junegunn/fzf.git fzf-staged
  12. fi
  13. make_dirs() {
  14. mkdir -p "temp/$1"
  15. cd "temp/$1"
  16. mkdir -p autoload colors ftdetect ftplugin indent plugin syntax
  17. for d in *; do
  18. [ -d $d ] || continue
  19. cat > $d/xxx.vim << EOF
  20. " echom expand('<sfile>')
  21. let g:total_order = get(g:, 'total_order', [])
  22. let g:$2 = get(g:, '$2', [])
  23. let s:name = join(filter(['$2', '${1:4}', '$d'], '!empty(v:val)'), '/')
  24. call add(g:$2, s:name)
  25. call add(g:total_order, s:name)
  26. EOF
  27. done
  28. cd - > /dev/null
  29. }
  30. make_dirs xxx/ xxx
  31. make_dirs xxx/after xxx
  32. mkdir -p temp/xxx/doc
  33. cat > temp/xxx/doc/xxx.txt << DOC
  34. hello *xxx*
  35. DOC
  36. make_dirs yyy/ yyy
  37. make_dirs yyy/after yyy
  38. make_dirs z1/ z1
  39. make_dirs z2/ z2
  40. cat > /tmp/mini-vimrc << VIMRC
  41. set rtp+=vader.vim
  42. set shell=/bin/bash
  43. source $PLUG_SRC
  44. VIMRC
  45. if [ "$1" = '!' ]; then
  46. /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader! workflow.vader' > /dev/null &&
  47. /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'let g:plug_threads = 1 | Vader! workflow.vader' > /dev/null
  48. else
  49. /usr/local/bin/vim -Nu /tmp/mini-vimrc -c 'Vader workflow.vader'
  50. fi