diff options
Diffstat (limited to 'kate/data/makefile.xml')
-rw-r--r-- | kate/data/makefile.xml | 236 |
1 files changed, 151 insertions, 85 deletions
diff --git a/kate/data/makefile.xml b/kate/data/makefile.xml index c0473c958..cf4a12ded 100644 --- a/kate/data/makefile.xml +++ b/kate/data/makefile.xml @@ -3,8 +3,13 @@ <!-- 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 --> -<language name="Makefile" version="1.12" kateversion="2.4" section="Other" extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*" mimetype="text/x-makefile" author="Per Wigren (wigren@home.se)" license=""> +<language name="Makefile" section="Other" + version="2.01" kateversion="2.5" + extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*" + mimetype="text/x-makefile" + author="Per Wigren (wigren@home.se)" license=""> <highlighting> <list name = "keywords"> <item> include </item> @@ -16,128 +21,189 @@ <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> + <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 Text" lineEndContext="#stay"> + <context name="normal" attribute="Normal" lineEndContext="#stay"> + <DetectSpaces/> <keyword attribute="Keyword" context="#stay" String="keywords"/> - <RegExpr attribute="Variable" context="Value" String="[_\w\d]*\s*(?=:=|=|\+=|\?=)"/> - <RegExpr attribute="Target" context="#stay" String="[_\w\d-]*\s*:" firstNonSpace="true"/> - <RegExpr attribute="Section" context="#stay" String="^[.].*:"/> - <DetectChar attribute="String" context="String" char="""/> - <Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/> - <Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/> + <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"" char="""/> + <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="#stay" String="+*=%$():\;"/> - <AnyChar attribute="Operator" context="Commands" String="@-" firstNonSpace="true"/> + <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/> <RegExpr attribute="Comment" context="#stay" String="#.*$"/> </context> - <context attribute="String" lineEndContext="#pop" name="String"> - <LineContinue attribute="String" context="#stay"/> + <context name="prereq" attribute="Prereq" lineEndContext="rule"> + <DetectSpaces/> + <DetectIdentifier/> + <DetectChar attribute="Operator" context="dollar" char="$"/> + <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/> + <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/> + <RegExpr attribute="Comment" context="#stay" String="#.*$"/> + </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"" char="""/> + <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"/> + <RegExpr attribute="Comment" context="#stay" String="#.*$"/> + </context> + + <context name="silent" attribute="Silent" lineEndContext="#pop"> + <LineContinue attribute="Operator" context="#stay"/> + <DetectSpaces/> + <DetectIdentifier/> + <DetectChar attribute="String" context="string"" char="""/> + <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="\"/> + <RegExpr attribute="Comment" context="#stay" String="#.*$"/> + </context> + + <context name="string"" attribute="String" lineEndContext="#pop"> + <LineContinue attribute="Operator" context="#stay"/> <DetectChar attribute="String" context="#pop" char="""/> + <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"> + <context name="value" attribute="String" lineEndContext="#pop#pop"> <LineContinue attribute="Operator"/> - <Detect2Chars attribute="Operator" context="VarFromValue{" char="$" char1="{"/> - <Detect2Chars attribute="Operator" context="VarFromValue(" char="$" char1="("/> - <RegExpr attribute="Special" context="#pop" String="@[-_\d\w]*@" /> - <DetectChar attribute="Operator" char=";" context="#pop"/> + <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="VarFromValue(" attribute="Variable" lineEndContext="#stay"> - <DetectChar attribute="Operator" char=")" context="#pop"/> + <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="VarFromValue{" attribute="Variable" lineEndContext="#stay"> - <DetectChar attribute="Operator" char="}" context="#pop"/> + <context name="call(" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar(" fallthrough="1"> + <keyword attribute="Keyword" context="callFunc(" String="functions"/> </context> - <context name="VarFromNormal(" attribute="Variable" lineEndContext="#stay"> - <keyword attribute="Keyword" context="FunctionCall(" String="functions"/> - <DetectChar attribute="Operator" char=")" context="#pop"/> + <context name="call{" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar{" fallthrough="1"> + <keyword attribute="Keyword" context="callFunc{" String="functions"/> </context> - <context name="VarFromNormal{" attribute="Variable" lineEndContext="#stay"> - <keyword attribute="Keyword" context="FunctionCall{" String="functions"/> - <DetectChar attribute="Comment" char="}" context="#pop"/> + <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="FunctionCall(" attribute="String" lineEndContext="#stay"> - <Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/> - <Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/> - <DetectChar attribute="Operator" char=")" context="#pop#pop"/> + <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="FunctionCall{" attribute="String" lineEndContext="#stay"> - <Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/> - <Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/> - <DetectChar attribute="Operator" char="}" context="#pop#pop"/> + <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="Commands" attribute="Normal Text" lineEndContext="#pop"> - <Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/> - <Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/> - <RegExpr attribute="Commands" context="#pop" String="[_\w-]*\b"/> + <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> </contexts> <itemDatas> - <itemData name="Normal Text" defStyleNum="dsNormal"/> - <itemData name="Keyword" defStyleNum="dsKeyword"/> - <itemData name="Comment" defStyleNum="dsComment"/> - <itemData name="String" defStyleNum="dsString"/> - <itemData name="Variable" defStyleNum="dsDataType"/> - <itemData name="Target" defStyleNum="dsDecVal"/> - <itemData name="Section" defStyleNum="dsOthers"/> - <itemData name="Operator" defStyleNum="dsChar"/> - <itemData name="Commands" defStyleNum="dsBaseN"/> - <itemData name="Special" defStyleNum="dsFloat"/> + <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> - <keywords casesensitive = "1" /> + <!-- '-' is not a deliminator in function filter-out --> + <keywords casesensitive="1" weakDeliminator = "-"/> </general> </language> +<!-- kate: space-indent on; indent-width 2; replace-tabs on; --> |