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