Add Razor syntax highlighting definitions

Introduced Razor.xshd files for both dark and light themes to enable syntax highlighting for Razor (.cshtml, .razor) files in the text viewer plugin.
This commit is contained in:
ema
2026-01-16 15:04:29 +08:00
parent d8fbc338ca
commit afca07e348
2 changed files with 208 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<SyntaxDefinition name="Razor" extensions=".cshtml;.razor">
<Environment>
<Default color="#D4D4D4" bgcolor="#1E1E1E"/>
<Selection color="#FFFFFF" bgcolor="#264F78"/>
<LineNumbers color="#858585" bgcolor="#1E1E1E"/>
<CaretMarker color="#AEAFAD"/>
<VRuler color="#3E3E42"/>
<FoldLine color="#5F5F5F" bgcolor="#1E1E1E"/>
<FoldMarker color="#D4D4D4" bgcolor="#1E1E1E"/>
<SelectedFoldLine color="#D4D4D4" bgcolor="#1E1E1E"/>
<EOLMarkers color="#3E3E42"/>
<SpaceMarkers color="#3E3E42"/>
<TabMarkers color="#3E3E42"/>
<InvalidLines color="#3E3E42"/>
</Environment>
<Properties>
<Property name="BlockCommentBegin" value="&lt;!--"/>
<Property name="BlockCommentEnd" value="--&gt;"/>
</Properties>
<Digits name="Digits" color="#B5CEA8" bold="false" italic="false"/>
<RuleSets>
<RuleSet ignorecase="true">
<Delimiters></Delimiters>
<Span name="BlockComment" stopateol="false" color="#6A9955" bold="false" italic="false">
<Begin>&lt;!--</Begin>
<End>--&gt;</End>
</Span>
<Span name="RazorComment" stopateol="false" color="#6A9955" bold="false" italic="false">
<Begin>\x40\*</Begin>
<End>\*\x40</End>
</Span>
<Span name="RazorCodeBlock" rule="CSharpSet" stopateol="false" color="#D4D4D4" bold="false" italic="false">
<Begin>\x40\{</Begin>
<End>}</End>
</Span>
<Span name="RazorInlineExpression" rule="CSharpSet" stopateol="false" color="#D4D4D4" bold="false" italic="false">
<Begin>\x40\()</Begin>
<End>\)</End>
</Span>
<Span name="ScriptTag" rule="JavaScriptSet" stopateol="false" color="#D4D4D4" bold="false" italic="false">
<Begin color="#569CD6">&lt;script&gt;</Begin>
<End color="#569CD6">&lt;/script&gt;</End>
</Span>
<Span name="HtmlTag" rule="HtmlTagSet" stopateol="false" color="#569CD6" bold="false" italic="false">
<Begin>&lt;</Begin>
<End>&gt;</End>
</Span>
<Span name="Entity" stopateol="true" color="#D4D4D4" bgcolor="#1E1E1E" bold="false" italic="true">
<Begin bgcolor="#1E1E1E">&amp;</Begin>
<End bgcolor="#1E1E1E">;</End>
</Span>
<KeyWords name="At" color="#569CD6" bold="false" italic="false">
<Key word="@"/>
</KeyWords>
</RuleSet>
<RuleSet name="JavaScriptSet" reference="JavaScript"/>
<RuleSet name="CSharpSet" reference="C#"/>
<RuleSet name="HtmlTagSet" ignorecase="false">
<Delimiters>/=</Delimiters>
<Span name="String" stopateol="true" color="#CE9178" bold="false" italic="false">
<Begin>"</Begin>
<End>"</End>
</Span>
<Span name="Char" stopateol="true" color="#CE9178" bold="false" italic="false">
<Begin>'</Begin>
<End>'</End>
</Span>
<MarkPrevious color="#9CDCFE" bold="false" italic="false">=</MarkPrevious>
<KeyWords name="Slash" color="#569CD6" bold="false" italic="false">
<Key word="/"/>
</KeyWords>
<KeyWords name="Assignment" color="#D4D4D4" bold="false" italic="false">
<Key word="="/>
</KeyWords>
<KeyWords name="At" color="#569CD6" bold="false" italic="false">
<Key word="@"/>
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition>

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<SyntaxDefinition name="Razor" extensions=".cshtml;.razor">
<Environment>
<Default color="Black" bgcolor="#FFFFFF"/>
<Selection color="Black" bgcolor="#C3C3FF"/>
<LineNumbers color="Gray" bgcolor="#FFFFFF"/>
<CaretMarker color="#F0F0F1"/>
<VRuler color="#E0E0E5"/>
<FoldLine color="#A0A0A0" bgcolor="#FFFFFF"/>
<FoldMarker color="Black" bgcolor="#FFFFFF"/>
<SelectedFoldLine color="Black" bgcolor="#FFFFFF"/>
<EOLMarkers color="#CACAD2"/>
<SpaceMarkers color="#B6B6C0"/>
<TabMarkers color="#B6B6C0"/>
<InvalidLines color="#B6B6C0"/>
</Environment>
<Properties>
<Property name="BlockCommentBegin" value="&lt;!--"/>
<Property name="BlockCommentEnd" value="--&gt;"/>
</Properties>
<Digits name="Digits" color="Black" bold="false" italic="false"/>
<RuleSets>
<RuleSet ignorecase="true">
<Delimiters></Delimiters>
<Span name="BlockComment" stopateol="false" color="Green" bold="false" italic="false">
<Begin>&lt;!--</Begin>
<End>--&gt;</End>
</Span>
<Span name="RazorComment" stopateol="false" color="Green" bold="false" italic="false">
<Begin>\x40\*</Begin>
<End>\*\x40</End>
</Span>
<Span name="RazorCodeBlock" rule="CSharpSet" stopateol="false" color="Black" bold="false" italic="false">
<Begin>\x40\{</Begin>
<End>}</End>
</Span>
<Span name="RazorInlineExpression" rule="CSharpSet" stopateol="false" color="Black" bold="false" italic="false">
<Begin>\x40\()</Begin>
<End>\)</End>
</Span>
<Span name="ScriptTag" rule="JavaScriptSet" stopateol="false" color="Black" bold="false" italic="false">
<Begin color="DarkMagenta">&lt;script&gt;</Begin>
<End color="DarkMagenta">&lt;/script&gt;</End>
</Span>
<Span name="HtmlTag" rule="HtmlTagSet" stopateol="false" color="DarkMagenta" bold="false" italic="false">
<Begin>&lt;</Begin>
<End>&gt;</End>
</Span>
<Span name="Entity" stopateol="true" color="Black" bgcolor="#FEFDE0" bold="false" italic="true">
<Begin bgcolor="#FEFDE0">&amp;</Begin>
<End bgcolor="#FEFDE0">;</End>
</Span>
<KeyWords name="At" color="DarkMagenta" bold="false" italic="false">
<Key word="@"/>
</KeyWords>
</RuleSet>
<RuleSet name="JavaScriptSet" reference="JavaScript"/>
<RuleSet name="CSharpSet" reference="C#"/>
<RuleSet name="HtmlTagSet" ignorecase="false">
<Delimiters>/=</Delimiters>
<Span name="String" stopateol="true" color="#0451A5" bold="false" italic="false">
<Begin>"</Begin>
<End>"</End>
</Span>
<Span name="Char" stopateol="true" color="Blue" bold="false" italic="false">
<Begin>'</Begin>
<End>'</End>
</Span>
<MarkPrevious color="Red" bold="false" italic="false">=</MarkPrevious>
<KeyWords name="Slash" color="DarkMagenta" bold="false" italic="false">
<Key word="/"/>
</KeyWords>
<KeyWords name="Assignment" color="Black" bold="false" italic="false">
<Key word="="/>
</KeyWords>
<KeyWords name="At" color="DarkMagenta" bold="false" italic="false">
<Key word="@"/>
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition>