Commit Graph

3321 Commits

Author SHA1 Message Date
Adam Roben 046fb18980 Add github-linguist-grammars gem
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.
2014-11-13 11:03:53 -05:00
Brandon Keepers d133d9eccb Merge pull request #1709 from github/emacs-lisp-assertion
Add assertion for Emacs Lisp
2014-11-13 10:47:52 -05:00
Brandon Keepers 296473507f Add assert for Emacs lisp
/cc https://github.com/github/linguist/pull/1499
2014-11-13 10:40:58 -05:00
Adam Roben ff8821080a Merge pull request #1708 from github/fortran-modern
Use source.fortran.modern TM scope for FORTRAN
2014-11-13 09:53:33 -05:00
Adam Roben 9acf41b0fe Use source.fortran.modern TM scope for FORTRAN
This is technically only for FORTRAN 90 and newer, but seems to do just fine with older variants.
2014-11-13 09:52:08 -05:00
Paul Chaignon 9c64f72f35 Add .mm as an XML extension with heuristic rule 2014-11-12 19:38:54 -05:00
Adam Roben 9385e70d2d Merge pull request #1705 from github/cut-release-v3.5.2
Bump to version v3.5.2
v3.5.2
2014-11-12 13:51:59 -05:00
Adam Roben 9469e188c8 Bump to version v3.5.2 2014-11-12 13:39:05 -05:00
Vicent Marti 6e57ca6fbc Update the TM scope for the Zephir language 2014-11-12 18:19:10 +01:00
Adam Roben d5e3ebaef3 Merge pull request #1704 from github/gas-tmscope
Add a tm_scope for GAS
2014-11-12 12:08:14 -05:00
Adam Roben a9eac8a832 Add a tm_scope for GAS
The source.asm.x86 grammar does a decent job of parsing this.
2014-11-12 12:07:23 -05:00
Adam Roben 1c7f5368cf Merge pull request #1703 from github/less-tmscope
Fix the tm_scope for Less
2014-11-12 11:45:01 -05:00
Adam Roben 960ff73c7f Fix the tm_scope for Less
The source.css.less grammar actually understands Less syntax.
2014-11-12 11:43:52 -05:00
Sebastian Godelet 95777055d1 languages.yml: added an interpreter entry to Mercury section 2014-11-11 23:28:07 +08:00
Brandon Keepers e1ce30c3ce Merge pull request #1653 from baroquebobcat/patch-1
add pants BUILD file highlighting to languages.yml
2014-11-11 01:39:55 -05:00
Brandon Keepers 89b442c751 Merge pull request #1657 from techniq/patch-1
Add .NET config files as XML
2014-11-11 01:39:19 -05:00
Adam Roben 6b41059cdf Merge pull request #1696 from github/cut-release-v3.5.1
Bump to 3.5.1
v3.5.1
2014-11-10 15:19:28 -05:00
Adam Roben 62cb42eee5 Bump to 3.5.1 2014-11-10 15:15:15 -05:00
Adam Roben 6bbb56db00 Merge pull request #1695 from github/nil-safety
Make it safe to pass nil to Language.find_by_name/alias again
2014-11-10 15:13:28 -05:00
Adam Roben 160598b9ef Make it safe to pass nil to Language.find_by_name/alias again
This restores compatibility with v3.4.x.
2014-11-10 15:12:29 -05:00
Adam Roben 32b07a4e10 Merge pull request #1694 from github/cut-release-v3.5.0
Bumping to 3.5.0
v3.5.0
2014-11-10 14:52:55 -05:00
Adam Roben 8890c57681 Bumping to 3.5.0 2014-11-10 14:38:55 -05:00
Adam Roben de188126fb Merge pull request #1683 from github/find-by-ext
Extract Language.find_by_extension
2014-11-10 14:37:45 -05:00
Adam Roben 97a1adcef1 Allow extensions without a leading dot
This makes the API a little easier to use.
2014-11-10 14:30:37 -05:00
Adam Roben ffbe95d6e5 Fix docs 2014-11-10 14:15:21 -05:00
Adam Roben d54f86ae58 Add some tests for Language.find_by_extension 2014-11-10 14:12:29 -05:00
Brandon Keepers 92ace440b9 Merge pull request #1540 from rlespinasse/golo-support
Add support for Golo language
2014-11-08 14:00:36 -05:00
Adam Roben d5ee477d3b Merge pull request #1687 from github/shell-session-scope
Add a TextMate scope for .sh-session files
2014-11-07 15:47:35 -05:00
Adam Roben 6e8152c423 Add a TextMate scope for .sh-session files
Coming soon to Atom. See https://github.com/atom/language-shellscript/pull/3
2014-11-07 15:02:37 -05:00
Adam Roben 8149356668 Merge pull request #1678 from tenbits/master
Use MaskLexer for *.mask
2014-11-07 13:39:24 -05:00
Alex Kit 806e30d70f Use MaskLexer for *.mask 2014-11-07 19:26:37 +01:00
Adam Roben 299ec8f8ea Merge pull request #1686 from github/pytb-tm_scope
Add a TextMate scope for .pytb files
2014-11-07 12:57:36 -05:00
Adam Roben f6fbd18bd5 Add a TextMate scope for .pytb files
This is the scope that Atom uses for these files.
See https://github.com/atom/language-python/blob/master/grammars/python-traceback.cson
2014-11-07 12:55:59 -05:00
Adam Roben ecd30d3ccf Merge pull request #1675 from github/more-aliases
Pull in aliases and file extensions from Pygments
2014-11-07 10:31:00 -05:00
Brandon Keepers 228d89649a Add Language.find_by_extension 2014-11-07 10:27:07 -05:00
Adam Roben 751360ecf1 Make Language.[] and Language.find_by(alias|name) ignore case
This makes it easier to find a Linguist::Language for a fenced code
block in Markdown, where language names are often specified in
lowercase.
2014-11-07 10:09:55 -05:00
Adam Roben d9ed216092 Add language aliases from Pygments
I went through all the aliases Pygments supports and removed the ones
that could already be used to find a Linguist::Language. Then I found
the Pygments::Lexer associated with each alias and found an associated
Linguist::Language for it (looking for a language with the same name as
the lexer, or by looking for the first langauge that uses that lexer).
Then I added the alias to the language's alias list.
2014-11-06 16:48:52 -05:00
Adam Roben 18a3ef9e5e Pull in file extensions from Pygments
I read all the file extensions that Pygments knows about, mapped them
back to the appropriate Linguist::Language, and added them to the
languages.yaml file.
2014-11-06 16:43:08 -05:00
Brandon Keepers 33d75d9623 Tests for BlobHelper#empty? 2014-11-06 15:14:03 -06:00
Brandon Keepers a0cc2c4c86 remove reference to empty.js 2014-11-06 14:59:34 -06:00
Brandon Keepers 754bc4ef6d Remove more empty samples 2014-11-06 14:56:19 -06:00
Brandon Keepers df55043500 Bail earlier if the file is empty.
This will change behavior for empty files with unique extensions, returning nil instead of the language.
2014-11-06 14:49:24 -06:00
Arfon Smith f22524a615 Moving comments 2014-11-06 14:27:49 -06:00
Arfon Smith 1831390429 Use heuristics earlier to inform the rest of the classification process 2014-11-06 14:09:19 -06:00
Arfon Smith f4c7661cc6 Removing inconsistency of find_by_heuristics (was sometimes returning nil and sometimes returning and empty array) 2014-11-06 14:08:42 -06:00
Arfon Smith 0ab88919c9 Removing unused array of candidate languages. 2014-11-06 13:31:34 -06:00
Arfon Smith 9107d3c243 Reworking most heuristics to only return one match 2014-11-06 13:26:40 -06:00
Blake Embrey 42e9131b4f Add RAML support 2014-11-06 11:47:00 -06:00
Arfon Smith e7b670c5de Merge pull request #1669 from github/support-hack
Support hack
2014-11-05 13:56:37 -06:00
Arfon Smith 114fabd29a Test for Hack heuristic 2014-11-04 16:12:46 -06:00