You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kate/data/makefile.xml

218 lines
9.9 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- Makefile syntaxfile v0.9 by Per Wigren <wigren@home.se> -->
<!-- Modified by Joseph Wenninger <jowenn@kde.org> -->
<!-- Modified by Rui Santana <santana.rui@gmail.com> -->
<!-- v2.0 by Andreas Nordal <andreas.nordal@gmail.com> -->
<!-- small priority to allow for example Makefile.cpp to be detected as cpp file -->
<!-- v2.1 by Alex Turbov <i.zaufi@gmail.com>
improve comments handling -->
<language name="Makefile" section="Other"
version="2.1" kateversion="2.4"
extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk"
mimetype="text/x-makefile"
author="Per Wigren (wigren@home.se)" license="">
<highlighting>
<list name = "keywords">
<item> include </item>
<item> define </item>
<item> else </item>
<item> endef </item>
<item> endif </item>
<item> ifdef </item>
<item> ifeq </item>
<item> ifndef </item>
<item> ifneq </item>
<item> override </item>
</list>
<list name = "functions">
<item> call </item>
<item> subst </item>
<item> patsubst </item>
<item> strip </item>
<item> findstring </item>
<item> filter </item>
<item> filter-out </item>
<item> sort </item>
<item> word </item>
<item> wordlist </item>
<item> words </item>
<item> firstword </item>
<item> lastword </item>
<item> dir </item>
<item> notdir </item>
<item> suffix </item>
<item> basename </item>
<item> addsuffix </item>
<item> addprefix </item>
<item> join </item>
<item> wildcard </item>
<item> realpath </item>
<item> abspath </item>
<item> if </item>
<item> or </item>
<item> and </item>
<item> foreach </item>
<item> value </item>
<item> eval </item>
<item> origin </item>
<item> flavor </item>
<item> shell </item>
<item> error </item>
<item> warning </item>
<item> info </item>
</list>
<contexts>
<context name="normal" attribute="Normal" lineEndContext="#stay">
<DetectSpaces/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<RegExpr attribute="Variable" context="assign" String="[^\s:+?]*\s*(?=:=|=|\+=|\?=)"/>
<RegExpr attribute="Section" context="prereq" String="^\.[^.][^:]*:"/>
<RegExpr attribute="Target" context="prereq" String="^[^:]*:"/>
<DetectIdentifier/>
<DetectChar attribute="String" context="string&quot;" char="&quot;"/>
<DetectChar attribute="String" context="string'" char="'"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
<AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>
</context>
<context name="prereq" attribute="Prereq" lineEndContext="rule">
<DetectSpaces/>
<DetectIdentifier/>
<LineContinue attribute="Operator" context="#stay"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
</context>
<context name="rule" attribute="Normal" lineEndContext="#stay">
<LineContinue attribute="Operator" context="#stay"/>
<!-- pop if there is a leading non-tab,
and in particular, mark leading spaces as errors -->
<RegExpr attribute="Error" context="#pop#pop#pop" String="^ +" firstNonSpace="1"/>
<RegExpr context="#pop#pop#pop" String="^[^\t]" lookAhead="1" firstNonSpace="1"/>
<DetectSpaces/>
<DetectIdentifier/>
<DetectChar attribute="String" context="string&quot;" char="&quot;"/>
<DetectChar attribute="String" context="string'" char="'"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
<AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
</context>
<context name="silent" attribute="Silent" lineEndContext="#pop">
<LineContinue attribute="Operator" context="#stay"/>
<DetectSpaces/>
<DetectIdentifier/>
<DetectChar attribute="String" context="string&quot;" char="&quot;"/>
<DetectChar attribute="String" context="string'" char="'"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
</context>
<context name="string&quot;" attribute="String" lineEndContext="#pop">
<LineContinue attribute="Operator" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
</context>
<context name="string'" attribute="String" lineEndContext="#pop">
<LineContinue attribute="String" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="'"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
</context>
<context name="assign" attribute="Operator" lineEndContext="#pop">
<DetectChar attribute="Operator" context="value" char="="/>
</context>
<context name="value" attribute="String" lineEndContext="#pop#pop">
<LineContinue attribute="Operator"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<RegExpr attribute="Special" context="#pop#pop" String="@[-_\d\w]*@"/>
<DetectChar attribute="Operator" char=";" context="#pop#pop"/>
</context>
<context name="dollar" attribute="Operator" lineEndContext="#pop">
<DetectChar attribute="Operator" context="call(" char="("/>
<DetectChar attribute="Operator" context="call{" char="{"/>
<RegExpr attribute="Operator" context="#pop" String="."/>
</context>
<context name="call(" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar(" fallthrough="1">
<keyword attribute="Keyword" context="callFunc(" String="functions"/>
</context>
<context name="call{" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar{" fallthrough="1">
<keyword attribute="Keyword" context="callFunc{" String="functions"/>
</context>
<context name="callVar(" attribute="Variable" lineEndContext="#stay">
<DetectChar attribute="Operator" char=")" context="#pop#pop#pop"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<DetectSpaces attribute="Error" context="#stay"/>
<AnyChar attribute="Error" context="#stay" String="=#:"/>
</context>
<context name="callVar{" attribute="Variable" lineEndContext="#stay">
<DetectChar attribute="Operator" char="}" context="#pop#pop#pop"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<DetectSpaces attribute="Error" context="#stay"/>
<AnyChar attribute="Error" context="#stay" String="=#:"/>
</context>
<context name="callFunc(" attribute="FuncParam" lineEndContext="#stay">
<DetectChar attribute="Operator" char=")" context="#pop#pop#pop"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<DetectChar attribute="Keyword" context="#stay" char=","/>
<DetectChar attribute="String" context="string'" char="'"/>
</context>
<context name="callFunc{" attribute="FuncParam" lineEndContext="#stay">
<DetectChar attribute="Operator" char="}" context="#pop#pop#pop"/>
<DetectChar attribute="Operator" context="dollar" char="$"/>
<DetectChar attribute="Keyword" context="#stay" char=","/>
<DetectChar attribute="String" context="string'" char="'"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<LineContinue attribute="Comment" context="#stay" />
<IncludeRules context="##Alerts" />
<IncludeRules context="##Modelines" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal" spellChecking="0"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="String" defStyleNum="dsString" spellChecking="0"/>
<itemData name="Variable" defStyleNum="dsDataType" spellChecking="0"/>
<itemData name="Target" defStyleNum="dsDecVal" spellChecking="0"/>
<itemData name="Section" defStyleNum="dsOthers" spellChecking="0"/>
<itemData name="Prereq" defStyleNum="dsDataType" spellChecking="0"/>
<itemData name="FuncParam" defStyleNum="dsString" spellChecking="0"/>
<itemData name="Operator" defStyleNum="dsChar" spellChecking="0"/>
<itemData name="Silent" defStyleNum="dsFunction" spellChecking="0"/>
<itemData name="Special" defStyleNum="dsFloat" spellChecking="0"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="0"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name = "singleLine" start = "#"/>
</comments>
<!-- '-' is not a deliminator in function filter-out -->
<keywords casesensitive="1" weakDeliminator = "-"/>
</general>
</language>