* Add detectable key to languages
This key allows to override the language being included in the
language stats of a repository.
* Make detectable override-able using .gitattributes
* Mention `linguist-detectable` in README
* Remove detectable key from languages
Reverts changes in 0f7c0df5.
* Update commit hash to the one that was merged
PR #3806 changed the commit hash. The original commit was not
actually merged into the test/attributes branch.
* Fix check to ensure detectable is defined
* Add include in language stats tests when detectable set
* Ignore detectable when vendored, documentation or overridden
* Add documentation on detectable override in README
* Improve documentation on detectable override in README
* Add issue and pull request templates
* Implement feedback
* Request new and old grammar refs
* Add note about vendor, documentation, and generated lists
* Implement @Alhadis's suggestions
* add solidity language
* add solidity color
* move samples to test fixtures
they're not used by the bayesian classifier
* Update languages.yml
* Rename RefundVault.sol to RefundVault.solidity
* Rename pygments-example.sol to pygments-example.solidity
* Change color from #383838 to #AA6746
`Color #383838 is too close to ["3F3F3F", "383838"]`
* Fix test
* Remove test/fixtures and add samples
* Remove extension
* Remove sample file
* Revert "Remove Arduino as a language (#3933)"
This reverts commit 8e628ecc36.
* Revert "Check generated Jest snap file (#3874)"
This reverts commit ca714340e8.
* Added Monkey2 (extension .monkey2) example
This compiles with the most up to date Monkey2 release (V1.1.06).
* Sorting example in Monkey2
* Add files via upload
* Gui example using the MojoX module
* Added nextflow language
* Added main.nf to list of filenames
* Fixed duplicate groovy scope
* Removed hello-world example
* Update grammar submodule
* Removed main.nf from filenames
* Added nextflow.config example
Many repository rely on `perl6` as a Markdown key for code snippet
highlighting. The new Perl 6 name breaks this behavior as it requires
`perl-6` as the Markdown key.
* Add more troubleshooting info
* Add more updates
* A lot more words and reformatting
* Few more tweaks
* Add how it works on GitHub.com
* More clarifications
* Feedback tweaks
* Add missing run
* Learn grammar
* Don't attempt to get pwd for error message
* Print error instead of raising exception
This is more user-friendly too.
* Switch back to raise, but rescue it too
* Refactor
* grammars: Update several grammars with compat issues
* [WIP] Add new grammar conversion tools
* Wrap in a Docker script
* Proper Dockerfile support
* Add Javadoc grammar
* Remove NPM package.json
* Remove superfluous test
This is now always checked by the grammars compiler
* Update JSyntax grammar to new submodule
* Approve Javadoc license
* grammars: Remove checked-in dependencies
* grammars: Add regex checks to the compiler
* grammars: Point Oz to its actual submodule
* grammars: Refactor compiler to group errors by repo
* grammars: Cleanups to error reporting
* Add Cocoapods to generated list so it doesn't show in PR diffs
* Removed Cocoapods from vendor.yml
* Enhance regex to match only Cocoapod's Pods folder
* Adds additional test cases for generated Pods folder
* Add the language for the Common Workflow Language standards
* add CWL grammer
* add MIT licensed CWL sample
* script/set-language-ids --update for CWL
* Lex everything except SGML, multiline, SHEBANG
* Prepend SHEBANG#! to tokens
* Support SGML tag/attribute extraction
* Multiline comments
* WIP cont'd; productionifying
* Compile before test
* Add extension to gemspec
* Add flex task to build lexer
* Reentrant extra data storage
* regenerate lexer
* use prefix
* rebuild lexer on linux
* Optimise a number of operations:
* Don't read and split the entire file if we only ever use the first/last n
lines
* Only consider the first 50KiB when using heuristics/classifying. This can
save a *lot* of time; running a large number of regexes over 1MiB of text
takes a while.
* Memoize File.size/read/stat; re-reading in a 500KiB file every time `data` is
called adds up a lot.
* Use single regex for C++
* act like #lines
* [1][-2..-1] => nil, ffs
* k may not be set
* Add test to demonstrate Perl syntax detection bug
A Perl 5 .pm file containing the word `module` or `class`, even with
an explicit `use 5.*` statement, is recognized as Perl 6 code.
* Improve Perl 5 and Perl 6 disambiguation
The heuristics for Perl 5 and 6 `.pm` files disambiguation was done
searching for keywords which can appear in both languages (`class` and
`module`) in addition to the `use` statement check.
Due to Perl 6 being tested first, code containing those words would
always be interpreted as Perl 6.
Test order was thus reversed, testing for Perl 5 first. Since Perl 6
code would never contain a `use 5.*` statement, this does no harm to
Perl 6 detection while fixing the problem to Perl 5.
Fixes: #3637