Fancy attribute syntax handling

This commit is contained in:
numzero 2024-09-28 01:07:51 +03:00
parent 159d8f6dba
commit e5e4b72002

View File

@ -168,26 +168,36 @@
<context name="_Attributes"> <context name="_Attributes">
<keyword attribute="Known Attribute" context="#stay" String="simple_attribute" /> <keyword attribute="Known Attribute" context="#stay" String="simple_attribute" />
<keyword attribute="Known Attribute" context="AttributeArgsExpected" String="expr_attribute" /> <keyword attribute="Known Attribute" context="AttributeExprArgsExpected" String="expr_attribute" />
<keyword attribute="Known Attribute" context="AttributeArgsExpected" String="special_attribute" /> <keyword attribute="Known Attribute" context="AttributeArgsExpected" String="special_attribute" />
<DetectChar attribute="Unknown Attribute" context="Attribute" char="@" /> <DetectChar attribute="Unknown Attribute" context="UnknownAttribute" char="@" />
</context>
<context attribute="Attribute Content" lineEndContext="#stay" name="AttributeExprArgsExpected">
<DetectChar attribute="Attribute Content" context="#pop!AttributeExprArgs" char="(" />
<RegExpr attribute="Error" context="#pop" String="[^\s(]" />
</context>
<context attribute="Attribute Content" lineEndContext="#stay" name="AttributeExprArgs">
<DetectChar attribute="Attribute Content" context="AttributeExprArgs" char="(" />
<DetectChar attribute="Attribute Content" context="#pop" char=")" />
<IncludeRules context="Normal" />
</context> </context>
<context attribute="Attribute Content" lineEndContext="#stay" name="AttributeArgsExpected"> <context attribute="Attribute Content" lineEndContext="#stay" name="AttributeArgsExpected">
<DetectChar attribute="Attribute Content" context="#pop!AttributeArgs" char="(" /> <DetectChar attribute="Attribute Content" context="#pop!AttributeArgs" char="(" />
<RegExpr attribute="Error" context="#pop" String="[^\s(]" /> <RegExpr attribute="Error" context="#pop" String="[^\s(]" />
</context> </context>
<context attribute="Attribute Content" lineEndContext="#stay" name="Attribute">
<DetectIdentifier attribute="Unknown Attribute" context="#pop" />
</context>
<context attribute="Attribute Content" lineEndContext="#stay" name="AttributeArgs"> <context attribute="Attribute Content" lineEndContext="#stay" name="AttributeArgs">
<DetectChar attribute="Attribute Content" context="AttributeArgs" char="(" /> <DetectChar attribute="Error" context="#pop" char="(" />
<DetectChar attribute="Attribute Content" context="#pop" char=")" /> <DetectChar attribute="Attribute Content" context="#pop" char=")" />
<keyword attribute="Keyword Attribute Value" context="#stay" String="builtin_value_name" /> <keyword attribute="Keyword Attribute Value" context="#stay" String="builtin_value_name" />
<keyword attribute="Keyword Attribute Value" context="#stay" String="interpolation_type" /> <keyword attribute="Keyword Attribute Value" context="#stay" String="interpolation_type" />
<keyword attribute="Keyword Attribute Value" context="#stay" String="interpolation_sampling" /> <keyword attribute="Keyword Attribute Value" context="#stay" String="interpolation_sampling" />
</context> </context>
<context attribute="Unknown Attribute" lineEndContext="#stay" name="UnknownAttribute">
<DetectIdentifier attribute="Unknown Attribute" context="#pop" />
</context>
</contexts> </contexts>
<itemDatas> <itemDatas>
@ -199,7 +209,7 @@
<itemData spellChecking="false" name="Unknown Attribute" defStyleNum="dsError" /> <itemData spellChecking="false" name="Unknown Attribute" defStyleNum="dsError" />
<itemData spellChecking="false" name="Known Attribute" defStyleNum="dsAttribute" /> <itemData spellChecking="false" name="Known Attribute" defStyleNum="dsAttribute" />
<itemData spellChecking="false" name="Attribute Content" defStyleNum="dsAttribute" /> <itemData spellChecking="false" name="Attribute Content" defStyleNum="dsAttribute" />
<itemData spellChecking="false" name="Keyword Attribute Value" defStyleNum="dsAttribute" /> <itemData spellChecking="false" name="Keyword Attribute Value" defStyleNum="dsAttribute" italic="true" />
<itemData spellChecking="true" name="Comment" defStyleNum="dsComment" /> <itemData spellChecking="true" name="Comment" defStyleNum="dsComment" />
<itemData spellChecking="false" name="Decimal Integer" defStyleNum="dsDecVal" /> <itemData spellChecking="false" name="Decimal Integer" defStyleNum="dsDecVal" />
<itemData spellChecking="false" name="Hexadecimal Integer" defStyleNum="dsBaseN" /> <itemData spellChecking="false" name="Hexadecimal Integer" defStyleNum="dsBaseN" />