From 7f5bb25542db166cc8b9232fe0cf18484efd709f Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Thu, 13 Aug 2015 16:56:21 +0200 Subject: [PATCH 01/10] Remove grammar for Prolog from TextMate bundle --- .gitmodules | 3 --- grammars.yml | 2 -- vendor/grammars/prolog.tmbundle | 1 - 3 files changed, 6 deletions(-) delete mode 160000 vendor/grammars/prolog.tmbundle diff --git a/.gitmodules b/.gitmodules index f4238e8b..aff647b7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -397,9 +397,6 @@ [submodule "vendor/grammars/processing.tmbundle"] path = vendor/grammars/processing.tmbundle url = https://github.com/textmate/processing.tmbundle -[submodule "vendor/grammars/prolog.tmbundle"] - path = vendor/grammars/prolog.tmbundle - url = https://github.com/textmate/prolog.tmbundle [submodule "vendor/grammars/python-django.tmbundle"] path = vendor/grammars/python-django.tmbundle url = https://github.com/textmate/python-django.tmbundle diff --git a/grammars.yml b/grammars.yml index 4da6c0e2..33880871 100644 --- a/grammars.yml +++ b/grammars.yml @@ -431,8 +431,6 @@ vendor/grammars/powershell: - source.powershell vendor/grammars/processing.tmbundle: - source.processing -vendor/grammars/prolog.tmbundle: -- source.prolog vendor/grammars/protobuf-tmbundle: - source.protobuf vendor/grammars/puppet-textmate-bundle: diff --git a/vendor/grammars/prolog.tmbundle b/vendor/grammars/prolog.tmbundle deleted file mode 160000 index d955aca3..00000000 --- a/vendor/grammars/prolog.tmbundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d955aca38b7aadce76e6815eb09487a370206742 From 8d216f0c43a21e6f5d3d4ac1a45aec40fc19b959 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Thu, 13 Aug 2015 17:15:04 +0200 Subject: [PATCH 02/10] Grammar for Prolog from Sublime Text package MPLv2 License is currently unrecognized --- .gitmodules | 3 +++ grammars.yml | 3 +++ lib/linguist/languages.yml | 1 + vendor/grammars/sublimeprolog | 1 + 4 files changed, 8 insertions(+) create mode 160000 vendor/grammars/sublimeprolog diff --git a/.gitmodules b/.gitmodules index aff647b7..566254e5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -668,3 +668,6 @@ [submodule "vendor/grammars/st2-zonefile"] path = vendor/grammars/st2-zonefile url = https://github.com/sixty4k/st2-zonefile +[submodule "vendor/grammars/sublimeprolog"] + path = vendor/grammars/sublimeprolog + url = https://github.com/alnkpa/sublimeprolog diff --git a/grammars.yml b/grammars.yml index 33880871..0de7915f 100644 --- a/grammars.yml +++ b/grammars.yml @@ -529,6 +529,9 @@ vendor/grammars/sublime_cobol: vendor/grammars/sublime_man_page_support: - source.man - text.groff +vendor/grammars/sublimeprolog/: +- source.prolog +- source.prolog.eclipse vendor/grammars/sublimetext-cuda-cpp: - source.cuda-c++ vendor/grammars/swift.tmbundle: diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 3ff88a03..54b8ab65 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2632,6 +2632,7 @@ Prolog: - .prolog interpreters: - swipl + tm_scope: source.prolog ace_mode: prolog Propeller Spin: diff --git a/vendor/grammars/sublimeprolog b/vendor/grammars/sublimeprolog new file mode 160000 index 00000000..465efc54 --- /dev/null +++ b/vendor/grammars/sublimeprolog @@ -0,0 +1 @@ +Subproject commit 465efc540e0e87787226a8563d65b15959e5a065 From 6226a46988523123e3ec2437a4ae668b7820a202 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Thu, 13 Aug 2015 17:35:01 +0200 Subject: [PATCH 03/10] Recognize the Mozilla Public License for grammars --- test/test_grammars.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/test_grammars.rb b/test/test_grammars.rb index 88624ae8..dc64c6e6 100644 --- a/test/test_grammars.rb +++ b/test/test_grammars.rb @@ -132,6 +132,12 @@ class TestGrammars < Minitest::Test "BSD" elsif content.include?("Permission is hereby granted") || content =~ /\bMIT\b/ "MIT" + elsif content.include?("Mozilla Public License") + if content.include?("version 2.0") + "MPLv2.0" + elsif content.include?("version 1.1") + "MPLv1.1" + end elsif content.include?("unlicense.org") "unlicense" elsif content.include?("http://www.wtfpl.net/txt/copying/") From 0d7a264981d1bf43a7d13c7e577fd418f1d27aa7 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 19 Aug 2015 20:43:16 +0200 Subject: [PATCH 04/10] Update submodule for Prolog grammar --- vendor/grammars/sublimeprolog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/grammars/sublimeprolog b/vendor/grammars/sublimeprolog index 465efc54..9fd46df4 160000 --- a/vendor/grammars/sublimeprolog +++ b/vendor/grammars/sublimeprolog @@ -1 +1 @@ -Subproject commit 465efc540e0e87787226a8563d65b15959e5a065 +Subproject commit 9fd46df4b63479a8672d184cd47374a044a11b11 From 7d91e4959a5efeaedfce4ad9b0c4a42c867327a9 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 19 Aug 2015 20:56:14 +0200 Subject: [PATCH 05/10] 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 --- lib/linguist/heuristics.rb | 2 +- lib/linguist/languages.yml | 9 ++++++++- samples/{Prolog => ECLiPSe}/or-constraint.ecl | 0 test/test_heuristics.rb | 6 +++--- 4 files changed, 12 insertions(+), 5 deletions(-) rename samples/{Prolog => ECLiPSe}/or-constraint.ecl (100%) diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index fc8699c5..12104ee6 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -112,7 +112,7 @@ module Linguist disambiguate ".ecl" do |data| if /^[^#]+:-/.match(data) - Language["Prolog"] + Language["ECLiPSe"] elsif data.include?(":=") Language["ECL"] end diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 6ff194c9..fe37aacb 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -843,6 +843,14 @@ ECL: tm_scope: none ace_mode: text +ECLiPSe: + type: programming + group: prolog + extensions: + - .ecl + tm_scope: source.prolog.eclipse + ace_mode: prolog + Eagle: type: markup color: "#814C05" @@ -2628,7 +2636,6 @@ Prolog: color: "#74283c" extensions: - .pl - - .ecl - .pro - .prolog interpreters: diff --git a/samples/Prolog/or-constraint.ecl b/samples/ECLiPSe/or-constraint.ecl similarity index 100% rename from samples/Prolog/or-constraint.ecl rename to samples/ECLiPSe/or-constraint.ecl diff --git a/test/test_heuristics.rb b/test/test_heuristics.rb index 59041e7b..3448235b 100644 --- a/test/test_heuristics.rb +++ b/test/test_heuristics.rb @@ -66,11 +66,11 @@ class TestHeuristcs < Minitest::Test }) end - # Candidate languages = ["ECL", "Prolog"] - def test_ecl_prolog_by_heuristics + # Candidate languages = ["ECL", "ECLiPSe"] + def test_ecl_by_heuristics assert_heuristics({ "ECL" => all_fixtures("ECL", "*.ecl"), - "Prolog" => all_fixtures("Prolog", "*.ecl") + "ECLiPSe" => all_fixtures("ECLiPSe", "*.ecl") }) end From 5c2cfbc334a0a5efc3896cd69dc81e858308df75 Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 19 Aug 2015 21:27:40 +0200 Subject: [PATCH 06/10] Remove Typescript grammar --- .gitmodules | 3 --- grammars.yml | 2 -- vendor/grammars/sublime-better-typescript | 1 - 3 files changed, 6 deletions(-) delete mode 160000 vendor/grammars/sublime-better-typescript diff --git a/.gitmodules b/.gitmodules index 47cf934f..dea29f0b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -169,9 +169,6 @@ [submodule "vendor/grammars/sublime-idris"] path = vendor/grammars/sublime-idris url = https://github.com/laughedelic/sublime-idris -[submodule "vendor/grammars/sublime-better-typescript"] - path = vendor/grammars/sublime-better-typescript - url = https://github.com/lavrton/sublime-better-typescript [submodule "vendor/grammars/moonscript-tmbundle"] path = vendor/grammars/moonscript-tmbundle url = https://github.com/leafo/moonscript-tmbundle diff --git a/grammars.yml b/grammars.yml index 88d21d39..4230142b 100644 --- a/grammars.yml +++ b/grammars.yml @@ -484,8 +484,6 @@ vendor/grammars/sublime-aspectj/: - source.aspectj vendor/grammars/sublime-befunge: - source.befunge -vendor/grammars/sublime-better-typescript: -- source.ts vendor/grammars/sublime-bsv: - source.bsv vendor/grammars/sublime-cirru: diff --git a/vendor/grammars/sublime-better-typescript b/vendor/grammars/sublime-better-typescript deleted file mode 160000 index 8266c06a..00000000 --- a/vendor/grammars/sublime-better-typescript +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8266c06aabe5e473766bd9bb62dfeb106fe296a2 From 519b169df0cafc8fcb14bb6b1d9dcab4b2bff51b Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 19 Aug 2015 21:30:24 +0200 Subject: [PATCH 07/10] New grammar for Typescript from Sublime Text package --- .gitmodules | 3 +++ grammars.yml | 3 +++ vendor/grammars/sublime-typescript | 1 + 3 files changed, 7 insertions(+) create mode 160000 vendor/grammars/sublime-typescript diff --git a/.gitmodules b/.gitmodules index dea29f0b..429acb57 100644 --- a/.gitmodules +++ b/.gitmodules @@ -671,3 +671,6 @@ [submodule "vendor/grammars/sublime-aspectj"] path = vendor/grammars/sublime-aspectj url = https://github.com/pchaigno/sublime-aspectj +[submodule "vendor/grammars/sublime-typescript"] + path = vendor/grammars/sublime-typescript + url = https://github.com/Microsoft/TypeScript-Sublime-Plugin diff --git a/grammars.yml b/grammars.yml index 4230142b..df137f86 100644 --- a/grammars.yml +++ b/grammars.yml @@ -522,6 +522,9 @@ vendor/grammars/sublime-text-ox/: - source.ox vendor/grammars/sublime-text-pig-latin/: - source.pig_latin +vendor/grammars/sublime-typescript/: +- source.ts +- source.tsx vendor/grammars/sublime-varnish: - source.varnish.vcl vendor/grammars/sublime_cobol: diff --git a/vendor/grammars/sublime-typescript b/vendor/grammars/sublime-typescript new file mode 160000 index 00000000..0d519e5a --- /dev/null +++ b/vendor/grammars/sublime-typescript @@ -0,0 +1 @@ +Subproject commit 0d519e5a5592bd4152523fe359d1a0ebbe9cc493 From 80e2d112b22281a965f31ec162e2a4d1c5c728ca Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Wed, 19 Aug 2015 22:07:23 +0200 Subject: [PATCH 08/10] tm_scope for RMarkdown --- lib/linguist/languages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index ef3b0968..6308fb34 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2813,7 +2813,7 @@ RMarkdown: ace_mode: markdown extensions: - .rmd - tm_scope: none + tm_scope: source.gfm Racket: type: programming From e214a52de5aed5baf2f6580d35a8a1641797e007 Mon Sep 17 00:00:00 2001 From: Alejandro Oviedo Date: Wed, 19 Aug 2015 19:15:05 -0300 Subject: [PATCH 09/10] relativize link in readme ...so it could link properly in other branches and forks. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 374851fb..4ca08af1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ See [Troubleshooting](#troubleshooting) and [`CONTRIBUTING.md`](/CONTRIBUTING.md The Language stats bar is built by aggregating the languages of each file in that repository. If it is reporting a language that you don't expect: 0. Click on the name of the language in the stats bar to see a list of the files that are identified as that language. -0. If you see files that you didn't write, consider moving the files into one of the [paths for vendored code](https://github.com/github/linguist/blob/master/lib/linguist/vendor.yml), or use the [manual overrides](#overrides) feature to ignore them. +0. If you see files that you didn't write, consider moving the files into one of the [paths for vendored code](/lib/linguist/vendor.yml), or use the [manual overrides](#overrides) feature to ignore them. 0. If the files are being misclassified, search for [open issues][issues] to see if anyone else has already reported the issue. Any information you an add, especially links to public repositories, is helpful. 0. If there are no reported issues of this misclassification, [open an issue][new-issue] and include a link to the repository or a sample of the code that is being misclassified. From a74f3b3e460f42549a48b529d4c2657779fc15d0 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Thu, 20 Aug 2015 10:16:52 +0100 Subject: [PATCH 10/10] Adding Perl/Perl6 heuristic for '.t' --- lib/linguist/heuristics.rb | 4 ++-- test/test_heuristics.rb | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index 12104ee6..7c523fa8 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -33,7 +33,7 @@ module Linguist # # Examples # - # disambiguate "Perl", "Prolog" do |data| + # disambiguate ".pm" do |data| # if data.include?("use strict") # Language["Perl"] # elsif /^[^#]+:-/.match(data) @@ -102,7 +102,7 @@ module Linguist end end - disambiguate ".pm" do |data| + disambiguate ".pm", ".t" do |data| if /^(use v6|(my )?class|module)/.match(data) Language["Perl6"] elsif /use strict|use\s+v?5\./.match(data) diff --git a/test/test_heuristics.rb b/test/test_heuristics.rb index 3448235b..cca48675 100644 --- a/test/test_heuristics.rb +++ b/test/test_heuristics.rb @@ -66,6 +66,16 @@ class TestHeuristcs < Minitest::Test }) end + # Candidate languages = ["Perl", "Perl6"] + def test_t_perl_by_heuristics + assert_heuristics({ + "Perl" => all_fixtures("Perl", "*.t"), + "Perl6" => ["Perl6/01-dash-uppercase-i.t", "Perl6/01-parse.t", "Perl6/advent2009-day16.t", + "Perl6/basic-open.t", "Perl6/calendar.t", "Perl6/for.t", "Perl6/hash.t", + "Perl6/listquote-whitespace.t"] + }) + end + # Candidate languages = ["ECL", "ECLiPSe"] def test_ecl_by_heuristics assert_heuristics({