#!/usr/bin/env bash

GRAMMARS_DIR=$(dirname $0)/../test/fixtures/grammars

fetch_grammar() {
  local grammar=$1
  local ref=$2
  local grammar_dir=${GRAMMARS_DIR}/${grammar}
  local grammar_url=https://github.com/tree-sitter/tree-sitter-${grammar}

  echo "Updating ${grammar} grammar..."

  if [ ! -d $grammar_dir ]; then
    git clone $grammar_url $grammar_dir
  fi

  (
    cd $grammar_dir;
    git fetch origin
    git reset --hard $ref;
  )
}

fetch_grammar 'javascript' 'origin/master'
fetch_grammar 'json'       'origin/master'
fetch_grammar 'c'          'origin/master'
fetch_grammar 'cpp'        'origin/master'
fetch_grammar 'python'     'origin/master'
fetch_grammar 'go'         'origin/master'
fetch_grammar 'ruby'       'origin/master'
fetch_grammar 'typescript' 'origin/master'
fetch_grammar 'bash'       'origin/master'
