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.
|
||||
def self.find_by_name(name)
|
||||
return nil if name.to_s.empty?
|
||||
name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase])
|
||||
end
|
||||
|
||||
@@ -164,6 +165,7 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.find_by_alias(name)
|
||||
return nil if name.to_s.empty?
|
||||
name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase])
|
||||
end
|
||||
|
||||
@@ -240,6 +242,7 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.[](name)
|
||||
return nil if name.to_s.empty?
|
||||
name && (@index[name.downcase] || @index[name.split(',').first.downcase])
|
||||
end
|
||||
|
||||
|
||||
@@ -2934,6 +2934,7 @@ Ruby:
|
||||
- .pryrc
|
||||
- Appraisals
|
||||
- Berksfile
|
||||
- Brewfile
|
||||
- Buildfile
|
||||
- Deliverfile
|
||||
- Fastfile
|
||||
@@ -3718,7 +3719,9 @@ YAML:
|
||||
- .yml
|
||||
- .reek
|
||||
- .rviz
|
||||
- .syntax
|
||||
- .yaml
|
||||
- .yaml-tmlanguage
|
||||
ace_mode: yaml
|
||||
|
||||
Yacc:
|
||||
|
||||
@@ -2,7 +2,7 @@ module Linguist
|
||||
module Strategy
|
||||
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
|
||||
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
|
||||
#
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module Linguist
|
||||
VERSION = "4.5.11"
|
||||
VERSION = "4.5.13"
|
||||
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')
|
||||
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
|
||||
assert_equal 'Perl', Language['Perl'].name
|
||||
assert_equal 'Python', Language['Python'].name
|
||||
|
||||
@@ -9,6 +9,8 @@ class TestModelines < Minitest::Test
|
||||
|
||||
def test_modeline_strategy
|
||||
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/seeplusplusEmacs1")
|
||||
assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2")
|
||||
@@ -27,6 +29,8 @@ class TestModelines < Minitest::Test
|
||||
|
||||
def test_modeline_languages
|
||||
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/seeplusplusEmacs1").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