mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-12-08 12:28:47 +00:00
Merge pull request #1604 from geoff-codes/#!--"
Comment styles; don't choke on `#!/usr/bin/env foo=bar`
This commit is contained in:
@@ -2930,6 +2930,7 @@ Shell:
|
||||
- .fcgi
|
||||
- .ksh
|
||||
- .tmux
|
||||
- .tool
|
||||
- .zsh
|
||||
interpreters:
|
||||
- bash
|
||||
|
||||
@@ -22,8 +22,10 @@ module Linguist
|
||||
# Start state on token, ignore anything till the next newline
|
||||
SINGLE_LINE_COMMENTS = [
|
||||
'//', # C
|
||||
'--', # Ada, Haskell, AppleScript
|
||||
'#', # Ruby
|
||||
'%', # Tex
|
||||
'"', # Vim
|
||||
]
|
||||
|
||||
# Start state on opening token, ignore anything until the closing
|
||||
@@ -130,6 +132,9 @@ module Linguist
|
||||
# extract_shebang("#!/usr/bin/env node")
|
||||
# # => "node"
|
||||
#
|
||||
# extract_shebang("#!/usr/bin/env A=B foo=bar awk -f")
|
||||
# # => "awk"
|
||||
#
|
||||
# Returns String token or nil it couldn't be parsed.
|
||||
def extract_shebang(data)
|
||||
s = StringScanner.new(data)
|
||||
@@ -138,6 +143,7 @@ module Linguist
|
||||
script = path.split('/').last
|
||||
if script == 'env'
|
||||
s.scan(/\s+/)
|
||||
s.scan(/.*=[^\s]+\s+/)
|
||||
script = s.scan(/\S+/)
|
||||
end
|
||||
script = script[/[^\d]+/, 0] if script
|
||||
|
||||
Reference in New Issue
Block a user