Commit Graph

153 Commits

Author SHA1 Message Date
Alhadis
06c049b8c0 Change ".ms" heuristic to accommodate MAXScript
Linguist currently uses the presence of "move" commands to differentiate
a GAS file from Groff. This is problematic with MAXScript, with includes
a built-in function of that name. Furthermore, because of the language's
exhaustive vocabulary, case insensitive nature and flexible syntax, it's
difficult to impose rigid criteria on classifying it.

This commit modifies the heuristic to assume the following flow:

    1. If a line contains ".include" or ".global"/".globl" which doesn't
       follow a non-whitespace character, assume GAS.

    2. Otherwise, if the line starts with a command like ".LG7E0" with a
       possible string of whitespace before it, assume it's also GAS.

       UNLESS either of the following conditions are true:
       2a. The token is enclosed by a string or /* multiline comment */
       2b. The previous line ends with a backslash to denote a statement
           broken between lines, with possible whitespace and/or comment
           sequences between the backslash and the actual newline.

    3. If neither of the above are met, assume the file is MAXScript.

This approach may appear overly-inclusive, but given real-world usage of
MAXScript includes writing brief files with few distinguishing keywords,
it's reasonable to permit this leniency.
2015-11-28 04:40:29 +11:00
Lars Brinkhoff
ca96ecdc55 Recognise END statement in FORTRAN files. 2015-11-19 08:51:13 +01:00
Vicent Marti
b275b5d728 Soften memory pressure 2015-09-07 22:03:29 +02:00
Paul Cantrell
4bfd65deb8 #import "*.h" detection for Objective-C 2015-09-03 22:10:27 -05:00
Lars Brinkhoff
dd8eaf2893 Alphabetise heuristics. 2015-08-31 08:53:51 +02:00
Jacob Bandes-Storch
0e9ded45dc Fix typo in Obj-C heuristic keyword
`synchronised` → `synchronized`
2015-08-26 00:34:00 -07:00
Arfon Smith
a74f3b3e46 Adding Perl/Perl6 heuristic for '.t' 2015-08-20 10:16:52 +01:00
Paul Chaignon
7d91e4959a Dissociate ECLiPSe from Prolog
ECLiPSe syntax is slightly different from Prolog syntax
ECLiPSe is in the Prolog group so it will only be highlighted differently
2015-08-19 20:56:14 +02:00
Paul Chaignon
eb0bf16cce Case-insensitive extension match for heuristic rules 2015-08-04 17:28:52 +02:00
Arfon Smith
6b283068a9 Adding back R/Rebol heuristics 2015-08-04 12:20:15 +01:00
Arfon Smith
208ec3906f Fixing up some new heuristics 2015-08-04 12:06:41 +01:00
Arfon Smith
84d4fccb4d Merge pull request #2441 from pchaigno/associate-heuristic-with-extension
Associate heuristic rules with file extensions
2015-08-04 12:00:47 +01:00
Arfon Smith
6b747f7d65 Adding Charity and heuristic for xBase .ch files 2015-07-21 14:59:47 +01:00
Paul Chaignon
452fc59d4f Merge branch 'master' into associate-heuristic-with-extension 2015-07-20 13:08:13 +02:00
Arfon Smith
1ced06483e Merge branch 'master' of https://github.com/rpavlick/linguist into rpavlick-master 2015-07-16 14:40:21 -07:00
rpavlick
2d392581e2 adding NCL language 2015-07-09 07:17:01 -07:00
Paul Chaignon
e688c865bc Merge branch 'master' into associate-heuristic-with-extension 2015-07-04 22:48:06 +02:00
Paul Chaignon
8c54f68040 Fix conflicts from merging master into 'mod-extension' 2015-07-04 18:01:56 +02:00
Paul Chaignon
8bf1defdc1 Merge branch 'master' into associate-heuristic-with-extension
Conflicts:
	lib/linguist/heuristics.rb
2015-06-18 21:54:59 +02:00
Lars Brinkhoff
8c66f0a5da Heuristic for PicoLisp. 2015-06-16 06:51:58 +02:00
Lars Brinkhoff
28103ee25b Add .ms to GAS. 2015-06-15 07:18:43 +02:00
Lars Brinkhoff
0a0d2ddb1a Heuristics for Groff and Nemerle. 2015-06-15 07:18:43 +02:00
Paul Chaignon
be122ca1a5 Fix test for Perl heuristic
Improve heuristic rule for Perl6
Separate heuristic rules for .pl (with Prolog) and .pm (without Prolog)
2015-06-06 19:55:04 +02:00
Paul Chaignon
656f4f440d Several extensions can be associated to a heuristic rule 2015-06-06 17:44:02 +02:00
Paul Chaignon
7fb62de4d7 Associate each heuristic rule to a file extension 2015-06-06 15:37:41 +02:00
Lars Brinkhoff
38aa7bae3f Fix Rust heuristic. 2015-05-28 07:10:25 +02:00
Lars Brinkhoff
869c9d2fdd Add .l to Groff. 2015-05-20 08:16:26 +02:00
Lars Brinkhoff
912e465193 Add .l to Common Lisp. 2015-05-20 08:16:26 +02:00
Paul Chaignon
fc1f8083ad Heuristic rules for XML and Modula-2 2015-04-25 23:36:15 +02:00
Lars Brinkhoff
e018b4322e Improve .asc heuristic for Public Key. 2015-04-21 10:10:27 +02:00
vitaut
9da42fba5b Improve NL/NewLisp disambiguation heuristic
NL files start with either 'b' or 'g' followed by an unsigned integer.
2015-04-16 15:19:22 -07:00
Lars Brinkhoff
33478b2d23 Make Common Lisp heuristic case insensitive. 2015-04-11 19:58:02 +02:00
Lars Brinkhoff
3086326d12 Tighten up OCaml heuristic: only match at start of line. 2015-04-07 08:54:39 +02:00
Alex Efros
c3288543af add heuristic for Limbo 2015-04-06 20:17:52 +03:00
Lars Brinkhoff
03dc4e1ff4 Add RenderScript and Filterscript. 2015-03-28 12:34:20 +01:00
vitaut
b587379f4a Add a heuristic to disambiguate between NL and NewLisp 2015-03-19 17:33:52 -07:00
Thomas Gazagnaire
e79607372b Disambiguate between OCaml and Standard ML
Fix #2208
2015-03-18 09:58:14 +00:00
Lars Brinkhoff
013188dcd9 Add new language Formatted for .for.
Sample file wksst8110.for is from the Climate Prediction Center at the
National Weather Service of the USA, and is in the public domain.
2015-03-17 20:44:06 +01:00
Paul Chaignon
7c593899e7 Make heuristic for Prolog more specific 2015-03-01 12:43:35 +01:00
Arfon Smith
b350f1572b Reformatting 2015-02-27 13:36:20 -06:00
Arfon Smith
a338228b57 Merge branch 'master' into sqlllll 2015-02-27 13:32:09 -06:00
Arfon Smith
d6d232ec37 Merge pull request #2154 from pchaigno/kicad-files
Support for .pro INI files (KiCad project files)
2015-02-27 10:14:20 -06:00
Arfon Smith
674eb31cfe Merge pull request #2145 from larsbrinkhoff/muf
Add MUF - Multi-user Forth
2015-02-26 21:04:13 -06:00
Lars Brinkhoff
2b25bb6d1c Add MUF language - Multi-user Forth. 2015-02-25 19:29:57 +01:00
Lars Brinkhoff
e791a71566 Add DTrace and Makefile dependency includes.
Sample file mpq.d by Georg Lukas; license GPL 2.
Sample file counts.d by Kate Turner; public domain.
Sample file javascript-race.d by unknown; license MPL 1.1/GPL 2.0/LGPL 2.1.
Sample file probes.d by momjian; license TBD.
2015-02-25 19:29:56 +01:00
Paul Chaignon
e592381a54 Support for .pro INI files (KiCad project files)
Update the heuristic for .pro to include both INI and QMake files
Fixes #2116
2015-02-22 19:33:06 +01:00
Arfon Smith
7fd720bf39 Merge branch 'master' into ascii 2015-02-16 11:18:31 -08:00
Arfon Smith
e10558e444 Fall back to classifier 2015-02-16 11:14:40 -08:00
Lars Brinkhoff
9a2f2c1fb2 Tweak heuristic for free-form Fortran. 2015-02-10 20:06:00 +01:00
Brandon Keepers
bdc724d548 Detect "use 5.xxx" as Perl 2015-02-09 10:19:36 -05:00