Merge branch 'master' into reworking-documentation-paths

This commit is contained in:
Arfon Smith
2015-08-11 09:10:08 +01:00
20 changed files with 96 additions and 11 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -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
#

View File

@@ -1,3 +1,3 @@
module Linguist
VERSION = "4.5.11"
VERSION = "4.5.13"
end

View 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'

View 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}

View 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
View 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
View File

@@ -0,0 +1,3 @@
/* vim: set ft=ruby ts=8 sw=4 tw=0: */
# I am not good at humor

View File

@@ -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

View File

@@ -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