mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge pull request #1732 from github/filename-matches-multiple-langages
Require samples if filename matches multiple languages
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| Gemfile.lock | /Gemfile.lock | ||||||
| .bundle/ | .bundle/ | ||||||
| benchmark/ | benchmark/ | ||||||
| lib/linguist/samples.json | lib/linguist/samples.json | ||||||
|   | |||||||
| @@ -431,11 +431,6 @@ module Linguist | |||||||
|     # Returns the extensions Array |     # Returns the extensions Array | ||||||
|     attr_reader :filenames |     attr_reader :filenames | ||||||
|  |  | ||||||
|     # Public: Return all possible extensions for language |  | ||||||
|     def all_extensions |  | ||||||
|       (extensions + [primary_extension]).uniq |  | ||||||
|     end |  | ||||||
|  |  | ||||||
|     # Deprecated: Get primary extension |     # Deprecated: Get primary extension | ||||||
|     # |     # | ||||||
|     # Defaults to the first extension but can be overridden |     # Defaults to the first extension but can be overridden | ||||||
| @@ -593,9 +588,9 @@ module Linguist | |||||||
|       :ace_mode          => options['ace_mode'], |       :ace_mode          => options['ace_mode'], | ||||||
|       :wrap              => options['wrap'], |       :wrap              => options['wrap'], | ||||||
|       :group_name        => options['group'], |       :group_name        => options['group'], | ||||||
|       :searchable        => options.key?('searchable') ? options['searchable'] : true, |       :searchable        => options.fetch('searchable', true), | ||||||
|       :search_term       => options['search_term'], |       :search_term       => options['search_term'], | ||||||
|       :extensions        => [options['extensions'].first] + options['extensions'][1..-1].sort, |       :extensions        => Array(options['extensions']), | ||||||
|       :interpreters      => options['interpreters'].sort, |       :interpreters      => options['interpreters'].sort, | ||||||
|       :filenames         => options['filenames'], |       :filenames         => options['filenames'], | ||||||
|       :popular           => popular.include?(name) |       :popular           => popular.include?(name) | ||||||
|   | |||||||
| @@ -33,15 +33,6 @@ AGS Script: | |||||||
|   - .ash |   - .ash | ||||||
|   tm_scope: source.c++ |   tm_scope: source.c++ | ||||||
|  |  | ||||||
| Ant Build System: |  | ||||||
|   type: data |  | ||||||
|   tm_scope: text.xml.ant |  | ||||||
|   extensions: |  | ||||||
|   - .ant.xml |  | ||||||
|   filenames: |  | ||||||
|   - build.xml |  | ||||||
|   - ant.xml |  | ||||||
|  |  | ||||||
| ANTLR: | ANTLR: | ||||||
|   type: programming |   type: programming | ||||||
|   color: "#9DC3FF" |   color: "#9DC3FF" | ||||||
| @@ -117,6 +108,13 @@ Alloy: | |||||||
|   extensions: |   extensions: | ||||||
|   - .als |   - .als | ||||||
|  |  | ||||||
|  | Ant Build System: | ||||||
|  |   type: data | ||||||
|  |   tm_scope: text.xml.ant | ||||||
|  |   filenames: | ||||||
|  |   - ant.xml | ||||||
|  |   - build.xml | ||||||
|  |  | ||||||
| ApacheConf: | ApacheConf: | ||||||
|   type: markup |   type: markup | ||||||
|   aliases: |   aliases: | ||||||
| @@ -649,13 +647,6 @@ E: | |||||||
|   extensions: |   extensions: | ||||||
|   - .E |   - .E | ||||||
|  |  | ||||||
| Ecere Projects: |  | ||||||
|   type: data |  | ||||||
|   group: JavaScript |  | ||||||
|   extensions: |  | ||||||
|   - .epj |  | ||||||
|   tm_scope: source.json |  | ||||||
|  |  | ||||||
| ECL: | ECL: | ||||||
|   type: programming |   type: programming | ||||||
|   color: "#8a1267" |   color: "#8a1267" | ||||||
| @@ -671,6 +662,13 @@ Eagle: | |||||||
|   - .brd |   - .brd | ||||||
|   tm_scope: text.xml |   tm_scope: text.xml | ||||||
|  |  | ||||||
|  | Ecere Projects: | ||||||
|  |   type: data | ||||||
|  |   group: JavaScript | ||||||
|  |   extensions: | ||||||
|  |   - .epj | ||||||
|  |   tm_scope: source.json | ||||||
|  |  | ||||||
| Eiffel: | Eiffel: | ||||||
|   type: programming |   type: programming | ||||||
|   color: "#946d57" |   color: "#946d57" | ||||||
| @@ -767,8 +765,8 @@ Factor: | |||||||
|   extensions: |   extensions: | ||||||
|   - .factor |   - .factor | ||||||
|   filenames: |   filenames: | ||||||
|     - .factor-rc |  | ||||||
|     - .factor-boot-rc |     - .factor-boot-rc | ||||||
|  |     - .factor-rc | ||||||
|  |  | ||||||
| Fancy: | Fancy: | ||||||
|   type: programming |   type: programming | ||||||
| @@ -812,13 +810,6 @@ G-code: | |||||||
|   - .gco |   - .gco | ||||||
|   - .gcode |   - .gcode | ||||||
|  |  | ||||||
| Game Maker Language: |  | ||||||
|   type: programming |  | ||||||
|   color: "#8ad353" |  | ||||||
|   extensions: |  | ||||||
|   - .gml |  | ||||||
|   tm_scope: source.js |  | ||||||
|  |  | ||||||
| GAMS: | GAMS: | ||||||
|   type: programming |   type: programming | ||||||
|   extensions: |   extensions: | ||||||
| @@ -863,6 +854,13 @@ GLSL: | |||||||
|   - .vrx |   - .vrx | ||||||
|   - .vshader |   - .vshader | ||||||
|  |  | ||||||
|  | Game Maker Language: | ||||||
|  |   type: programming | ||||||
|  |   color: "#8ad353" | ||||||
|  |   extensions: | ||||||
|  |   - .gml | ||||||
|  |   tm_scope: source.js | ||||||
|  |  | ||||||
| Genshi: | Genshi: | ||||||
|   extensions: |   extensions: | ||||||
|   - .kid |   - .kid | ||||||
| @@ -1122,9 +1120,14 @@ INI: | |||||||
|   aliases: |   aliases: | ||||||
|   - dosini |   - dosini | ||||||
|  |  | ||||||
| Inno Setup: | IRC log: | ||||||
|  |   search_term: irc | ||||||
|  |   aliases: | ||||||
|  |   - irc | ||||||
|  |   - irc logs | ||||||
|   extensions: |   extensions: | ||||||
|   - .iss |   - .irclog | ||||||
|  |   - .weechatlog | ||||||
|  |  | ||||||
| Idris: | Idris: | ||||||
|   type: programming |   type: programming | ||||||
| @@ -1147,15 +1150,6 @@ Inno Setup: | |||||||
|   extensions: |   extensions: | ||||||
|   - .iss |   - .iss | ||||||
|  |  | ||||||
| IRC log: |  | ||||||
|   search_term: irc |  | ||||||
|   aliases: |  | ||||||
|   - irc |  | ||||||
|   - irc logs |  | ||||||
|   extensions: |  | ||||||
|   - .irclog |  | ||||||
|   - .weechatlog |  | ||||||
|  |  | ||||||
| Io: | Io: | ||||||
|   type: programming |   type: programming | ||||||
|   color: "#a9188d" |   color: "#a9188d" | ||||||
| @@ -1474,9 +1468,9 @@ Makefile: | |||||||
|   - .mak |   - .mak | ||||||
|   - .mk |   - .mk | ||||||
|   filenames: |   filenames: | ||||||
|   - makefile |  | ||||||
|   - Makefile |  | ||||||
|   - GNUmakefile |   - GNUmakefile | ||||||
|  |   - Makefile | ||||||
|  |   - makefile | ||||||
|   interpreters: |   interpreters: | ||||||
|   - make |   - make | ||||||
|  |  | ||||||
| @@ -1529,8 +1523,6 @@ Matlab: | |||||||
| Maven POM: | Maven POM: | ||||||
|   type: data |   type: data | ||||||
|   tm_scope: text.xml.pom |   tm_scope: text.xml.pom | ||||||
|   extensions: |  | ||||||
|   - .pom.xml |  | ||||||
|   filenames: |   filenames: | ||||||
|   - pom.xml |   - pom.xml | ||||||
|  |  | ||||||
| @@ -1832,6 +1824,14 @@ Parrot: | |||||||
|   extensions: |   extensions: | ||||||
|   - .parrot # Dummy extension |   - .parrot # Dummy extension | ||||||
|  |  | ||||||
|  | Parrot Assembly: | ||||||
|  |   group: Parrot | ||||||
|  |   type: programming | ||||||
|  |   aliases: | ||||||
|  |   - pasm | ||||||
|  |   extensions: | ||||||
|  |   - .pasm | ||||||
|  |  | ||||||
| Parrot Internal Representation: | Parrot Internal Representation: | ||||||
|   group: Parrot |   group: Parrot | ||||||
|   tm_scope: source.parrot.pir |   tm_scope: source.parrot.pir | ||||||
| @@ -1841,14 +1841,6 @@ Parrot Internal Representation: | |||||||
|   extensions: |   extensions: | ||||||
|   - .pir |   - .pir | ||||||
|  |  | ||||||
| Parrot Assembly: |  | ||||||
|   group: Parrot |  | ||||||
|   type: programming |  | ||||||
|   aliases: |  | ||||||
|   - pasm |  | ||||||
|   extensions: |  | ||||||
|   - .pasm |  | ||||||
|  |  | ||||||
| Pascal: | Pascal: | ||||||
|   type: programming |   type: programming | ||||||
|   color: "#b0ce4e" |   color: "#b0ce4e" | ||||||
| @@ -2005,10 +1997,10 @@ Python: | |||||||
|   - .wsgi |   - .wsgi | ||||||
|   - .xpy |   - .xpy | ||||||
|   filenames: |   filenames: | ||||||
|   - wscript |  | ||||||
|   - SConstruct |  | ||||||
|   - SConscript |  | ||||||
|   - BUILD |   - BUILD | ||||||
|  |   - SConscript | ||||||
|  |   - SConstruct | ||||||
|  |   - wscript | ||||||
|   interpreters: |   interpreters: | ||||||
|   - python |   - python | ||||||
|  |  | ||||||
| @@ -2588,8 +2580,8 @@ VimL: | |||||||
|   filenames: |   filenames: | ||||||
|   - .vimrc |   - .vimrc | ||||||
|   - _vimrc |   - _vimrc | ||||||
|   - vimrc |  | ||||||
|   - gvimrc |   - gvimrc | ||||||
|  |   - vimrc | ||||||
|  |  | ||||||
| Visual Basic: | Visual Basic: | ||||||
|   type: programming |   type: programming | ||||||
| @@ -2691,12 +2683,12 @@ XML: | |||||||
|   filenames: |   filenames: | ||||||
|   - .classpath |   - .classpath | ||||||
|   - .project |   - .project | ||||||
|  |   - Web.Debug.config | ||||||
|  |   - Web.Release.config | ||||||
|  |   - Web.config | ||||||
|   - build.xml.dist |   - build.xml.dist | ||||||
|   - packages.config |   - packages.config | ||||||
|   - phpunit.xml.dist |   - phpunit.xml.dist | ||||||
|   - Web.config |  | ||||||
|   - Web.Debug.config |  | ||||||
|   - Web.Release.config |  | ||||||
|  |  | ||||||
| XProc: | XProc: | ||||||
|   type: programming |   type: programming | ||||||
|   | |||||||
							
								
								
									
										110
									
								
								samples/Ant Build System/filenames/ant.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								samples/Ant Build System/filenames/ant.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | |||||||
