This will make CI fail if someone adds a new language but neglects to
add a new grammar for it. This should make it easier for people to
review PRs, as CI will help them to make sure a new grammar gets added.
However, we currently support some languages that have no grammars, and
we may support more in the future. So you can explicitly mark the
language as having no grammar by setting `tm_scope: NONE` in
languages.yml.
* origin/master:
Allow mime-types 2.x to be used with Linguist
Upgrade to rugged 0.22.0b1
Mention that languages need to be quite popular
fix vendor/cache
Gemfile.lock is nolonger considered generated
Tests for BlobHelper#empty?
remove reference to empty.js
Remove more empty samples
Bail earlier if the file is empty.
Moving comments
Use heuristics earlier to inform the rest of the classification process
Removing inconsistency of `find_by_heuristics` (was sometimes returning nil and sometimes returning and empty array)
Removing unused array of candidate languages.
Reworking most heuristics to only return one match
The purpose of this gem is to package up the language grammars that are
used for syntax highlighting on github.com. The grammars are TextMate,
Sublime Text, or Atom language grammars, converted to JSON and given the
filename SCOPE.json, where SCOPE is the language scope that the grammar
defines.
The github-linguist-grammars gem packages up all the grammars, and also
exports a Linguist::Grammars.path method to locate the directory
containing the grammars.
To build the gem, simply run `rake build_grammars_gem`. The grammars.yml
file lists all the repositories we download grammars from, as well as
which scopes are defined by each repository. The
script/download-grammars script takes that list and downloads and
processes the grammars into the format expected by the gem.