mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Detect KiCAD module files as generated
This commit is contained in:
		| @@ -68,7 +68,8 @@ module Linguist | |||||||
|       generated_protocol_buffer_go? || |       generated_protocol_buffer_go? || | ||||||
|       generated_protocol_buffer? || |       generated_protocol_buffer? || | ||||||
|       generated_jni_header? || |       generated_jni_header? || | ||||||
|       vcr_cassette? |       vcr_cassette? || | ||||||
|  |       generated_kicad_module? | ||||||
|     end |     end | ||||||
|  |  | ||||||
|     # Internal: Is the blob an Xcode file? |     # Internal: Is the blob an Xcode file? | ||||||
| @@ -311,5 +312,18 @@ module Linguist | |||||||
|       return false unless lines.count > 1 |       return false unless lines.count > 1 | ||||||
|       return lines[0].include?("Generated by Cython") |       return lines[0].include?("Generated by Cython") | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  |     # Internal: Is it a KiCAD module file? | ||||||
|  |     # | ||||||
|  |     # KiCAD module files contain: | ||||||
|  |     # PCBNEW-LibModule-V1  yyyy-mm-dd h:mm:ss XM | ||||||
|  |     # on the first line. | ||||||
|  |     # | ||||||
|  |     # Return true of false | ||||||
|  |     def generated_kicad_module? | ||||||
|  |       return false unless extname == '.mod' | ||||||
|  |       return false unless lines.count > 1 | ||||||
|  |       return lines[0].include?("PCBNEW-LibModule-V") | ||||||
|  |     end | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
							
								
								
									
										50
									
								
								test/fixtures/Generated/ABM8G.mod
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								test/fixtures/Generated/ABM8G.mod
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | |||||||
|  | PCBNEW-LibModule-V1  Wed 10 Aug 2011 05:57:27 PM COT | ||||||
|  | # encoding utf-8 | ||||||
|  | $INDEX | ||||||
|  | ABM8G | ||||||
|  | $EndINDEX | ||||||
|  | $MODULE ABM8G | ||||||
|  | Po 0 0 0 15 4E430CBD 4E430CC5 ~~ | ||||||
|  | Li ABM8G | ||||||
|  | Sc 4E430CC5 | ||||||
|  | AR  | ||||||
|  | Op 0 0 0 | ||||||
|  | T0 591 -1378 354 354 0 39 N V 21 N "ABM8G" | ||||||
|  | T1 0 787 354 354 0 39 N V 21 N "VAL**" | ||||||
|  | DS -591 394 1299 394 79 21 | ||||||
|  | DS 1299 394 1299 -1063 79 21 | ||||||
|  | DS 1299 -1063 -472 -1063 79 21 | ||||||
|  | DS -472 -1063 -472 472 79 21 | ||||||
|  | DS -472 472 -472 551 79 21 | ||||||
|  | DS -472 551 -591 551 79 21 | ||||||
|  | DS -591 551 -591 433 79 21 | ||||||
|  | $PAD | ||||||
|  | Sh "1" R 551 472 0 0 0 | ||||||
|  | Dr 0 0 0 | ||||||
|  | At SMD N 00888000 | ||||||
|  | Ne 0 "" | ||||||
|  | Po 0 0 | ||||||
|  | $EndPAD | ||||||
|  | $PAD | ||||||
|  | Sh "2" R 551 472 0 0 0 | ||||||
|  | Dr 0 0 0 | ||||||
|  | At SMD N 00888000 | ||||||
|  | Ne 0 "" | ||||||
|  | Po 866 0 | ||||||
|  | $EndPAD | ||||||
|  | $PAD | ||||||
|  | Sh "3" R 551 472 0 0 0 | ||||||
|  | Dr 0 0 0 | ||||||
|  | At SMD N 00888000 | ||||||
|  | Ne 0 "" | ||||||
|  | Po 866 -669 | ||||||
|  | $EndPAD | ||||||
|  | $PAD | ||||||
|  | Sh "4" R 551 472 0 0 0 | ||||||
|  | Dr 0 0 0 | ||||||
|  | At SMD N 00888000 | ||||||
|  | Ne 0 "" | ||||||
|  | Po 0 -669 | ||||||
|  | $EndPAD | ||||||
|  | $EndMODULE  ABM8G | ||||||
|  | $EndLIBRARY | ||||||
| @@ -243,6 +243,9 @@ class TestBlob < Minitest::Test | |||||||
|     # Cython-generated C/C++ |     # Cython-generated C/C++ | ||||||
|     assert sample_blob("C/sgd_fast.c").generated? |     assert sample_blob("C/sgd_fast.c").generated? | ||||||
|     assert sample_blob("C++/wrapper_inner.cpp").generated? |     assert sample_blob("C++/wrapper_inner.cpp").generated? | ||||||
|  |  | ||||||
|  |     # KiCAD module files | ||||||
|  |     assert fixture_blob("Generated/ABM8G.mod").generated? | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_vendored |   def test_vendored | ||||||
| @@ -536,6 +539,8 @@ class TestBlob < Minitest::Test | |||||||
|         blob = fixture_blob(filepath) |         blob = fixture_blob(filepath) | ||||||
|         if language == 'Data' |         if language == 'Data' | ||||||
|           assert blob.language.nil?, "A language was found for #{filepath}" |           assert blob.language.nil?, "A language was found for #{filepath}" | ||||||
|  |         elsif language == 'Generated' | ||||||
|  |           assert blob.generated?, "#{filepath} is not a generated file" | ||||||
|         else |         else | ||||||
|           assert blob.language, "No language for #{filepath}" |           assert blob.language, "No language for #{filepath}" | ||||||
|           assert_equal language, blob.language.name, blob.name |           assert_equal language, blob.language.name, blob.name | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user