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:
Paul Chaignon
2015-02-22 19:33:06 +01:00
parent ad9a2d231e
commit e592381a54
4 changed files with 84 additions and 6 deletions

View File

@@ -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

View File

@@ -1311,6 +1311,7 @@ INI:
- .ini
- .cfg
- .prefs
- .pro
- .properties
tm_scope: source.ini
aliases:

View 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

View File

@@ -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