mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge branch 'master' into reworking-documentation-paths
This commit is contained in:
		| @@ -150,6 +150,7 @@ module Linguist | |||||||
|     # |     # | ||||||
|     # Returns the Language or nil if none was found. |     # Returns the Language or nil if none was found. | ||||||
|     def self.find_by_name(name) |     def self.find_by_name(name) | ||||||
|  |       return nil if name.to_s.empty? | ||||||
|       name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase]) |       name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase]) | ||||||
|     end |     end | ||||||
|  |  | ||||||
| @@ -164,6 +165,7 @@ module Linguist | |||||||
|     # |     # | ||||||
|     # Returns the Language or nil if none was found. |     # Returns the Language or nil if none was found. | ||||||
|     def self.find_by_alias(name) |     def self.find_by_alias(name) | ||||||
|  |       return nil if name.to_s.empty? | ||||||
|       name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase]) |       name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase]) | ||||||
|     end |     end | ||||||
|  |  | ||||||
| @@ -240,6 +242,7 @@ module Linguist | |||||||
|     # |     # | ||||||
|     # Returns the Language or nil if none was found. |     # Returns the Language or nil if none was found. | ||||||
|     def self.[](name) |     def self.[](name) | ||||||
|  |       return nil if name.to_s.empty? | ||||||
|       name && (@index[name.downcase] || @index[name.split(',').first.downcase]) |       name && (@index[name.downcase] || @index[name.split(',').first.downcase]) | ||||||
|     end |     end | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2934,6 +2934,7 @@ Ruby: | |||||||
|   - .pryrc |   - .pryrc | ||||||
|   - Appraisals |   - Appraisals | ||||||
|   - Berksfile |   - Berksfile | ||||||
|  |   - Brewfile | ||||||
|   - Buildfile |   - Buildfile | ||||||
|   - Deliverfile |   - Deliverfile | ||||||
|   - Fastfile |   - Fastfile | ||||||
| @@ -3718,7 +3719,9 @@ YAML: | |||||||
|   - .yml |   - .yml | ||||||
|   - .reek |   - .reek | ||||||
|   - .rviz |   - .rviz | ||||||
|  |   - .syntax | ||||||
|   - .yaml |   - .yaml | ||||||
|  |   - .yaml-tmlanguage | ||||||
|   ace_mode: yaml |   ace_mode: yaml | ||||||
|  |  | ||||||
| Yacc: | Yacc: | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ module Linguist | |||||||
|   module Strategy |   module Strategy | ||||||
|     class Modeline |     class Modeline | ||||||
|       EmacsModeline = /-\*-\s*(?:(?!mode)[\w-]+\s*:\s*(?:[\w+-]+)\s*;?\s*)*(?:mode\s*:)?\s*([\w+-]+)\s*(?:;\s*(?!mode)[\w-]+\s*:\s*[\w+-]+\s*)*;?\s*-\*-/i |       EmacsModeline = /-\*-\s*(?:(?!mode)[\w-]+\s*:\s*(?:[\w+-]+)\s*;?\s*)*(?:mode\s*:)?\s*([\w+-]+)\s*(?:;\s*(?!mode)[\w-]+\s*:\s*[\w+-]+\s*)*;?\s*-\*-/i | ||||||
|       VimModeline = /vim:\s*set\s*(?:ft|filetype)=(\w+):/i |       VimModeline = /vim:\s*set.*\s(?:ft|filetype)=(\w+)\s?.*:/i | ||||||
|  |  | ||||||
|       # Public: Detects language based on Vim and Emacs modelines |       # Public: Detects language based on Vim and Emacs modelines | ||||||
|       # |       # | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| module Linguist | module Linguist | ||||||
|   VERSION = "4.5.11" |   VERSION = "4.5.13" | ||||||
| end | end | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								samples/Ruby/filenames/Brewfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								samples/Ruby/filenames/Brewfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | tap 'caskroom/cask' | ||||||
|  | tap 'telemachus/brew', 'https://telemachus@bitbucket.org/telemachus/brew.git' | ||||||
|  | brew 'emacs', args: ['with-cocoa', 'with-gnutls'] | ||||||
|  | brew 'redis', restart_service: true | ||||||
|  | brew 'mongodb' | ||||||
|  | brew 'sphinx' | ||||||
|  | brew 'imagemagick' | ||||||
|  | brew 'mysql' | ||||||
|  | cask 'google-chrome' | ||||||
							
								
								
									
										38
									
								
								samples/YAML/Ansible.YAML-tmLanguage
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								samples/YAML/Ansible.YAML-tmLanguage
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | # [PackageDev] target_format: plist, ext: tmLanguage | ||||||
|  | --- | ||||||
|  | name: Ansible | ||||||
|  | scopeName: source.ansible | ||||||
|  | fileTypes: [] | ||||||
|  | uuid: 787ae642-b4ae-48b1-94e9-f935bec43a8f | ||||||
|  |  | ||||||
|  | patterns: | ||||||
|  | - name: comment.line.number-sign.ansible | ||||||
|  |   match: (?:^ *|\G *)((#).*) | ||||||
|  |   captures: | ||||||
|  |     '1': {name: comment.line.number-sign.ansible} | ||||||
|  |     '2': {name: punctuation.definition.comment.line.ansible} | ||||||
|  |  | ||||||
|  | - name: storage.type.ansible | ||||||
|  |   match: (\{\{ *[^\{\}]+ *\}\})|(\$\{[^\{\}]+\}) | ||||||
|  |  | ||||||
|  | - name: keyword.other.ansible | ||||||
|  |   match: \- (name\:|include\:) (.*)|(^(- |\s*)\w+\:) | ||||||
|  |   captures: | ||||||
|  |     '2': {name: string.quoted.double.ansible} | ||||||
|  |  | ||||||
|  | - name: variable.complex.ansible | ||||||
|  |   contentName: string.other.ansible | ||||||
|  |   begin: (\w+)(=)\"? | ||||||
|  |   beginCaptures: | ||||||
|  |     '1': {name: entity.other.attribute-name.ansible} | ||||||
|  |     '2': {name: text} | ||||||
|  |   end: \"?\s | ||||||
|  |   patterns: | ||||||
|  |     - include: $self | ||||||
|  |     - name: constant.other.ansible | ||||||
|  |       match: . | ||||||
|  |  | ||||||
|  | - name: string.quoted.double.ansible | ||||||
|  |   match: ^(\[[0-9a-zA-Z_-]+(((\:)children)*)\]) | ||||||
|  |   captures: | ||||||
|  |     '2': {name: variable.parameter.ansible} | ||||||
							
								
								
									
										16
									
								
								samples/YAML/source.r-console.syntax
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								samples/YAML/source.r-console.syntax
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | ---  | ||||||
|  | name: R Console | ||||||
|  | fileTypes: [] | ||||||
|  |  | ||||||
|  | scopeName: source.r-console | ||||||
|  | uuid: F629C7F3-823B-4A4C-8EEE-9971490C5710 | ||||||
|  | patterns:  | ||||||
|  | - name: source.r.embedded.r-console | ||||||
|  |   begin: "^> " | ||||||
|  |   beginCaptures:  | ||||||
|  |     "0":  | ||||||
|  |       name: punctuation.section.embedded.r-console | ||||||
|  |   end: \n|\z | ||||||
|  |   patterns:  | ||||||
|  |   - include: source.r | ||||||
|  | keyEquivalent: ^~R | ||||||
							
								
								
									
										3
									
								
								test/fixtures/Data/Modelines/ruby2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								test/fixtures/Data/Modelines/ruby2
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | /* vim: set ts=8 sw=4 filetype=ruby tw=0: */ | ||||||
|  |  | ||||||
|  | # Please help how do I into setting vim modlines | ||||||
							
								
								
									
										3
									
								
								test/fixtures/Data/Modelines/ruby3
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								test/fixtures/Data/Modelines/ruby3
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | /* vim: set ft=ruby ts=8 sw=4 tw=0: */ | ||||||
|  |  | ||||||
|  | # I am not good at humor | ||||||
| @@ -275,6 +275,12 @@ class TestLanguage < Minitest::Test | |||||||
|     assert_equal Language['Rust'], Language.find_by_alias('rust,no_run') |     assert_equal Language['Rust'], Language.find_by_alias('rust,no_run') | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   def test_doesnt_blow_up_with_blank_lookup | ||||||
|  |     assert_equal nil, Language.find_by_alias('') | ||||||
|  |     assert_equal nil, Language.find_by_name(nil) | ||||||
|  |     assert_equal nil, Language[""] | ||||||
|  |   end | ||||||
|  |  | ||||||
|   def test_name |   def test_name | ||||||
|     assert_equal 'Perl',   Language['Perl'].name |     assert_equal 'Perl',   Language['Perl'].name | ||||||
|     assert_equal 'Python', Language['Python'].name |     assert_equal 'Python', Language['Python'].name | ||||||
|   | |||||||
| @@ -9,6 +9,8 @@ class TestModelines < Minitest::Test | |||||||
|  |  | ||||||
|   def test_modeline_strategy |   def test_modeline_strategy | ||||||
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby") |     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby") | ||||||
|  |     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby2") | ||||||
|  |     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby3") | ||||||
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplus") |     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplus") | ||||||
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1") |     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1") | ||||||
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2") |     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2") | ||||||
| @@ -27,6 +29,8 @@ class TestModelines < Minitest::Test | |||||||
|  |  | ||||||
|   def test_modeline_languages |   def test_modeline_languages | ||||||
|     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby").language |     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby").language | ||||||
|  |     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby2").language | ||||||
|  |     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby3").language | ||||||
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplus").language |     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplus").language | ||||||
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1").language |     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1").language | ||||||
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2").language |     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2").language | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/grammars/Elm.tmLanguage
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/Elm.tmLanguage
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Elm.tmLanguage updated: 8137f5a48c...e9fda7c70f
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/InnoSetup
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/InnoSetup
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/InnoSetup updated: e7ca1ee0dd...3906a8d2fb
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/factor
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/factor
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/factor updated: abb8bd74b9...4962151111
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/haxe-sublime-bundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/haxe-sublime-bundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/haxe-sublime-bundle updated: c1ef469bf3...102acf66b9
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/language-javascript
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/language-javascript
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/language-javascript updated: 2766ff3052...1aaf2ff8ef
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/llvm.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/llvm.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/llvm.tmbundle updated: 9e3705a6e2...203c955af9
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/php.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/php.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/php.tmbundle updated: 1cba1ac4a9...baad875878
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/sublime-better-typescript
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/sublime-better-typescript
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/sublime-better-typescript updated: 8c0bd800d9...8266c06aab
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/vue-syntax-highlight
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/vue-syntax-highlight
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/vue-syntax-highlight updated: b98484e787...7d35a53e7e
									
								
							
		Reference in New Issue
	
	Block a user