Basic syntax highlighting
This commit is contained in:
commit
a4fb988ad9
179
wgsl.xml
Normal file
179
wgsl.xml
Normal file
|
|
@ -0,0 +1,179 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE language [
|
||||||
|
]>
|
||||||
|
<language name="WGSL"
|
||||||
|
version="1"
|
||||||
|
kateversion="6.0"
|
||||||
|
section="3D"
|
||||||
|
extensions="*.wgsl"
|
||||||
|
mimetype="text/wgsl"
|
||||||
|
license="LGPLv2+">
|
||||||
|
|
||||||
|
<highlighting>
|
||||||
|
<list name="keyword">
|
||||||
|
<item>alias</item>
|
||||||
|
<item>break</item>
|
||||||
|
<item>case</item>
|
||||||
|
<item>const</item>
|
||||||
|
<item>const_assert</item>
|
||||||
|
<item>continue</item>
|
||||||
|
<item>continuing</item>
|
||||||
|
<item>default</item>
|
||||||
|
<item>diagnostic</item>
|
||||||
|
<item>discard</item>
|
||||||
|
<item>else</item>
|
||||||
|
<item>enable</item>
|
||||||
|
<item>false</item>
|
||||||
|
<item>fn</item>
|
||||||
|
<item>for</item>
|
||||||
|
<item>if</item>
|
||||||
|
<item>let</item>
|
||||||
|
<item>loop</item>
|
||||||
|
<item>override</item>
|
||||||
|
<item>requires</item>
|
||||||
|
<item>return</item>
|
||||||
|
<item>struct</item>
|
||||||
|
<item>switch</item>
|
||||||
|
<item>true</item>
|
||||||
|
<item>var</item>
|
||||||
|
<item>while</item>
|
||||||
|
</list>
|
||||||
|
|
||||||
|
<list name="type">
|
||||||
|
<item>bool</item>
|
||||||
|
<item>f16</item>
|
||||||
|
<item>f32</item>
|
||||||
|
<item>i32</item>
|
||||||
|
<item>u32</item>
|
||||||
|
<item>vec2</item>
|
||||||
|
<item>vec3</item>
|
||||||
|
<item>vec4</item>
|
||||||
|
<item>mat2x2</item>
|
||||||
|
<item>mat2x3</item>
|
||||||
|
<item>mat2x4</item>
|
||||||
|
<item>mat3x2</item>
|
||||||
|
<item>mat3x3</item>
|
||||||
|
<item>mat3x4</item>
|
||||||
|
<item>mat4x2</item>
|
||||||
|
<item>mat4x3</item>
|
||||||
|
<item>mat4x4</item>
|
||||||
|
<item>array</item>
|
||||||
|
</list>
|
||||||
|
|
||||||
|
<list name="attribute">
|
||||||
|
<item>@align</item>
|
||||||
|
<item>@binding</item>
|
||||||
|
<item>@builtin</item>
|
||||||
|
<item>@compute</item>
|
||||||
|
<item>@const</item>
|
||||||
|
<item>@diagnostic</item>
|
||||||
|
<item>@fragment</item>
|
||||||
|
<item>@group</item>
|
||||||
|
<item>@id</item>
|
||||||
|
<item>@interpolate</item>
|
||||||
|
<item>@invariant</item>
|
||||||
|
<item>@location</item>
|
||||||
|
<item>@blend_src</item>
|
||||||
|
<item>@must_use</item>
|
||||||
|
<item>@size</item>
|
||||||
|
<item>@vertex</item>
|
||||||
|
<item>@workgroup_size</item>
|
||||||
|
</list>
|
||||||
|
|
||||||
|
<list name="attribute">
|
||||||
|
<item>@align</item>
|
||||||
|
<item>@binding</item>
|
||||||
|
<item>@builtin</item>
|
||||||
|
<item>@compute</item>
|
||||||
|
<item>@const</item>
|
||||||
|
<item>@diagnostic</item>
|
||||||
|
<item>@fragment</item>
|
||||||
|
<item>@group</item>
|
||||||
|
<item>@id</item>
|
||||||
|
<item>@interpolate</item>
|
||||||
|
<item>@invariant</item>
|
||||||
|
<item>@location</item>
|
||||||
|
<item>@blend_src</item>
|
||||||
|
<item>@must_use</item>
|
||||||
|
<item>@size</item>
|
||||||
|
<item>@vertex</item>
|
||||||
|
<item>@workgroup_size</item>
|
||||||
|
</list>
|
||||||
|
|
||||||
|
<list name="builtin_value_name">
|
||||||
|
<item>vertex_index</item>
|
||||||
|
<item>instance_index</item>
|
||||||
|
<item>position</item>
|
||||||
|
<item>front_facing</item>
|
||||||
|
<item>frag_depth</item>
|
||||||
|
<item>sample_index</item>
|
||||||
|
<item>sample_mask</item>
|
||||||
|
<item>local_invocation_id</item>
|
||||||
|
<item>local_invocation_index</item>
|
||||||
|
<item>global_invocation_id</item>
|
||||||
|
<item>workgroup_id</item>
|
||||||
|
<item>num_workgroups</item>
|
||||||
|
</list>
|
||||||
|
|
||||||
|
<contexts>
|
||||||
|
<context attribute="Normal Text" lineEndContext="#pop" name="Normal">
|
||||||
|
<keyword attribute="Keyword" context="#stay" String="keyword" />
|
||||||
|
<keyword attribute="BuiltIn" context="#stay" String="type" />
|
||||||
|
<DetectChar attribute="Attribute" context="Attribute" char="@" />
|
||||||
|
<RegExpr attribute="Hexadecimal Float" context="#stay" String="\b0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?" />
|
||||||
|
<RegExpr attribute="Hexadecimal Float" context="#stay" String="\b0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?" />
|
||||||
|
<RegExpr attribute="Hexadecimal Float" context="#stay" String="\b0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?" />
|
||||||
|
<RegExpr attribute="Hexadecimal Integer" context="#stay" String="\b0[xX][0-9a-fA-F]+[iu]?" />
|
||||||
|
<RegExpr attribute="Decimal Float" context="#stay" String="\b0[fh]" />
|
||||||
|
<RegExpr attribute="Decimal Float" context="#stay" String="\b[1-9][0-9]*[fh]" />
|
||||||
|
<RegExpr attribute="Decimal Float" context="#stay" String="\b[0-9]+\.[0-9]+([eE][+-]?[0-9]+)?[fh]?" />
|
||||||
|
<RegExpr attribute="Decimal Float" context="#stay" String="\.[0-9]+([eE][+-]?[0-9]+)?[fh]?" />
|
||||||
|
<RegExpr attribute="Decimal Float" context="#stay" String="\b[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?" />
|
||||||
|
<RegExpr attribute="Decimal Float" context="#stay" String="\b[0-9]+[eE][+-]?[0-9]+[fh]?" />
|
||||||
|
<RegExpr attribute="Decimal Integer" context="#stay" String="\b0[iu]?" />
|
||||||
|
<RegExpr attribute="Decimal Integer" context="#stay" String="\b[1-9][0-9]*[iu]?" />
|
||||||
|
<Detect2Chars attribute="Comment" context="LineComment" char="/" char1="/" />
|
||||||
|
<Detect2Chars attribute="Comment" context="MultilineComment" char="/" char1="*" beginRegion="CommentFolding" />
|
||||||
|
</context>
|
||||||
|
<context attribute="Comment" lineEndContext="#pop" name="LineComment">
|
||||||
|
<IncludeRules context="##Alerts" />
|
||||||
|
</context>
|
||||||
|
<context attribute="Comment" lineEndContext="#stay" name="MultilineComment">
|
||||||
|
<Detect2Chars attribute="Comment" context="MultilineComment" char="/" char1="*" beginRegion="CommentFolding" />
|
||||||
|
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentFolding" />
|
||||||
|
<IncludeRules context="##Alerts" />
|
||||||
|
</context>
|
||||||
|
<context attribute="Attribute" lineEndContext="#stay" name="Attribute">
|
||||||
|
<StringDetect attribute="Attribute" context="#pop!AttrBuiltin1" String="builtin" />
|
||||||
|
<keyword attribute="Attribute" context="#pop" String="attribute" />
|
||||||
|
<DetectIdentifier attribute="Attribute" context="#pop" />
|
||||||
|
</context>
|
||||||
|
<context attribute="Normal Text" lineEndContext="#stay" name="AttrBuiltin1">
|
||||||
|
<DetectChar attribute="Attribute" context="#pop!AttrBuiltin2" char="(" />
|
||||||
|
</context>
|
||||||
|
<context attribute="Normal Text" lineEndContext="#stay" name="AttrBuiltin2">
|
||||||
|
<keyword attribute="Attribute" context="#stay" String="builtin_value_name" />
|
||||||
|
<DetectChar attribute="Attribute" context="#pop" char=")" />
|
||||||
|
</context>
|
||||||
|
</contexts>
|
||||||
|
|
||||||
|
<itemDatas>
|
||||||
|
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||||
|
<itemData name="Keyword" defStyleNum="dsKeyword" />
|
||||||
|
<itemData name="BuiltIn" defStyleNum="dsDataType" />
|
||||||
|
<itemData name="Attribute" defStyleNum="dsAttribute" />
|
||||||
|
<itemData name="Comment" defStyleNum="dsComment" />
|
||||||
|
<itemData name="Decimal Integer" defStyleNum="dsDecVal" />
|
||||||
|
<itemData name="Hexadecimal Integer" defStyleNum="dsBaseN" />
|
||||||
|
<itemData name="Decimal Float" defStyleNum="dsFloat" />
|
||||||
|
<itemData name="Hexadecimal Float" defStyleNum="dsFloat" />
|
||||||
|
</itemDatas>
|
||||||
|
</highlighting>
|
||||||
|
|
||||||
|
<general>
|
||||||
|
<comments>
|
||||||
|
<comment name="singleLine" start="//" />
|
||||||
|
<comment name="multiLine" start="/*" end="*/" region="CommentFolding" />
|
||||||
|
</comments>
|
||||||
|
</general>
|
||||||
|
</language>
|
||||||
Loading…
Reference in New Issue
Block a user