#!/bin/sh set -E DIRS=" syntax indent ftplugin ftdetect autoload compiler after/syntax after/indent after/ftplugin after/ftdetect " copy_dir() { if [ -d "$1/$2" ]; then for file in $(find "$1/$2" -name '*.vim'); do file_path="$(dirname "${file##$1/}")" mkdir -p "$file_path" cp $file $file_path/ done fi } # Fetches syntax files from given Github repo download() { for pack in $1; do name="$(echo $pack | cut -d ':' -f 1)" path="$(echo $pack | cut -d ':' -f 2)" dir="tmp/$(echo "$path" | cut -d '/' -f 2)" echo "- [$name](https://github.com/$path)" rm -rf "$dir" git clone -q --recursive "https://github.com/$path.git" "$dir" & done wait } extract() { for pack in $1; do path="$(echo $pack | cut -d ':' -f 2)" dir="tmp/$(echo "$path" | cut -d '/' -f 2)" # which tree > /dev/null && tree tmp for subdir in $DIRS; do copy_dir "$dir" "$subdir" done 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 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:spf13/PIV puppet:ajf/puppet-vim 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:mutewinter/tomdoc.vim vbnet:vim-scripts/vbnet.vim twig:beyondwords/vim-twig xls:vim-scripts/XSLT-syntax " download "$PACKS" extract "$PACKS" rm -rf tmp