mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Support for .pro INI files (KiCad project files)
Update the heuristic for .pro to include both INI and QMake files Fixes #2116
This commit is contained in:
		| @@ -107,10 +107,14 @@ module Linguist | ||||
|       end | ||||
|     end | ||||
|  | ||||
|     disambiguate "IDL", "Prolog" do |data| | ||||
|     disambiguate "IDL", "Prolog", "INI", "QMake" do |data| | ||||
|       if data.include?(":-") | ||||
|         Language["Prolog"] | ||||
|       else | ||||
|       elsif data.include?("last_client=") | ||||
|         Language["INI"] | ||||
|       elsif data.include?("HEADERS") && data.include?("SOURCES") | ||||
|         Language["QMake"] | ||||
|       elsif /^\s*function[ \w,]+$/.match(data) | ||||
|         Language["IDL"] | ||||
|       end | ||||
|     end | ||||
|   | ||||
| @@ -1311,6 +1311,7 @@ INI: | ||||
|   - .ini | ||||
|   - .cfg | ||||
|   - .prefs | ||||
|   - .pro | ||||
|   - .properties | ||||
|   tm_scope: source.ini | ||||
|   aliases: | ||||
|   | ||||
							
								
								
									
										71
									
								
								samples/INI/MouseKeyboard.pro
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								samples/INI/MouseKeyboard.pro
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| update=Sun 15 Feb 2015 01:10:10 PM EST | ||||
| last_client=eeschema | ||||
| [pcbnew] | ||||
| version=1 | ||||
| PageLayoutDescrFile= | ||||
| LastNetListRead= | ||||
| UseCmpFile=1 | ||||
| PadDrill=0.6 | ||||
| PadDrillOvalY=0.6 | ||||
| PadSizeH=1.5 | ||||
| PadSizeV=1.5 | ||||
| PcbTextSizeV=1.5 | ||||
| PcbTextSizeH=1.5 | ||||
| PcbTextThickness=0.3 | ||||
| ModuleTextSizeV=1 | ||||
| ModuleTextSizeH=1 | ||||
| ModuleTextSizeThickness=0.15 | ||||
| SolderMaskClearance=0 | ||||
| SolderMaskMinWidth=0 | ||||
| DrawSegmentWidth=0.2 | ||||
| BoardOutlineThickness=0.09999999999999999 | ||||
| ModuleOutlineThickness=0.15 | ||||
| [pcbnew/libraries] | ||||
| LibDir= | ||||
| [general] | ||||
| version=1 | ||||
| [eeschema] | ||||
| version=1 | ||||
| PageLayoutDescrFile= | ||||
| SubpartIdSeparator=0 | ||||
| SubpartFirstId=65 | ||||
| LibDir=/home/hschmale/KiCad/LibMods-3rdParty | ||||
| NetFmtName= | ||||
| RptD_X=0 | ||||
| RptD_Y=100 | ||||
| RptLab=1 | ||||
| LabSize=60 | ||||
| [eeschema/libraries] | ||||
| LibName1=power | ||||
| LibName2=device | ||||
| LibName3=transistors | ||||
| LibName4=conn | ||||
| LibName5=linear | ||||
| LibName6=regul | ||||
| LibName7=74xx | ||||
| LibName8=cmos4000 | ||||
| LibName9=adc-dac | ||||
| LibName10=memory | ||||
| LibName11=xilinx | ||||
| LibName12=special | ||||
| LibName13=microcontrollers | ||||
| LibName14=dsp | ||||
| LibName15=microchip | ||||
| LibName16=analog_switches | ||||
| LibName17=motorola | ||||
| LibName18=texas | ||||
| LibName19=intel | ||||
| LibName20=audio | ||||
| LibName21=interface | ||||
| LibName22=digital-audio | ||||
| LibName23=philips | ||||
| LibName24=display | ||||
| LibName25=cypress | ||||
| LibName26=siliconi | ||||
| LibName27=opto | ||||
| LibName28=atmel | ||||
| LibName29=contrib | ||||
| LibName30=valves | ||||
| LibName31=arduino_shieldsNCL | ||||
| LibName32=con-usb-2 | ||||
| LibName33=2axispotwselect | ||||
| @@ -60,11 +60,13 @@ class TestHeuristcs < Minitest::Test | ||||
|     }) | ||||
|   end | ||||
|  | ||||
|   # Candidate languages = ["IDL", "Prolog"] | ||||
|   def test_pro_prolog_idl_by_heuristics | ||||
|   # Candidate languages = ["IDL", "Prolog", "QMake", "INI"] | ||||
|   def test_pro_by_heuristics | ||||
|     assert_heuristics({ | ||||
|       "Prolog" => "Prolog/logic-problem.pro", | ||||
|       "IDL" => "IDL/mg_acosh.pro" | ||||
|       "Prolog" => all_fixtures("Prolog", "*.pro"), | ||||
|       "IDL" => all_fixtures("IDL", "*.pro"), | ||||
|       "INI" => all_fixtures("INI", "*.pro"), | ||||
|       "QMake" => all_fixtures("QMake", "*.pro") | ||||
|     }) | ||||
|   end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user