Some languages are sensitive to file names in the sense that
different kinds of files contain somewhat different data.
Example: GAP .tst files contain test cases, which add some
extra data compared to regular code, and as a consequence are
not directly interchangeable with regular source code.
Heuristics may need to take this into account, thus may need
to know the name of the file being analyzed.
* 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.