Remove samples/LANG/filenames as a source of truth (#4078)

All filenames must now be explicitly listed in languages.yml. A test
makes sure they are.
This commit is contained in:
Paul Chaignon
2018-04-02 11:09:06 +02:00
committed by GitHub
parent 718c9efaca
commit 0bf4b8a482
4 changed files with 50 additions and 8 deletions

View File

@@ -539,14 +539,6 @@ module Linguist
end end
end end
if fns = filenames[name]
fns.each do |filename|
if !options['filenames'].include?(filename)
options['filenames'] << filename
end
end
end
Language.create( Language.create(
:name => name, :name => name,
:color => options['color'], :color => options['color'],

View File

@@ -239,6 +239,10 @@ ApacheConf:
extensions: extensions:
- ".apacheconf" - ".apacheconf"
- ".vhost" - ".vhost"
filenames:
- ".htaccess"
- apache2.conf
- httpd.conf
tm_scope: source.apache-config tm_scope: source.apache-config
ace_mode: apache_conf ace_mode: apache_conf
language_id: 16 language_id: 16
@@ -1467,6 +1471,8 @@ GN:
- ".gni" - ".gni"
interpreters: interpreters:
- gn - gn
filenames:
- ".gn"
tm_scope: source.gn tm_scope: source.gn
ace_mode: python ace_mode: python
codemirror_mode: python codemirror_mode: python
@@ -1925,6 +1931,8 @@ INI:
- ".pro" - ".pro"
- ".properties" - ".properties"
filenames: filenames:
- ".editorconfig"
- ".gitconfig"
- buildozer.spec - buildozer.spec
tm_scope: source.ini tm_scope: source.ini
aliases: aliases:
@@ -3226,6 +3234,7 @@ PHP:
- ".phps" - ".phps"
- ".phpt" - ".phpt"
filenames: filenames:
- ".php"
- ".php_cs" - ".php_cs"
- ".php_cs.dist" - ".php_cs.dist"
- Phakefile - Phakefile
@@ -3370,6 +3379,7 @@ Perl:
- ".psgi" - ".psgi"
- ".t" - ".t"
filenames: filenames:
- ack
- cpanfile - cpanfile
interpreters: interpreters:
- perl - perl
@@ -3709,6 +3719,7 @@ R:
- ".rsx" - ".rsx"
filenames: filenames:
- ".Rprofile" - ".Rprofile"
- expr-dist
interpreters: interpreters:
- Rscript - Rscript
ace_mode: r ace_mode: r
@@ -4035,6 +4046,7 @@ Ruby:
- Berksfile - Berksfile
- Brewfile - Brewfile
- Buildfile - Buildfile
- Capfile
- Dangerfile - Dangerfile
- Deliverfile - Deliverfile
- Fastfile - Fastfile
@@ -4298,8 +4310,29 @@ Shell:
- ".bash_logout" - ".bash_logout"
- ".bash_profile" - ".bash_profile"
- ".bashrc" - ".bashrc"
- ".cshrc"
- ".login"
- ".profile"
- ".zlogin"
- ".zlogout"
- ".zprofile"
- ".zshenv"
- ".zshrc"
- 9fs
- PKGBUILD - PKGBUILD
- bash_logout
- bash_profile
- bashrc
- cshrc
- gradlew - gradlew
- login
- man
- profile
- zlogin
- zlogout
- zprofile
- zshenv
- zshrc
interpreters: interpreters:
- ash - ash
- bash - bash
@@ -4568,6 +4601,9 @@ Tcl:
- ".tcl" - ".tcl"
- ".adp" - ".adp"
- ".tm" - ".tm"
filenames:
- owh
- starfield
interpreters: interpreters:
- tclsh - tclsh
- wish - wish
@@ -4643,6 +4679,7 @@ Text:
- ".no" - ".no"
filenames: filenames:
- COPYING - COPYING
- COPYING.regex
- COPYRIGHT.regex - COPYRIGHT.regex
- FONTLOG - FONTLOG
- INSTALL - INSTALL
@@ -4657,6 +4694,7 @@ Text:
- delete.me - delete.me
- keep.me - keep.me
- read.me - read.me
- readme.1st
- test.me - test.me
tm_scope: none tm_scope: none
ace_mode: text ace_mode: text
@@ -4844,6 +4882,7 @@ Vim script:
extensions: extensions:
- ".vim" - ".vim"
filenames: filenames:
- ".gvimrc"
- ".nvimrc" - ".nvimrc"
- ".vimrc" - ".vimrc"
- _vimrc - _vimrc
@@ -5082,6 +5121,7 @@ XML:
- ".zcml" - ".zcml"
filenames: filenames:
- ".classpath" - ".classpath"
- ".cproject"
- ".project" - ".project"
- App.config - App.config
- NuGet.config - NuGet.config
@@ -5190,6 +5230,7 @@ YAML:
filenames: filenames:
- ".clang-format" - ".clang-format"
- ".clang-tidy" - ".clang-tidy"
- ".gemrc"
ace_mode: yaml ace_mode: yaml
codemirror_mode: yaml codemirror_mode: yaml
codemirror_mime_type: text/x-yaml codemirror_mime_type: text/x-yaml

View File

@@ -42,6 +42,15 @@ class TestSamples < Minitest::Test
end end
end end
def test_filename_listed
Samples.each do |sample|
if sample[:filename]
listed_filenames = Language[sample[:language]].filenames
assert_includes listed_filenames, sample[:filename], "#{sample[:path]} isn't listed as a filename for #{sample[:language]} in languages.yml"
end
end
end
# Check that there aren't samples with extensions or interpreters that # Check that there aren't samples with extensions or interpreters that
# aren't explicitly defined in languages.yml # aren't explicitly defined in languages.yml
languages_yml = File.expand_path("../../lib/linguist/languages.yml", __FILE__) languages_yml = File.expand_path("../../lib/linguist/languages.yml", __FILE__)