|  | <?xml version="1.0" encoding="iso-8859-1"?> | ||||||
|  | <project name="WebBuild"> | ||||||
|  |  | ||||||
|  |     <!-- generate timestamps --> | ||||||
|  |     <tstamp /> | ||||||
|  |  | ||||||
|  |     <!-- Debugging Macro --> | ||||||
|  |     <import file="echopath.xml" /> | ||||||
|  |  | ||||||
|  |     <!-- JS build files macro --> | ||||||
|  |     <import file="rhinoscript.xml" /> | ||||||
|  |  | ||||||
|  |     <!-- Component Build Files --> | ||||||
|  |     <import file="setup.xml" /> | ||||||
|  |     <import file="clean.xml" /> | ||||||
|  |     <import file="copy.xml" /> | ||||||
|  |     <import file="file.transform.xml" /> | ||||||
|  |     <import file="external.tools.xml" /> | ||||||
|  |     <import file="rename.xml" /> | ||||||
|  |     <import file="js.xml" /> | ||||||
|  |     <import file="css.xml" /> | ||||||
|  |     <import file="img.xml" /> | ||||||
|  |     <import file="png8.xml" /> | ||||||
|  |     <import file="yui.xml" /> | ||||||
|  |     <import file="cdn.xml" /> | ||||||
|  |     <import file="datauri.xml" /> | ||||||
|  |     <import file="devlive.xml" /> | ||||||
|  |  | ||||||
|  |     <!-- This dirname is the only complete path we know for sure, everything builds off of it --> | ||||||
|  |     <dirname property="dir.build" file="${ant.file.WebBuild}" /> | ||||||
|  |  | ||||||
|  |     <!-- get name for newly built folder --> | ||||||
|  |     <basename property="app.name"       file="${basedir}" /> | ||||||
|  |  | ||||||
|  |     <!-- read global properties file --> | ||||||
|  |     <property file="${dir.build}\build.properties" /> | ||||||
|  |  | ||||||
|  |     <!-- Build Directories --> | ||||||
|  |     <property name="dir.build.js"   location="${dir.build}/js" /> | ||||||
|  |  | ||||||
|  |     <!-- App Directories --> | ||||||
|  |     <property name="dir.app"        location="${dir.result}/${app.name}" /> | ||||||
|  |     <property name="dir.app.temp"   location="${dir.temp}/${app.name}" /> | ||||||
|  |     <property name="dir.app.files"  location="${dir.app.temp}/${dir.files}" /> | ||||||
|  |  | ||||||
|  |     <!-- Files --> | ||||||
|  |     <property name="mapping.js"     location="${dir.app.temp}/${mapping.file.js}" /> | ||||||
|  |     <property name="mapping.css"    location="${dir.app.temp}/${mapping.file.css}" /> | ||||||
|  |     <property name="mapping.img"    location="${dir.app.temp}/${mapping.file.img}" /> | ||||||
|  |     <property name="mapping.swf"    location="${dir.app.temp}/${mapping.file.swf}" /> | ||||||
|  |     <property name="mapping.fonts"  location="${dir.app.temp}/${mapping.file.fonts}" /> | ||||||
|  |  | ||||||
|  |     <!-- Tool Directories --> | ||||||
|  |     <property name="dir.bin"    location="${dir.build}/Bin" /> | ||||||
|  |     <property name="dir.jar"    location="${dir.bin}/jar" /> | ||||||
|  |  | ||||||
|  |     <!-- Tool Files --> | ||||||
|  | 	<property name="tools.compressor"     location="${dir.jar}/${tools.file.compressor}" /> | ||||||
|  | 	<property name="tools.cssembed"       location="${dir.jar}/${tools.file.cssembed}" /> | ||||||
|  |     <property name="tools.filetransform"  location="${dir.jar}/${tools.file.filetransform}" /> | ||||||
|  |     <property name="tools.optipng"        location="${dir.bin}/${tools.file.optipng}" /> | ||||||
|  |     <property name="tools.jpegtran"       location="${dir.bin}/${tools.file.jpegtran}" /> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <!-- BUILD TARGETS --> | ||||||
|  |  | ||||||
|  |     <!-- low level utility build targets --> | ||||||
|  |  | ||||||
|  |     <!-- Build the tools --> | ||||||
|  |     <target name="-setup.build.tools" | ||||||
|  |             depends="-define.filetransform, -define.cssembed, -define.yuicompressor, -define.jsclasspath" | ||||||
|  |     /> | ||||||
|  |  | ||||||
|  |     <!-- set up filesystem properties --> | ||||||
|  |     <target | ||||||
|  |         name="-setup" | ||||||
|  |         depends="-setup.mode, -setup.conditions, -setup.js, -setup.css, -setup.swf, -setup.img, -setup.fonts, -setup.yui" | ||||||
|  |     /> | ||||||
|  |  | ||||||
|  |     <!-- utility-ish targets --> | ||||||
|  |     <target name="copy"         depends="clean, tools, -copy" /> | ||||||
|  |     <target name="tools"        depends="-setup.build.tools" /> | ||||||
|  |     <target name="finalize"     depends="copy, -finalize" /> | ||||||
|  |     <target name="-prepare"     depends="copy, -setup" /> | ||||||
|  |  | ||||||
|  |     <!-- individual component build targets (empty descriptions are to make sure they show in "ant -p") --> | ||||||
|  |     <target name="devlive"      depends="-prepare, -devlive"            description="" /> | ||||||
|  |     <target name="js"           depends="-prepare, -js"                 description="" /> | ||||||
|  |     <target name="css"          depends="-prepare, -css"                description="" /> | ||||||
|  |     <target name="rename"       depends="-prepare, -rename"             description="" /> | ||||||
|  |     <target name="yui"          depends="-prepare, rename, -yui"        description="" /> | ||||||
|  |     <target name="cdn"          depends="-prepare, -cdn"                description="" /> | ||||||
|  |  | ||||||
|  |     <!-- high level build targets (Excluding of images is on purpose here, it's slow) --> | ||||||
|  |     <target name="core" | ||||||
|  |             depends="devlive, js, css, cdn, rename, yui, -js.inline" | ||||||
|  |             description="Core build work" | ||||||
|  |     /> | ||||||
|  |  | ||||||
|  |     <target name="prod" | ||||||
|  |             depends="core, finalize" | ||||||
|  |             description="Full Production Build" | ||||||
|  |     /> | ||||||
|  |  | ||||||
|  |     <!-- debug target --> | ||||||
|  |     <target name="debug" depends="-setup"> | ||||||
|  |         <echoproperties/> | ||||||
|  |     </target> | ||||||
|  |  | ||||||
|  | </project> | ||||||
							
								
								
									
										1
									
								
								samples/Ant Build System/filenames/build.xml
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								samples/Ant Build System/filenames/build.xml
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | ant.xml | ||||||
							
								
								
									
										207
									
								
								samples/Maven POM/filenames/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										207
									
								
								samples/Maven POM/filenames/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,207 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  | 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||||||
|  | 	<modelVersion>4.0.0</modelVersion> | ||||||
|  | 	<groupId>renpengben</groupId> | ||||||
|  | 	<artifactId>spring4mvc-jpa</artifactId> | ||||||
|  | 	<packaging>war</packaging> | ||||||
|  | 	<version>0.0.1-SNAPSHOT</version> | ||||||
|  | 	<name>spring4mvc-jpa Maven Webapp</name> | ||||||
|  |  | ||||||
|  | 	<url>https://renpengben.github.io</url> | ||||||
|  |  | ||||||
|  | 	<description>spring4mvc-jpa</description> | ||||||
|  |  | ||||||
|  | 	<properties> | ||||||
|  | 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||||
|  | 		<java.version>1.7</java.version> | ||||||
|  | 		<junit.version>4.11</junit.version> | ||||||
|  | 		<slf4j.version>1.7.7</slf4j.version> | ||||||
|  | 		<log4j.version>1.2.17</log4j.version> | ||||||
|  |  | ||||||
|  | 		<spring.version>4.0.5.RELEASE</spring.version> | ||||||
|  | 		<spring.data.jpa.version>1.6.0.RELEASE</spring.data.jpa.version> | ||||||
|  | 		<cglib.version>2.1_3</cglib.version> | ||||||
|  |  | ||||||
|  | 		<mysql.version>5.1.31</mysql.version> | ||||||
|  | 		<hibernate.version>4.3.5.Final</hibernate.version> | ||||||
|  | 		<hibernate-validator.version>5.1.1.Final</hibernate-validator.version> | ||||||
|  | 		<druid-version>1.0.6</druid-version> | ||||||
|  |  | ||||||
|  | 	</properties> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	<dependencies> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>junit</groupId> | ||||||
|  | 			<artifactId>junit</artifactId> | ||||||
|  | 			<version>${junit.version}</version> | ||||||
|  | 			<scope>test</scope> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.slf4j</groupId> | ||||||
|  | 			<artifactId>slf4j-api</artifactId> | ||||||
|  | 			<version>${slf4j.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.slf4j</groupId> | ||||||
|  | 			<artifactId>slf4j-log4j12</artifactId> | ||||||
|  | 			<version>${slf4j.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>log4j</groupId> | ||||||
|  | 			<artifactId>log4j</artifactId> | ||||||
|  | 			<version>${log4j.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 		<!-- Spring --> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-core</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 			<exclusions> | ||||||
|  | 				<exclusion> | ||||||
|  | 					<groupId>commons-logging</groupId> | ||||||
|  | 					<artifactId>commons-logging</artifactId> | ||||||
|  | 				</exclusion> | ||||||
|  | 			</exclusions> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-beans</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-context</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-aop</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-expression</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-tx</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-aspects</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-context-support</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-jdbc</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-orm</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-web</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-webmvc</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework</groupId> | ||||||
|  | 			<artifactId>spring-test</artifactId> | ||||||
|  | 			<version>${spring.version}</version> | ||||||
|  | 			<scope>test</scope> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.springframework.data</groupId> | ||||||
|  | 			<artifactId>spring-data-jpa</artifactId> | ||||||
|  | 			<version>${spring.data.jpa.version}</version> | ||||||
|  | 			<exclusions> | ||||||
|  | 				<exclusion> | ||||||
|  | 					<artifactId>junit-dep</artifactId> | ||||||
|  | 					<groupId>junit</groupId> | ||||||
|  | 				</exclusion> | ||||||
|  | 			</exclusions> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>cglib</groupId> | ||||||
|  | 			<artifactId>cglib-nodep</artifactId> | ||||||
|  | 			<version>${cglib.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 		<!-- JPA --> | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.hibernate</groupId> | ||||||
|  | 			<artifactId>hibernate-core</artifactId> | ||||||
|  | 			<version>${hibernate.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.hibernate</groupId> | ||||||
|  | 			<artifactId>hibernate-entitymanager</artifactId> | ||||||
|  | 			<version>${hibernate.version}</version> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.hibernate</groupId> | ||||||
|  | 			<artifactId>hibernate-validator</artifactId> | ||||||
|  | 			<version>${hibernate-validator.version}</version> | ||||||
|  | 			<scope>compile</scope> | ||||||
|  |  | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>mysql</groupId> | ||||||
|  | 			<artifactId>mysql-connector-java</artifactId> | ||||||
|  | 			<version>${mysql.version}</version> | ||||||
|  | 			<scope>runtime</scope> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>com.alibaba</groupId> | ||||||
|  | 			<artifactId>druid</artifactId> | ||||||
|  | 			<version>${druid-version}</version> | ||||||
|  | 		</dependency> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	</dependencies> | ||||||
|  | 	<build> | ||||||
|  | 		<plugins> | ||||||
|  | 			<plugin> | ||||||
|  | 				<groupId>org.apache.maven.plugins</groupId> | ||||||
|  | 				<artifactId>maven-compiler-plugin</artifactId> | ||||||
|  | 				<version>2.0.2</version> | ||||||
|  | 				<configuration> | ||||||
|  | 					<source>1.7</source> | ||||||
|  | 					<target>1.7</target> | ||||||
|  | 				</configuration> | ||||||
|  | 			</plugin> | ||||||
|  | 		</plugins> | ||||||
|  | 	</build> | ||||||
|  | </project> | ||||||
							
								
								
									
										42
									
								
								samples/Ruby/filenames/Gemfile.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								samples/Ruby/filenames/Gemfile.lock
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | PATH | ||||||
|  |   remote: . | ||||||
|  |   specs: | ||||||
|  |     github-linguist (4.0.1) | ||||||
|  |       charlock_holmes (~> 0.7.3) | ||||||
|  |       escape_utils (~> 1.0.1) | ||||||
|  |       mime-types (>= 1.19) | ||||||
|  |       rugged (~> 0.22.0b1) | ||||||
|  |     github-linguist-grammars (4.0.1) | ||||||
|  |  | ||||||
|  | GEM | ||||||
|  |   remote: https://rubygems.org/ | ||||||
|  |   specs: | ||||||
|  |     charlock_holmes (0.7.3) | ||||||
|  |     coderay (1.1.0) | ||||||
|  |     escape_utils (1.0.1) | ||||||
|  |     metaclass (0.0.4) | ||||||
|  |     method_source (0.8.2) | ||||||
|  |     mime-types (2.4.3) | ||||||
|  |     mocha (1.1.0) | ||||||
|  |       metaclass (~> 0.0.1) | ||||||
|  |     plist (3.1.0) | ||||||
|  |     pry (0.10.1) | ||||||
|  |       coderay (~> 1.1.0) | ||||||
|  |       method_source (~> 0.8.1) | ||||||
|  |       slop (~> 3.4) | ||||||
|  |     rake (10.3.2) | ||||||
|  |     rugged (0.22.0b1) | ||||||
|  |     slop (3.6.0) | ||||||
|  |     yajl-ruby (1.2.1) | ||||||
|  |  | ||||||
|  | PLATFORMS | ||||||
|  |   ruby | ||||||
|  |  | ||||||
|  | DEPENDENCIES | ||||||
|  |   github-linguist! | ||||||
|  |   github-linguist-grammars! | ||||||
|  |   mocha | ||||||
|  |   plist (~> 3.1) | ||||||
|  |   pry | ||||||
|  |   rake | ||||||
|  |   yajl-ruby | ||||||
| @@ -349,12 +349,6 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|     assert_equal '.coffee', Language['CoffeeScript'].primary_extension |     assert_equal '.coffee', Language['CoffeeScript'].primary_extension | ||||||
|     assert_equal '.t', Language['Turing'].primary_extension |     assert_equal '.t', Language['Turing'].primary_extension | ||||||
|     assert_equal '.ts', Language['TypeScript'].primary_extension |     assert_equal '.ts', Language['TypeScript'].primary_extension | ||||||
|  |  | ||||||
|     # This is a nasty requirement, but there's some code in GitHub that |  | ||||||
|     # expects this. Really want to drop this. |  | ||||||
|     Language.all.each do |language| |  | ||||||
|       assert language.primary_extension, "#{language} has no primary extension" |  | ||||||
|     end |  | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_eql |   def test_eql | ||||||
|   | |||||||
| @@ -1,57 +1,30 @@ | |||||||
| require 'test/unit' | require 'test/unit' | ||||||
|  | require 'yaml' | ||||||
|  |  | ||||||
| class TestPedantic < Test::Unit::TestCase | class TestPedantic < Test::Unit::TestCase | ||||||
|   Lib = File.expand_path("../../lib/linguist", __FILE__) |   filename = File.expand_path("../../lib/linguist/languages.yml", __FILE__) | ||||||
|  |   LANGUAGES = YAML.load(File.read(filename)) | ||||||
|   def file(name) |  | ||||||
|     File.read(File.join(Lib, name)) |  | ||||||
|   end |  | ||||||
|  |  | ||||||
|   def test_language_names_are_sorted |   def test_language_names_are_sorted | ||||||
|     languages = [] |     assert_sorted LANGUAGES.keys | ||||||
|     file("languages.yml").lines.each do |line| |  | ||||||
|       if line =~ /^(\w+):$/ |  | ||||||
|         languages << $1 |  | ||||||
|       end |  | ||||||
|     end |  | ||||||
|     assert_sorted languages |  | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_extensions_are_sorted |   def test_extensions_are_sorted | ||||||
|     extensions = nil |     LANGUAGES.each do |name, language| | ||||||
|     file("languages.yml").lines.each do |line| |       extensions = language['extensions'] | ||||||
|       if line =~ /^  extensions:$/ |       assert_sorted extensions[1..-1] if extensions && extensions.size > 1 | ||||||
|         extensions = [] |  | ||||||
|       elsif extensions && line =~ /^  - \.([\w\-\.]+)( *#.*)?$/ |  | ||||||
|         extensions << $1 |  | ||||||
|       else |  | ||||||
|         assert_sorted extensions[1..-1] if extensions |  | ||||||
|         extensions = nil |  | ||||||
|       end |  | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_filenames_are_sorted |   def test_filenames_are_sorted | ||||||
|     filenames = nil |     LANGUAGES.each do |name, language| | ||||||
|     file("languages.yml").lines.each do |line| |       assert_sorted language['filenames'] if language['filenames'] | ||||||
|       if line =~ /^  filenames:$/ |  | ||||||
|         filenames = [] |  | ||||||
|       elsif filenames && line =~ /^  - \.(\w+)$/ |  | ||||||
|         filenames << $1 |  | ||||||
|       else |  | ||||||
|         assert_sorted filenames if filenames |  | ||||||
|         filenames = nil |  | ||||||
|       end |  | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def assert_sorted(list) |   def assert_sorted(list) | ||||||
|     previous = nil |     list.each_cons(2) do |previous, item| | ||||||
|     list.each do |item| |       flunk "#{previous} should come after #{item}" if previous > item | ||||||
|       if previous && previous > item |  | ||||||
|         flunk "#{previous} should come after #{item}" |  | ||||||
|       end |  | ||||||
|       previous = item |  | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -55,18 +55,26 @@ class TestSamples < Test::Unit::TestCase | |||||||
|   end |   end | ||||||
|  |  | ||||||
|   # If a language extension isn't globally unique then make sure there are samples |   # If a language extension isn't globally unique then make sure there are samples | ||||||
|   def test_presence |  | ||||||
|   Linguist::Language.all.each do |language| |   Linguist::Language.all.each do |language| | ||||||
|       language.all_extensions.each do |extension| |     define_method "test_#{language.name}_has_samples" do | ||||||
|         language_matches = Language.find_by_filename("foo#{extension}") |       language.extensions.each do |extension| | ||||||
|  |         language_matches = Language.find_by_extension(extension) | ||||||
|  |  | ||||||
|         # If there is more than one language match for a given extension |         # Check for samples if more than one language matches the given extension. | ||||||
|         # then check that there are examples for that language with the extension |  | ||||||
|         if language_matches.length > 1 |         if language_matches.length > 1 | ||||||
|           language_matches.each do |language| |           language_matches.each do |match| | ||||||
|             assert File.directory?("samples/#{language.name}"), "#{language.name} is missing a samples directory" |             samples = "samples/#{match.name}/*#{extension}" | ||||||
|             assert Dir.glob("samples/#{language.name}/*#{extension}").any?, "#{language.name} is missing samples for extension #{extension}" |             assert Dir.glob(samples).any?, "Missing samples in #{samples.inspect}. See https://github.com/github/linguist/blob/master/CONTRIBUTING.md" | ||||||
|           end |           end | ||||||
|  |         end | ||||||
|  |       end | ||||||
|  |  | ||||||
|  |       language.filenames.each do |filename| | ||||||
|  |         # Check for samples if more than one language matches the given filename | ||||||
|  |         if Language.find_by_filename(filename).size > 1 | ||||||
|  |           sample = "samples/#{language.name}/filenames/#{filename}" | ||||||
|  |           assert File.exists?(sample), | ||||||
|  |             "Missing sample in #{sample.inspect}. See https://github.com/github/linguist/blob/master/CONTRIBUTING.md" | ||||||
|         end |         end | ||||||
|       end |       end | ||||||
|     end |     end | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								vendor/cache/mime-types-1.25.1.gem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								vendor/cache/mime-types-1.25.1.gem
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								vendor/cache/yajl-ruby-1.1.0.gem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								vendor/cache/yajl-ruby-1.1.0.gem
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user