mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Add Language#lexer
This commit is contained in:
		| @@ -44,15 +44,20 @@ module Linguist | |||||||
|       find_by_extension(ext) |       find_by_extension(ext) | ||||||
|     end |     end | ||||||
|  |  | ||||||
|     attr_reader :name, :extensions |  | ||||||
|  |  | ||||||
|     def initialize(attributes = {}) |     def initialize(attributes = {}) | ||||||
|       @name       = attributes[:name] || raise(ArgumentError, "missing name") |       @name       = attributes[:name] || raise(ArgumentError, "missing name") | ||||||
|  |       @lexer      = attributes[:lexer] || default_lexer | ||||||
|       @extensions = attributes[:extensions] || [] |       @extensions = attributes[:extensions] || [] | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  |     attr_reader :name, :lexer, :extensions | ||||||
|  |  | ||||||
|  |     def default_lexer | ||||||
|  |       name.downcase.gsub(/\s/, '-') | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   YAML.load_file(File.expand_path("../extensions.yml", __FILE__)).each do |name, options| |   YAML.load_file(File.expand_path("../extensions.yml", __FILE__)).each do |name, options| | ||||||
|     Language.create(:name => name, :extensions => options[:ext]) |     Language.create(:name => name, :lexer => options[:lexer], :extensions => options[:ext]) | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -44,6 +44,13 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   def test_lexer | ||||||
|  |     assert_equal 'perl',   Language['Perl'].lexer | ||||||
|  |     assert_equal 'python', Language['Python'].lexer | ||||||
|  |     assert_equal 'ruby',   Language['Ruby'].lexer | ||||||
|  |     assert_equal 'cpp',    Language['C++'].lexer | ||||||
|  |   end | ||||||
|  |  | ||||||
|   def test_extensions |   def test_extensions | ||||||
|     assert Language['Perl'].extensions.include?('.pl') |     assert Language['Perl'].extensions.include?('.pl') | ||||||
|     assert Language['Python'].extensions.include?('.py') |     assert Language['Python'].extensions.include?('.py') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user