* Update md5 sums for Ruby 2.4
Ruby 2.4 deprecated Fixnum & Bignum into Integer. This means the MD5 digests for the integers in our tests have a class of Integer instead of Fixnum which means we need to update the digests specifically for 2.4.
* Use Gem::Version for safer version comparison
* fix Roff detection in heuristics
This affects extensions .l, .ms, .n and .rno.
Groff was renamed to Roff in 673aeb32b9851cc58429c4b598c876292aaf70c7,
but heuristic was not updated.
* replace FORTRAN with Fortran
It was already renamed in most places since 4fd8fce08574809aa58e9771e2a9da5d135127be
heuristics.rb was missing though.
* fix caseness of GCC Machine Description
* Remove a few hashes for grammars with BSD licenses
There was an error in Licensee v8.8.2, which caused it to not
recognize some BSD licenses. v8.8.3 fixes it.
* Update submodules
Remove 2 grammars from the whitelist because their licenses were
added to a LICENSE file which a proper format (one that Licensee
detects).
MagicPython now supports all scopes that were previously supported
by language-python.
* Update Licensee hashes for grammar licenses
Licensee v8.8 changed the way licenses are normalized, thus changing hashes for
some grammars
* Update Licensee
Prevent automatic updates to major releases
* Return early if no languages supplied
There's no need to tokenise the data when attempting to classify without a limited language scope as no action will be performed when it comes to scoring anyway.
* Add test for empty languages array
* Separate find_by_extension and find_by_filename
find_by_extension now takes a path as argument and not only the file extension.
Currently only find_by_extension is used as a strategy.
* Add find_by_filename as first strategy
* Remove deprecated find_by_shebang
* Remove deprecated ace_modes function
* Remove deprecated primary_extension function
Gists don't have a language dropdown anymore
* Remove deprecated Linguist::Language.detect function
* Remove deprecated search_term field
* Generate language_id from language names
The language_id is generated from the SHA256 hash of the language's name
* Test the validity of language ids
All languages should have a positive 32bit integer as an id
* Update languages.yml header in set-language-ids
Remove our own license classification code
Add hashes for any project which does not have a standard license body
Add projects for which a license was not found to the whitelist
Requires Licensee v8.6.0 to correctly recognize TextMate bundles' .mdown README
Since v6.1.0, Licensee exposes the hash of the license
We can use it to uniquely identify unrecognized licenses,
Thus, tests will fail if the content of an unrecognized license changes
Projects for which no license was found are kept in the whitelist