mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	A Language should know about it's language_id
This commit is contained in:
		| @@ -289,6 +289,9 @@ module Linguist | |||||||
|       # Set legacy search term |       # Set legacy search term | ||||||
|       @search_term = attributes[:search_term] || default_alias_name |       @search_term = attributes[:search_term] || default_alias_name | ||||||
|  |  | ||||||
|  |       # Set the language_id  | ||||||
|  |       @language_id = attributes[:language_id] | ||||||
|  |  | ||||||
|       # Set extensions or default to []. |       # Set extensions or default to []. | ||||||
|       @extensions = attributes[:extensions] || [] |       @extensions = attributes[:extensions] || [] | ||||||
|       @interpreters = attributes[:interpreters]   || [] |       @interpreters = attributes[:interpreters]   || [] | ||||||
| @@ -351,6 +354,17 @@ module Linguist | |||||||
|     # Returns the name String |     # Returns the name String | ||||||
|     attr_reader :search_term |     attr_reader :search_term | ||||||
|  |  | ||||||
|  |     # Public: Get language_id (used in GitHub search) | ||||||
|  |     # | ||||||
|  |     # Examples | ||||||
|  |     # | ||||||
|  |     #   # => "1" | ||||||
|  |     #   # => "2" | ||||||
|  |     #   # => "3" | ||||||
|  |     # | ||||||
|  |     # Returns the integer language_id | ||||||
|  |     attr_reader :language_id | ||||||
|  |  | ||||||
|     # Public: Get the name of a TextMate-compatible scope |     # Public: Get the name of a TextMate-compatible scope | ||||||
|     # |     # | ||||||
|     # Returns the scope |     # Returns the scope | ||||||
| @@ -547,6 +561,7 @@ module Linguist | |||||||
|       :group_name        => options['group'], |       :group_name        => options['group'], | ||||||
|       :searchable        => options.fetch('searchable', true), |       :searchable        => options.fetch('searchable', true), | ||||||
|       :search_term       => options['search_term'], |       :search_term       => options['search_term'], | ||||||
|  |       :language_id       => options['language_id'], | ||||||
|       :extensions        => Array(options['extensions']), |       :extensions        => Array(options['extensions']), | ||||||
|       :interpreters      => options['interpreters'].sort, |       :interpreters      => options['interpreters'].sort, | ||||||
|       :filenames         => options['filenames'], |       :filenames         => options['filenames'], | ||||||
|   | |||||||
| @@ -386,6 +386,14 @@ class TestLanguage < Minitest::Test | |||||||
|     assert missing.empty?, message |     assert missing.empty?, message | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   def test_all_languages_have_a_language_id_set | ||||||
|  |     missing = Language.all.select { |language| language.language_id.nil? } | ||||||
|  |  | ||||||
|  |     message = "The following languages do not have a language_id listed in languages.yml. Please add language_id fields for all new languages.\n" | ||||||
|  |     missing.each { |language| message << "#{language.name}\n" } | ||||||
|  |     assert missing.empty?, message | ||||||
|  |   end | ||||||
|  |  | ||||||
|   def test_all_languages_have_a_valid_ace_mode |   def test_all_languages_have_a_valid_ace_mode | ||||||
|     ace_fixture_path = File.join('test', 'fixtures', 'ace_modes.json') |     ace_fixture_path = File.join('test', 'fixtures', 'ace_modes.json') | ||||||
|     skip("No ace_modes.json file") unless File.exist?(ace_fixture_path) |     skip("No ace_modes.json file") unless File.exist?(ace_fixture_path) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user