summaryrefslogtreecommitdiffstats
path: root/build
blob: 3a4b3ee0632bcd66eb61391d7785ceab0d2a9fa0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/bin/sh

set -E

DIRS="syntax indent compiler autoload ftplugin ftdetect after/syntax after/indent after/ftplugin after/ftdetect"

# Fetches syntax files from given Github repo

download() {
  for pack in $1; do
    path="$(printf "$pack" | cut -d ':' -f 2)"
    dir="tmp/$(printf "$path" | cut -d '/' -f 2)"
    rm -rf "$dir"
    (git clone -q --recursive "https://github.com/$path.git" "$dir" && printf '.') &
  done

  wait
}

extract() {
  printf "\n"
  for pack in $1; do
    name="$(printf "$pack" | cut -d ':' -f 1)"
    path="$(printf "$pack" | cut -d ':' -f 2)"
    dir="tmp/$(printf "$path" | cut -d '/' -f 2)"
    printf -- "- [$name](https://github.com/$path) ("

    # which tree > /dev/null && tree tmp
    subdirs=""
    for subdir in $DIRS; do
      if [ -d "$dir/$subdir" ]; then
        base="$(basename "$subdir")"
        if [[ "$subdirs" != *"$base"* ]]; then
          subdirs="$subdirs, $base"
        fi

        copy_dir "$dir" "$subdir"
      fi
    done

    printf "${subdirs##, })\n"
  done
}

copy_dir() {
  for file in $(find "$1/$2" -name '*.vim'); do
    file_path="$(dirname "${file##$1/}")"
    mkdir -p "$file_path"
    cp $file $file_path/
  done
}

rm -rf tmp
rm -rf $DIRS
mkdir -p tmp

PACKS="
  arduino:sudar/vim-arduino-syntax
  bundler:tpope/vim-bundler
  c++11:octol/vim-cpp-enhanced-highlight
  c/c++:vim-jp/cpp-vim
  clojure:guns/vim-clojure-static
  coffee-script:kchmck/vim-coffee-script
  css-color:ap/vim-css-color
  csv:chrisbra/csv.vim
  cucumber:tpope/vim-cucumber
  elixir:elixir-lang/vim-elixir
  erlang:jimenezrick/vimerl
  git:tpope/vim-git
  go:jnwhiteh/vim-golang
  haml:tpope/vim-haml
  handlebars:nono/vim-handlebars
  haskell:travitch/hasksyn
  html5:othree/html5.vim
  jade:digitaltoad/vim-jade
  javascript:pangloss/vim-javascript
  json:leshill/vim-json
  jst:briancollins/vim-jst
  latex:jcf/vim-latex
  less:groenewege/vim-less
  markdown:tpope/vim-markdown
  nginx:mutewinter/nginx.vim
  ocaml:jrk/vim-ocaml
  octave:vim-scripts/octave.vim--
  php:StanAngeloff/php.vim
  puppet:ajf/puppet-vim
  protobuf:uarun/vim-protobuf
  python:vim-scripts/python.vim--Vasiliev
  rspec:skwp/vim-rspec
  ruby:vim-ruby/vim-ruby
  sbt:derekwyatt/vim-sbt
  scala:derekwyatt/vim-scala
  slim:slim-template/vim-slim
  stylus:wavded/vim-stylus
  textile:timcharper/textile.vim
  tmux:acustodioo/vim-tmux
  tomdoc:duwanis/tomdoc.vim
  vbnet:vim-scripts/vbnet.vim
  twig:beyondwords/vim-twig
  xls:vim-scripts/XSLT-syntax
"

printf "Downloading packs..."
download "$PACKS"
extract "$PACKS"

rm -rf tmp