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