Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix shebang regex in Python lexer #1172

Merged
merged 2 commits into from
Jun 17, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Fix shebang regex in Python lexer
The Python lexer only supported minor version numbers for shebangs
involving `python2`. Minor versions of Python 3 should also be included.
This commit corrects that problem and supports minor version numbers
higher than 9. This fixes #945.
  • Loading branch information
pyrmont committed Jun 12, 2019
commit 87f302b7da775aa4068bd2bb5ce9c24dd01d67e0
2 changes: 1 addition & 1 deletion lib/rouge/lexers/python.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class Python < RegexLexer
mimetypes 'text/x-python', 'application/x-python'

def self.detect?(text)
return true if text.shebang?(/pythonw?(3|2(\.\d)?)?/)
return true if text.shebang?(/pythonw?(?:[23](?:\.\d+)?)?$/)
end

def self.keywords
Expand Down
4 changes: 3 additions & 1 deletion spec/lexers/python_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@

it 'guesses by source' do
assert_guess :source => '#!/usr/bin/env python'
assert_guess :source => '#!/usr/local/bin/python3'
assert_guess :source => '#!/usr/bin/python2'
assert_guess :source => '#!/usr/bin/python2.7'
assert_guess :source => '#!/usr/local/bin/python3'
assert_guess :source => '#!/usr/local/bin/python3.5'
assert_guess :source => '#!/usr/local/bin/python3.14'
deny_guess :source => '#!/usr/bin/env python4'
end
end
Expand Down